mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
staging: wilc1000: avoid twice IRQ handler execution for each single interrupt
The IRQ handler(isr_bh_routine()) was called twice for each interrupt from firmware. The data was read completely during the first call and the second call was doing nothing. Now changed the IRQ flag from ‘level’ to ‘edge’ trigger i.e IRQF_TRIGGER_LOW to IRQF_TRIGGER_FALLING to avoid extra interrupt trigger. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Link: https://lore.kernel.org/r/20190910074514.3073-2-ajay.kathat@microchip.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a76e712a5a
commit
9a4c56be67
@ -60,7 +60,7 @@ static int init_irq(struct net_device *dev)
|
||||
|
||||
ret = request_threaded_irq(wl->dev_irq_num, isr_uh_routine,
|
||||
isr_bh_routine,
|
||||
IRQF_TRIGGER_LOW | IRQF_ONESHOT,
|
||||
IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
|
||||
"WILC_IRQ", dev);
|
||||
if (ret < 0)
|
||||
netdev_err(dev, "Failed to request IRQ\n");
|
||||
|
Loading…
Reference in New Issue
Block a user