diff options
Diffstat (limited to 'drivers/uio/uio.c')
| -rw-r--r-- | drivers/uio/uio.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c index 85644669fbe7..0a357db4b31b 100644 --- a/drivers/uio/uio.c +++ b/drivers/uio/uio.c @@ -961,6 +961,8 @@ int __uio_register_device(struct module *owner,  	if (ret)  		goto err_uio_dev_add_attributes; +	info->uio_dev = idev; +  	if (info->irq && (info->irq != UIO_IRQ_CUSTOM)) {  		/*  		 * Note that we deliberately don't use devm_request_irq @@ -972,11 +974,12 @@ int __uio_register_device(struct module *owner,  		 */  		ret = request_irq(info->irq, uio_interrupt,  				  info->irq_flags, info->name, idev); -		if (ret) +		if (ret) { +			info->uio_dev = NULL;  			goto err_request_irq; +		}  	} -	info->uio_dev = idev;  	return 0;  err_request_irq: | 
