mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-02 18:36:45 +07:00
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:1fd2794f36
13f2dc52c6
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Acked-by: Kalle Valo <kvalo@adurom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
8d5ad08525
commit
d41776fad4
@ -293,14 +293,14 @@ static void wl1251_irq_work(struct work_struct *work)
|
||||
wl1251_tx_complete(wl);
|
||||
}
|
||||
|
||||
if (intr & (WL1251_ACX_INTR_EVENT_A |
|
||||
WL1251_ACX_INTR_EVENT_B)) {
|
||||
wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT (0x%x)",
|
||||
intr);
|
||||
if (intr & WL1251_ACX_INTR_EVENT_A)
|
||||
wl1251_event_handle(wl, 0);
|
||||
else
|
||||
wl1251_event_handle(wl, 1);
|
||||
if (intr & WL1251_ACX_INTR_EVENT_A) {
|
||||
wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_A");
|
||||
wl1251_event_handle(wl, 0);
|
||||
}
|
||||
|
||||
if (intr & WL1251_ACX_INTR_EVENT_B) {
|
||||
wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_B");
|
||||
wl1251_event_handle(wl, 1);
|
||||
}
|
||||
|
||||
if (intr & WL1251_ACX_INTR_INIT_COMPLETE)
|
||||
|
Loading…
Reference in New Issue
Block a user