diff options
author | Xiubo Li <xiubli@redhat.com> | 2018-08-12 07:58:23 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-08-12 11:30:58 -0400 |
commit | 3d27c4de8d4fb2d4099ff324671792aa2578c6f9 (patch) | |
tree | 1a1a2fcdef2d68b6f9620a3798f523271c6af18a /drivers/uio | |
parent | 9d3cce1e8b8561fed5f383d22a4d6949db4eadbe (diff) |
Revert "uio: use request_threaded_irq instead"
Since mutex lock in irq hanler is useless currently, here will
remove it together with it.
This reverts commit 9421e45f5ff3d558cf8b75a8cc0824530caf3453.
Reported-by: james.r.harris@intel.com
CC: Ahsan Atta <ahsan.atta@intel.com>
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/uio')
-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 5d421d7e8904..d7fb49366e78 100644 --- a/drivers/uio/uio.c +++ b/drivers/uio/uio.c | |||
@@ -443,13 +443,10 @@ static irqreturn_t uio_interrupt(int irq, void *dev_id) | |||
443 | struct uio_device *idev = (struct uio_device *)dev_id; | 443 | struct uio_device *idev = (struct uio_device *)dev_id; |
444 | irqreturn_t ret; | 444 | irqreturn_t ret; |
445 | 445 | ||
446 | mutex_lock(&idev->info_lock); | ||
447 | |||
448 | ret = idev->info->handler(irq, idev->info); | 446 | ret = idev->info->handler(irq, idev->info); |
449 | if (ret == IRQ_HANDLED) | 447 | if (ret == IRQ_HANDLED) |
450 | uio_event_notify(idev->info); | 448 | uio_event_notify(idev->info); |
451 | 449 | ||
452 | mutex_unlock(&idev->info_lock); | ||
453 | return ret; | 450 | return ret; |
454 | } | 451 | } |
455 | 452 | ||
@@ -969,9 +966,8 @@ int __uio_register_device(struct module *owner, | |||
969 | * FDs at the time of unregister and therefore may not be | 966 | * FDs at the time of unregister and therefore may not be |
970 | * freed until they are released. | 967 | * freed until they are released. |
971 | */ | 968 | */ |
972 | ret = request_threaded_irq(info->irq, NULL, uio_interrupt, | 969 | ret = request_irq(info->irq, uio_interrupt, |
973 | info->irq_flags, info->name, idev); | 970 | info->irq_flags, info->name, idev); |
974 | |||
975 | if (ret) | 971 | if (ret) |
976 | goto err_request_irq; | 972 | goto err_request_irq; |
977 | } | 973 | } |