staging: r8188eu: don't restart WPS blinking unnecessarily
Simplify one of the cases in rtw_led_control. If we're already blinking during WPS, we don't have to restart this blinking when the caller requests it again. We can simply return and keep on blinking. Tested-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220905200146.82259-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d25cb8382a
commit
a5f01428bb
@ -309,31 +309,32 @@ void rtw_led_control(struct adapter *padapter, enum LED_CTL_MODE LedAction)
|
||||
}
|
||||
break;
|
||||
case LED_CTL_START_WPS: /* wait until xinpin finish */
|
||||
if (!pLed->bLedWPSBlinkInProgress) {
|
||||
if (pLed->bLedNoLinkBlinkInProgress) {
|
||||
cancel_delayed_work(&pLed->blink_work);
|
||||
pLed->bLedNoLinkBlinkInProgress = false;
|
||||
}
|
||||
if (pLed->bLedLinkBlinkInProgress) {
|
||||
cancel_delayed_work(&pLed->blink_work);
|
||||
pLed->bLedLinkBlinkInProgress = false;
|
||||
}
|
||||
if (pLed->bLedBlinkInProgress) {
|
||||
cancel_delayed_work(&pLed->blink_work);
|
||||
pLed->bLedBlinkInProgress = false;
|
||||
}
|
||||
if (pLed->bLedScanBlinkInProgress) {
|
||||
cancel_delayed_work(&pLed->blink_work);
|
||||
pLed->bLedScanBlinkInProgress = false;
|
||||
}
|
||||
pLed->bLedWPSBlinkInProgress = true;
|
||||
pLed->CurrLedState = LED_BLINK_WPS;
|
||||
if (pLed->bLedOn)
|
||||
pLed->BlinkingLedState = RTW_LED_OFF;
|
||||
else
|
||||
pLed->BlinkingLedState = RTW_LED_ON;
|
||||
schedule_delayed_work(&pLed->blink_work, LED_BLINK_SCAN_INTVL);
|
||||
if (pLed->bLedWPSBlinkInProgress)
|
||||
return;
|
||||
|
||||
if (pLed->bLedNoLinkBlinkInProgress) {
|
||||
cancel_delayed_work(&pLed->blink_work);
|
||||
pLed->bLedNoLinkBlinkInProgress = false;
|
||||
}
|
||||
if (pLed->bLedLinkBlinkInProgress) {
|
||||
cancel_delayed_work(&pLed->blink_work);
|
||||
pLed->bLedLinkBlinkInProgress = false;
|
||||
}
|
||||
if (pLed->bLedBlinkInProgress) {
|
||||
cancel_delayed_work(&pLed->blink_work);
|
||||
pLed->bLedBlinkInProgress = false;
|
||||
}
|
||||
if (pLed->bLedScanBlinkInProgress) {
|
||||
cancel_delayed_work(&pLed->blink_work);
|
||||
pLed->bLedScanBlinkInProgress = false;
|
||||
}
|
||||
pLed->bLedWPSBlinkInProgress = true;
|
||||
pLed->CurrLedState = LED_BLINK_WPS;
|
||||
if (pLed->bLedOn)
|
||||
pLed->BlinkingLedState = RTW_LED_OFF;
|
||||
else
|
||||
pLed->BlinkingLedState = RTW_LED_ON;
|
||||
schedule_delayed_work(&pLed->blink_work, LED_BLINK_SCAN_INTVL);
|
||||
break;
|
||||
case LED_CTL_STOP_WPS:
|
||||
if (pLed->bLedNoLinkBlinkInProgress) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user