[media] staging: lirc_serial: Do not assume error codes returned by request_irq()
lirc_serial_probe() must fail if request_irq() returns an error, even if it isn't EBUSY or EINVAL, Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
9b98d60679
commit
affc9a0d59
|
@ -843,18 +843,15 @@ static int __devinit lirc_serial_probe(struct platform_device *dev)
|
|||
result = request_irq(irq, irq_handler,
|
||||
(share_irq ? IRQF_SHARED : 0),
|
||||
LIRC_DRIVER_NAME, (void *)&hardware);
|
||||
|
||||
switch (result) {
|
||||
case -EBUSY:
|
||||
printk(KERN_ERR LIRC_DRIVER_NAME ": IRQ %d busy\n", irq);
|
||||
return -EBUSY;
|
||||
case -EINVAL:
|
||||
printk(KERN_ERR LIRC_DRIVER_NAME
|
||||
": Bad irq number or handler\n");
|
||||
return -EINVAL;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
if (result < 0) {
|
||||
if (result == -EBUSY)
|
||||
printk(KERN_ERR LIRC_DRIVER_NAME ": IRQ %d busy\n",
|
||||
irq);
|
||||
else if (result == -EINVAL)
|
||||
printk(KERN_ERR LIRC_DRIVER_NAME
|
||||
": Bad irq number or handler\n");
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Reserve io region. */
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue