diff options
author | Grazvydas Ignotas <notasas@gmail.com> | 2010-08-17 15:46:53 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-24 16:32:03 -0400 |
commit | d41776fad4c6601c1711d4e454291efd6687addb (patch) | |
tree | 213e1c1576cdcfcda25bd352e6cabec200828f38 /drivers/net | |
parent | 8d5ad08525f1a8e0484d125ba155dbd3c3282ab8 (diff) |
wl1251: fix event handling mechanism
In case both A and B events occured simultaneously, current code
would only process A and clear both interrupts. Make it process both
events instead.
Based on wl1271 patches by Juuso Oikarinen:
1fd2794f36913992798184c464fe8f85753b13e0
13f2dc52c69bcca074cd12d4806953b2af45c386
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1251_main.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1251_main.c b/drivers/net/wireless/wl12xx/wl1251_main.c index 6d31c855fcfe..51474b697c1a 100644 --- a/drivers/net/wireless/wl12xx/wl1251_main.c +++ b/drivers/net/wireless/wl12xx/wl1251_main.c | |||
@@ -293,14 +293,14 @@ static void wl1251_irq_work(struct work_struct *work) | |||
293 | wl1251_tx_complete(wl); | 293 | wl1251_tx_complete(wl); |
294 | } | 294 | } |
295 | 295 | ||
296 | if (intr & (WL1251_ACX_INTR_EVENT_A | | 296 | if (intr & WL1251_ACX_INTR_EVENT_A) { |
297 | WL1251_ACX_INTR_EVENT_B)) { | 297 | wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_A"); |
298 | wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT (0x%x)", | 298 | wl1251_event_handle(wl, 0); |
299 | intr); | 299 | } |
300 | if (intr & WL1251_ACX_INTR_EVENT_A) | 300 | |
301 | wl1251_event_handle(wl, 0); | 301 | if (intr & WL1251_ACX_INTR_EVENT_B) { |
302 | else | 302 | wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_B"); |
303 | wl1251_event_handle(wl, 1); | 303 | wl1251_event_handle(wl, 1); |
304 | } | 304 | } |
305 | 305 | ||
306 | if (intr & WL1251_ACX_INTR_INIT_COMPLETE) | 306 | if (intr & WL1251_ACX_INTR_INIT_COMPLETE) |