Commit cb2b3460 authored by Martin Kaiser's avatar Martin Kaiser Committed by Greg Kroah-Hartman
Browse files

staging: r8188eu: cancel blink_work during wps stop



We can always cancel blink_work during wps_stop. The blinking pattern will
be updated to show that wps was successful. Another worker will be started
for this.

Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Signed-off-by: default avatarMartin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220918175700.215170-2-martin@kaiser.cx


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9512d5f8
Loading
Loading
Loading
Loading
+12 −15
Original line number Diff line number Diff line
@@ -322,26 +322,23 @@ void rtw_led_control(struct adapter *padapter, enum LED_CTL_MODE LedAction)
		schedule_delayed_work(&pLed->blink_work, LED_BLINK_SCAN_INTVL);
		break;
	case LED_CTL_STOP_WPS:
		if (pLed->bLedNoLinkBlinkInProgress) {
		cancel_delayed_work(&pLed->blink_work);

		if (pLed->bLedNoLinkBlinkInProgress)
			pLed->bLedNoLinkBlinkInProgress = false;
		}
		if (pLed->bLedLinkBlinkInProgress) {
			cancel_delayed_work(&pLed->blink_work);

		if (pLed->bLedLinkBlinkInProgress)
			pLed->bLedLinkBlinkInProgress = false;
		}
		if (pLed->bLedBlinkInProgress) {
			cancel_delayed_work(&pLed->blink_work);

		if (pLed->bLedBlinkInProgress)
			pLed->bLedBlinkInProgress = false;
		}
		if (pLed->bLedScanBlinkInProgress) {
			cancel_delayed_work(&pLed->blink_work);

		if (pLed->bLedScanBlinkInProgress)
			pLed->bLedScanBlinkInProgress = false;
		}
		if (pLed->bLedWPSBlinkInProgress)
			cancel_delayed_work(&pLed->blink_work);
		else

		if (!pLed->bLedWPSBlinkInProgress)
			pLed->bLedWPSBlinkInProgress = true;

		pLed->CurrLedState = LED_BLINK_WPS_STOP;
		if (pLed->bLedOn) {
			pLed->BlinkingLedState = RTW_LED_OFF;