Only set dev->irq if request_irq is successfull.

Remove the kernel message noise.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/s626.c | 23 ++++++++---------------
 1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/comedi/drivers/s626.c 
b/drivers/staging/comedi/drivers/s626.c
index 61bb8ab..4ad3f27 100644
--- a/drivers/staging/comedi/drivers/s626.c
+++ b/drivers/staging/comedi/drivers/s626.c
@@ -2503,25 +2503,18 @@ static int s626_attach_pci(struct comedi_device *dev, 
struct pci_dev *pcidev)
        if (ret)
                return ret;
 
-       ret = comedi_alloc_subdevices(dev, 6);
-       if (ret)
-               return ret;
-
-       dev->irq = pcidev->irq;
-
-       /* set up interrupt handler */
-       if (dev->irq == 0) {
-               printk(KERN_ERR " unknown irq (bad)\n");
-       } else {
-               ret = request_irq(dev->irq, s626_irq_handler, IRQF_SHARED,
+       if (pcidev->irq) {
+               ret = request_irq(pcidev->irq, s626_irq_handler, IRQF_SHARED,
                                  dev->board_name, dev);
 
-               if (ret < 0) {
-                       printk(KERN_ERR " irq not available\n");
-                       dev->irq = 0;
-               }
+               if (ret == 0)
+                       dev->irq = pcidev->irq;
        }
 
+       ret = comedi_alloc_subdevices(dev, 6);
+       if (ret)
+               return ret;
+
        s = dev->subdevices + 0;
        /* analog input subdevice */
        dev->read_subdev = s;
-- 
1.7.11

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to