Char/Misc fix for 4.19-rc1
Here is a single UIO fix that I forgot to send before 4.18-final came out. It reverts a UIO patch that went in the 4.18 development window that was causing problems. This patch has been in linux-next for a while with no problems, I just forgot to send it earlier, or as part of the larger char/misc patch series from yesterday, my fault. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCW3lokw8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ymlJwCffbvocPiOF5zOkb2P4hwRin8W5hcAnizy8C2c 2K8hWX6Rxo+Gt/O1mO5K =R2To -----END PGP SIGNATURE----- Merge tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull UIO fix from Greg KH: "Here is a single UIO fix that I forgot to send before 4.18-final came out. It reverts a UIO patch that went in the 4.18 development window that was causing problems. This patch has been in linux-next for a while with no problems, I just forgot to send it earlier, or as part of the larger char/misc patch series from yesterday, my fault" * tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: Revert "uio: use request_threaded_irq instead"hifive-unleashed-5.1
commit
1d0926e99d
|
@ -442,13 +442,10 @@ static irqreturn_t uio_interrupt(int irq, void *dev_id)
|
||||||
struct uio_device *idev = (struct uio_device *)dev_id;
|
struct uio_device *idev = (struct uio_device *)dev_id;
|
||||||
irqreturn_t ret;
|
irqreturn_t ret;
|
||||||
|
|
||||||
mutex_lock(&idev->info_lock);
|
|
||||||
|
|
||||||
ret = idev->info->handler(irq, idev->info);
|
ret = idev->info->handler(irq, idev->info);
|
||||||
if (ret == IRQ_HANDLED)
|
if (ret == IRQ_HANDLED)
|
||||||
uio_event_notify(idev->info);
|
uio_event_notify(idev->info);
|
||||||
|
|
||||||
mutex_unlock(&idev->info_lock);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -962,9 +959,8 @@ int __uio_register_device(struct module *owner,
|
||||||
* FDs at the time of unregister and therefore may not be
|
* FDs at the time of unregister and therefore may not be
|
||||||
* freed until they are released.
|
* freed until they are released.
|
||||||
*/
|
*/
|
||||||
ret = request_threaded_irq(info->irq, NULL, uio_interrupt,
|
ret = request_irq(info->irq, uio_interrupt,
|
||||||
info->irq_flags, info->name, idev);
|
info->irq_flags, info->name, idev);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_request_irq;
|
goto err_request_irq;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue