uio: don't free irq that was not requested
PATCH 1/1 uio: don't free irq that was not requested
UIO base driver should only free_irq that it has requested. UIO supports drivers without interrupts (irq == 0) or custom handlers.
This fixes warnings like:
WARNING: CPU: 1 PID: 5478 at kernel/irq/manage.c:1244 __free_irq+0xa9/0x1e0()
Trying to free already-free IRQ 0
Signed-off-by Stephen Hemminger <[email protected]>
drivers/uio/uio.c +2 -1
@@ -879,7 +879,8 @@ void uio_unregister_device(struct uio_inuio_dev_del_attributes (idev); -free_irq (idev->info->irq, idev); +if (info->irq && info->irq !=UIO_IRQ_CUSTOM ) +free_irq (info->irq, idev);device_destroy (&uio_class,MKDEV (uio_major, idev->minor));