staging: r8188eu: summarize tx/rx and scan blinking
authorMartin Kaiser <martin@kaiser.cx>
Sat, 15 Oct 2022 15:11:15 +0000 (17:11 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Oct 2022 15:41:42 +0000 (17:41 +0200)
Summarize the code for tx/rx blinking and for scan blinking in blink_work.
The only difference is the delay for scheduling the next worker.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Link: https://lore.kernel.org/r/20221015151115.232095-11-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_led.c

index f8bd183..ce8de2e 100644 (file)
@@ -81,21 +81,6 @@ static void blink_work(struct work_struct *work)
                schedule_delayed_work(&pLed->blink_work, LED_BLINK_LINK_INTVL);
                break;
        case LED_BLINK_SCAN:
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0) {
-                       if (check_fwstate(pmlmepriv, _FW_LINKED)) {
-                               pLed->CurrLedState = LED_BLINK_NORMAL;
-                               schedule_delayed_work(&pLed->blink_work, LED_BLINK_LINK_INTVL);
-                       } else {
-                               pLed->CurrLedState = LED_BLINK_SLOWLY;
-                               schedule_delayed_work(&pLed->blink_work, LED_BLINK_NO_LINK_INTVL);
-                       }
-                       pLed->bLedBlinkInProgress = false;
-                       pLed->bLedScanBlinkInProgress = false;
-               } else {
-                       schedule_delayed_work(&pLed->blink_work, LED_BLINK_SCAN_INTVL);
-               }
-               break;
        case LED_BLINK_TXRX:
                pLed->BlinkTimes--;
                if (pLed->BlinkTimes == 0) {
@@ -109,7 +94,9 @@ static void blink_work(struct work_struct *work)
                        pLed->bLedBlinkInProgress = false;
                        pLed->bLedScanBlinkInProgress = false;
                } else {
-                       schedule_delayed_work(&pLed->blink_work, LED_BLINK_FASTER_INTVL);
+                       schedule_delayed_work(&pLed->blink_work,
+                                             pLed->CurrLedState == LED_BLINK_SCAN ?
+                                             LED_BLINK_SCAN_INTVL : LED_BLINK_FASTER_INTVL);
                }
                break;
        case LED_BLINK_WPS: