[media] Fixed misleading error when handling IR interrupts
authorLuis Alves <ljalvs@gmail.com>
Thu, 11 Jul 2013 15:02:44 +0000 (12:02 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Sat, 24 Aug 2013 08:05:26 +0000 (05:05 -0300)
Hi,
Handling the AV Core/IR interrupts schedules its workqueue but
the schedule_work function returns false if @work was already on the
kernel-global workqueue and true otherwise.
Printing an error message if @work wasn't in the queue is wrong.
Regards,
Luis

Signed-off-by: Luis Alves <ljalvs@gmail.com>
Acked-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/pci/cx23885/cx23885-core.c

index 268654ac9a9f8b38661af386b6700ba3900d84b3..9f63d93239ec9d279f1de77952e6459ee40389fc 100644 (file)
@@ -1941,10 +1941,7 @@ static irqreturn_t cx23885_irq(int irq, void *dev_id)
 
        if ((pci_status & pci_mask) & PCI_MSK_AV_CORE) {
                cx23885_irq_disable(dev, PCI_MSK_AV_CORE);
-               if (!schedule_work(&dev->cx25840_work))
-                       printk(KERN_ERR "%s: failed to set up deferred work for"
-                              " AV Core/IR interrupt. Interrupt is disabled"
-                              " and won't be re-enabled\n", dev->name);
+               schedule_work(&dev->cx25840_work);
                handled++;
        }