diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-19 18:30:44 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-19 18:30:44 +0200 |
commit | 1d0926e99de7b486321e3db924b445531eea5e18 (patch) | |
tree | 5c0b4d166b8182abd6eece4746f877a41d8156c3 /drivers/uio/uio.c | |
parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dto... (diff) | |
parent | Revert "uio: use request_threaded_irq instead" (diff) | |
download | linux-1d0926e99de7b486321e3db924b445531eea5e18.tar.xz linux-1d0926e99de7b486321e3db924b445531eea5e18.zip |
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"
Diffstat (limited to 'drivers/uio/uio.c')
-rw-r--r-- | drivers/uio/uio.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c index 15ad3469660d..70a7981b94b3 100644 --- a/drivers/uio/uio.c +++ b/drivers/uio/uio.c @@ -442,13 +442,10 @@ static irqreturn_t uio_interrupt(int irq, void *dev_id) struct uio_device *idev = (struct uio_device *)dev_id; irqreturn_t ret; - mutex_lock(&idev->info_lock); - ret = idev->info->handler(irq, idev->info); if (ret == IRQ_HANDLED) uio_event_notify(idev->info); - mutex_unlock(&idev->info_lock); return ret; } @@ -962,9 +959,8 @@ int __uio_register_device(struct module *owner, * FDs at the time of unregister and therefore may not be * freed until they are released. */ - ret = request_threaded_irq(info->irq, NULL, uio_interrupt, - info->irq_flags, info->name, idev); - + ret = request_irq(info->irq, uio_interrupt, + info->irq_flags, info->name, idev); if (ret) goto err_request_irq; } |