Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d41776fa authored by Grazvydas Ignotas's avatar Grazvydas Ignotas Committed by John W. Linville
Browse files

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:
1fd2794f
13f2dc52

Signed-off-by: default avatarGrazvydas Ignotas <notasas@gmail.com>
Acked-by: default avatarKalle Valo <kvalo@adurom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 8d5ad085
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -293,13 +293,13 @@ 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)
		if (intr & WL1251_ACX_INTR_EVENT_A) {
			wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_A");
			wl1251_event_handle(wl, 0);
			else
		}

		if (intr & WL1251_ACX_INTR_EVENT_B) {
			wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_B");
			wl1251_event_handle(wl, 1);
		}