From nobody Fri Apr 3 00:52:07 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A6B7CECAAD8 for ; Sun, 18 Sep 2022 17:57:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229647AbiIRR5P (ORCPT ); Sun, 18 Sep 2022 13:57:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34158 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229542AbiIRR5N (ORCPT ); Sun, 18 Sep 2022 13:57:13 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8FF4815FF9 for ; Sun, 18 Sep 2022 10:57:11 -0700 (PDT) Received: from dslb-188-096-149-102.188.096.pools.vodafone-ip.de ([188.96.149.102] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oZyXT-0006VL-Ex; Sun, 18 Sep 2022 19:57:07 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 1/6] staging: r8188eu: cancel blink_work during wps stop Date: Sun, 18 Sep 2022 19:56:55 +0200 Message-Id: <20220918175700.215170-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220918175700.215170-1-martin@kaiser.cx> References: <20220918175700.215170-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" 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. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_led.c | 27 ++++++++++++-------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_led.c b/drivers/staging/r8188= eu/core/rtw_led.c index 98eebe3e4119..389fb2cc7379 100644 --- a/drivers/staging/r8188eu/core/rtw_led.c +++ b/drivers/staging/r8188eu/core/rtw_led.c @@ -322,26 +322,23 @@ void rtw_led_control(struct adapter *padapter, enum L= ED_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); + cancel_delayed_work(&pLed->blink_work); + + if (pLed->bLedNoLinkBlinkInProgress) pLed->bLedNoLinkBlinkInProgress =3D false; - } - if (pLed->bLedLinkBlinkInProgress) { - cancel_delayed_work(&pLed->blink_work); + + if (pLed->bLedLinkBlinkInProgress) pLed->bLedLinkBlinkInProgress =3D false; - } - if (pLed->bLedBlinkInProgress) { - cancel_delayed_work(&pLed->blink_work); + + if (pLed->bLedBlinkInProgress) pLed->bLedBlinkInProgress =3D false; - } - if (pLed->bLedScanBlinkInProgress) { - cancel_delayed_work(&pLed->blink_work); + + if (pLed->bLedScanBlinkInProgress) pLed->bLedScanBlinkInProgress =3D false; - } - if (pLed->bLedWPSBlinkInProgress) - cancel_delayed_work(&pLed->blink_work); - else + + if (!pLed->bLedWPSBlinkInProgress) pLed->bLedWPSBlinkInProgress =3D true; + pLed->CurrLedState =3D LED_BLINK_WPS_STOP; if (pLed->bLedOn) { pLed->BlinkingLedState =3D RTW_LED_OFF; --=20 2.30.2 From nobody Fri Apr 3 00:52:07 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D86FAC32771 for ; Sun, 18 Sep 2022 17:57:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229562AbiIRR5V (ORCPT ); Sun, 18 Sep 2022 13:57:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34176 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229578AbiIRR5O (ORCPT ); Sun, 18 Sep 2022 13:57:14 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2E97E1659B for ; Sun, 18 Sep 2022 10:57:13 -0700 (PDT) Received: from dslb-188-096-149-102.188.096.pools.vodafone-ip.de ([188.96.149.102] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oZyXU-0006VL-C6; Sun, 18 Sep 2022 19:57:08 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 2/6] staging: r8188eu: update status before wps success blinking Date: Sun, 18 Sep 2022 19:56:56 +0200 Message-Id: <20220918175700.215170-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220918175700.215170-1-martin@kaiser.cx> References: <20220918175700.215170-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Always update the status variables in rtw_led_control when we start blinking to show that wps was successful. The if statements are not necessary. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_led.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_led.c b/drivers/staging/r8188= eu/core/rtw_led.c index 389fb2cc7379..eac35f048f52 100644 --- a/drivers/staging/r8188eu/core/rtw_led.c +++ b/drivers/staging/r8188eu/core/rtw_led.c @@ -324,20 +324,11 @@ void rtw_led_control(struct adapter *padapter, enum L= ED_CTL_MODE LedAction) case LED_CTL_STOP_WPS: cancel_delayed_work(&pLed->blink_work); =20 - if (pLed->bLedNoLinkBlinkInProgress) - pLed->bLedNoLinkBlinkInProgress =3D false; - - if (pLed->bLedLinkBlinkInProgress) - pLed->bLedLinkBlinkInProgress =3D false; - - if (pLed->bLedBlinkInProgress) - pLed->bLedBlinkInProgress =3D false; - - if (pLed->bLedScanBlinkInProgress) - pLed->bLedScanBlinkInProgress =3D false; - - if (!pLed->bLedWPSBlinkInProgress) - pLed->bLedWPSBlinkInProgress =3D true; + pLed->bLedNoLinkBlinkInProgress =3D false; + pLed->bLedLinkBlinkInProgress =3D false; + pLed->bLedBlinkInProgress =3D false; + pLed->bLedScanBlinkInProgress =3D false; + pLed->bLedWPSBlinkInProgress =3D true; =20 pLed->CurrLedState =3D LED_BLINK_WPS_STOP; if (pLed->bLedOn) { --=20 2.30.2 From nobody Fri Apr 3 00:52:07 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 21F60ECAAD8 for ; Sun, 18 Sep 2022 17:57:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229578AbiIRR5Z (ORCPT ); Sun, 18 Sep 2022 13:57:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34178 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229613AbiIRR5O (ORCPT ); Sun, 18 Sep 2022 13:57:14 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2E93316598 for ; Sun, 18 Sep 2022 10:57:13 -0700 (PDT) Received: from dslb-188-096-149-102.188.096.pools.vodafone-ip.de ([188.96.149.102] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oZyXV-0006VL-CY; Sun, 18 Sep 2022 19:57:09 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 3/6] staging: r8188eu: remove bLedNoLinkBlinkInProgress Date: Sun, 18 Sep 2022 19:56:57 +0200 Message-Id: <20220918175700.215170-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220918175700.215170-1-martin@kaiser.cx> References: <20220918175700.215170-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Remove the bLedNoLinkBlinkInProgress state variable. Its sole purpose is to block subsequent requests for "no link" blinking when this blinking pattern is already active. It's perfectly safe to restart "no link" blinking. We can remove bLedNoLinkBlinkInProgress and the many places where it's updated. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_led.c | 14 -------------- drivers/staging/r8188eu/include/rtw_led.h | 1 - 2 files changed, 15 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_led.c b/drivers/staging/r8188= eu/core/rtw_led.c index eac35f048f52..aee3ea3613a9 100644 --- a/drivers/staging/r8188eu/core/rtw_led.c +++ b/drivers/staging/r8188eu/core/rtw_led.c @@ -27,7 +27,6 @@ static void ResetLedStatus(struct led_priv *pLed) pLed->BlinkTimes =3D 0; /* Number of times to toggle led state for blink= ing. */ pLed->BlinkingLedState =3D LED_UNKNOWN; /* Next state for blinking, eith= er RTW_LED_ON or RTW_LED_OFF are. */ =20 - pLed->bLedNoLinkBlinkInProgress =3D false; pLed->bLedLinkBlinkInProgress =3D false; pLed->bLedScanBlinkInProgress =3D false; } @@ -121,7 +120,6 @@ static void blink_work(struct work_struct *work) pLed->CurrLedState =3D LED_BLINK_NORMAL; schedule_delayed_work(&pLed->blink_work, LED_BLINK_LINK_INTVL); } else { - pLed->bLedNoLinkBlinkInProgress =3D true; pLed->CurrLedState =3D LED_BLINK_SLOWLY; schedule_delayed_work(&pLed->blink_work, LED_BLINK_NO_LINK_INTVL); } @@ -142,7 +140,6 @@ static void blink_work(struct work_struct *work) pLed->CurrLedState =3D LED_BLINK_NORMAL; schedule_delayed_work(&pLed->blink_work, LED_BLINK_LINK_INTVL); } else { - pLed->bLedNoLinkBlinkInProgress =3D true; pLed->CurrLedState =3D LED_BLINK_SLOWLY; schedule_delayed_work(&pLed->blink_work, LED_BLINK_NO_LINK_INTVL); } @@ -217,9 +214,6 @@ void rtw_led_control(struct adapter *padapter, enum LED= _CTL_MODE LedAction) switch (LedAction) { case LED_CTL_START_TO_LINK: case LED_CTL_NO_LINK: - if (pLed->bLedNoLinkBlinkInProgress) - return; - if (pLed->CurrLedState =3D=3D LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed= )) return; =20 @@ -227,7 +221,6 @@ void rtw_led_control(struct adapter *padapter, enum LED= _CTL_MODE LedAction) =20 pLed->bLedLinkBlinkInProgress =3D false; pLed->bLedBlinkInProgress =3D false; - pLed->bLedNoLinkBlinkInProgress =3D true; =20 pLed->CurrLedState =3D LED_BLINK_SLOWLY; if (pLed->bLedOn) @@ -245,7 +238,6 @@ void rtw_led_control(struct adapter *padapter, enum LED= _CTL_MODE LedAction) =20 cancel_delayed_work(&pLed->blink_work); =20 - pLed->bLedNoLinkBlinkInProgress =3D false; pLed->bLedBlinkInProgress =3D false; pLed->bLedLinkBlinkInProgress =3D true; =20 @@ -268,7 +260,6 @@ void rtw_led_control(struct adapter *padapter, enum LED= _CTL_MODE LedAction) =20 cancel_delayed_work(&pLed->blink_work); =20 - pLed->bLedNoLinkBlinkInProgress =3D false; pLed->bLedLinkBlinkInProgress =3D false; pLed->bLedBlinkInProgress =3D false; pLed->bLedScanBlinkInProgress =3D true; @@ -291,7 +282,6 @@ void rtw_led_control(struct adapter *padapter, enum LED= _CTL_MODE LedAction) =20 cancel_delayed_work(&pLed->blink_work); =20 - pLed->bLedNoLinkBlinkInProgress =3D false; pLed->bLedLinkBlinkInProgress =3D false; pLed->bLedBlinkInProgress =3D true; =20 @@ -309,7 +299,6 @@ void rtw_led_control(struct adapter *padapter, enum LED= _CTL_MODE LedAction) =20 cancel_delayed_work(&pLed->blink_work); =20 - pLed->bLedNoLinkBlinkInProgress =3D false; pLed->bLedLinkBlinkInProgress =3D false; pLed->bLedBlinkInProgress =3D false; pLed->bLedScanBlinkInProgress =3D false; @@ -324,7 +313,6 @@ void rtw_led_control(struct adapter *padapter, enum LED= _CTL_MODE LedAction) case LED_CTL_STOP_WPS: cancel_delayed_work(&pLed->blink_work); =20 - pLed->bLedNoLinkBlinkInProgress =3D false; pLed->bLedLinkBlinkInProgress =3D false; pLed->bLedBlinkInProgress =3D false; pLed->bLedScanBlinkInProgress =3D false; @@ -342,7 +330,6 @@ void rtw_led_control(struct adapter *padapter, enum LED= _CTL_MODE LedAction) case LED_CTL_STOP_WPS_FAIL: cancel_delayed_work(&pLed->blink_work); pLed->bLedWPSBlinkInProgress =3D false; - pLed->bLedNoLinkBlinkInProgress =3D true; pLed->CurrLedState =3D LED_BLINK_SLOWLY; if (pLed->bLedOn) pLed->BlinkingLedState =3D RTW_LED_OFF; @@ -353,7 +340,6 @@ void rtw_led_control(struct adapter *padapter, enum LED= _CTL_MODE LedAction) case LED_CTL_POWER_OFF: pLed->CurrLedState =3D RTW_LED_OFF; pLed->BlinkingLedState =3D RTW_LED_OFF; - pLed->bLedNoLinkBlinkInProgress =3D false; pLed->bLedLinkBlinkInProgress =3D false; pLed->bLedBlinkInProgress =3D false; pLed->bLedWPSBlinkInProgress =3D false; diff --git a/drivers/staging/r8188eu/include/rtw_led.h b/drivers/staging/r8= 188eu/include/rtw_led.h index d6b0c1c2f9a2..6a0881990394 100644 --- a/drivers/staging/r8188eu/include/rtw_led.h +++ b/drivers/staging/r8188eu/include/rtw_led.h @@ -54,7 +54,6 @@ struct led_priv { =20 u32 BlinkTimes; /* Number of times to toggle led state for blinking. */ =20 - bool bLedNoLinkBlinkInProgress; bool bLedLinkBlinkInProgress; bool bLedScanBlinkInProgress; struct delayed_work blink_work; --=20 2.30.2 From nobody Fri Apr 3 00:52:07 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C1627C6FA86 for ; Sun, 18 Sep 2022 17:57:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229731AbiIRR5b (ORCPT ); Sun, 18 Sep 2022 13:57:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34216 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229655AbiIRR5R (ORCPT ); Sun, 18 Sep 2022 13:57:17 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CF9ED16592 for ; Sun, 18 Sep 2022 10:57:15 -0700 (PDT) Received: from dslb-188-096-149-102.188.096.pools.vodafone-ip.de ([188.96.149.102] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oZyXX-0006VL-Jq; Sun, 18 Sep 2022 19:57:11 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 4/6] staging: r8188eu: remove BlinkingLedState Date: Sun, 18 Sep 2022 19:56:58 +0200 Message-Id: <20220918175700.215170-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220918175700.215170-1-martin@kaiser.cx> References: <20220918175700.215170-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Both bLedOn and BlinkingLedState in struct led_priv store the same information. The boolean bLedOn stores the curent led state while BlinkingLedState stores the next led state to be set during blinking, which is the inverse of the current led state. (The led is either off or blinking, it's never continuously on.) This patch removes BlinkingLedState and uses bLedOn instead. The LED_BLINK_WPS_STOP case in blink_work checked for pLed->BlinkingLedState !=3D RTW_LED_ON. This is true if the next led blinking state is ON, i.e. if the led has just been switched off by blink_work, i.e. if (!pLed->bLedOn). Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_led.c | 62 ++--------------------- drivers/staging/r8188eu/include/rtw_led.h | 4 -- 2 files changed, 4 insertions(+), 62 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_led.c b/drivers/staging/r8188= eu/core/rtw_led.c index aee3ea3613a9..744247af5956 100644 --- a/drivers/staging/r8188eu/core/rtw_led.c +++ b/drivers/staging/r8188eu/core/rtw_led.c @@ -25,7 +25,6 @@ static void ResetLedStatus(struct led_priv *pLed) pLed->bLedWPSBlinkInProgress =3D false; =20 pLed->BlinkTimes =3D 0; /* Number of times to toggle led state for blink= ing. */ - pLed->BlinkingLedState =3D LED_UNKNOWN; /* Next state for blinking, eith= er RTW_LED_ON or RTW_LED_OFF are. */ =20 pLed->bLedLinkBlinkInProgress =3D false; pLed->bLedScanBlinkInProgress =3D false; @@ -87,32 +86,19 @@ static void blink_work(struct work_struct *work) return; } =20 - /* Change LED according to BlinkingLedState specified. */ - if (pLed->BlinkingLedState =3D=3D RTW_LED_ON) - SwLedOn(padapter, pLed); - else + if (pLed->bLedOn) SwLedOff(padapter, pLed); + else + SwLedOn(padapter, pLed); =20 switch (pLed->CurrLedState) { case LED_BLINK_SLOWLY: - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_NO_LINK_INTVL); break; case LED_BLINK_NORMAL: - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_LINK_INTVL); break; case LED_BLINK_SCAN: - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; pLed->BlinkTimes--; if (pLed->BlinkTimes =3D=3D 0) { if (check_fwstate(pmlmepriv, _FW_LINKED)) { @@ -129,10 +115,6 @@ static void blink_work(struct work_struct *work) } break; case LED_BLINK_TXRX: - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; pLed->BlinkTimes--; if (pLed->BlinkTimes =3D=3D 0) { if (check_fwstate(pmlmepriv, _FW_LINKED)) { @@ -149,25 +131,16 @@ static void blink_work(struct work_struct *work) } break; case LED_BLINK_WPS: - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_SCAN_INTVL); break; case LED_BLINK_WPS_STOP: /* WPS success */ - if (pLed->BlinkingLedState !=3D RTW_LED_ON) { + if (!pLed->bLedOn) { pLed->bLedLinkBlinkInProgress =3D true; pLed->CurrLedState =3D LED_BLINK_NORMAL; - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_LINK_INTVL); =20 pLed->bLedWPSBlinkInProgress =3D false; } else { - pLed->BlinkingLedState =3D RTW_LED_OFF; schedule_delayed_work(&pLed->blink_work, LED_BLINK_WPS_SUCESS_INTVL); } break; @@ -223,10 +196,6 @@ void rtw_led_control(struct adapter *padapter, enum LE= D_CTL_MODE LedAction) pLed->bLedBlinkInProgress =3D false; =20 pLed->CurrLedState =3D LED_BLINK_SLOWLY; - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_NO_LINK_INTVL); break; case LED_CTL_LINK: @@ -242,10 +211,6 @@ void rtw_led_control(struct adapter *padapter, enum LE= D_CTL_MODE LedAction) pLed->bLedLinkBlinkInProgress =3D true; =20 pLed->CurrLedState =3D LED_BLINK_NORMAL; - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_LINK_INTVL); break; case LED_CTL_SITE_SURVEY: @@ -266,10 +231,6 @@ void rtw_led_control(struct adapter *padapter, enum LE= D_CTL_MODE LedAction) =20 pLed->CurrLedState =3D LED_BLINK_SCAN; pLed->BlinkTimes =3D 24; - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_SCAN_INTVL); break; case LED_CTL_TX: @@ -287,10 +248,6 @@ void rtw_led_control(struct adapter *padapter, enum LE= D_CTL_MODE LedAction) =20 pLed->CurrLedState =3D LED_BLINK_TXRX; pLed->BlinkTimes =3D 2; - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_FASTER_INTVL); break; case LED_CTL_START_WPS: /* wait until xinpin finish */ @@ -304,10 +261,6 @@ void rtw_led_control(struct adapter *padapter, enum LE= D_CTL_MODE LedAction) pLed->bLedScanBlinkInProgress =3D false; pLed->bLedWPSBlinkInProgress =3D true; pLed->CurrLedState =3D LED_BLINK_WPS; - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_SCAN_INTVL); break; case LED_CTL_STOP_WPS: @@ -320,10 +273,8 @@ void rtw_led_control(struct adapter *padapter, enum LE= D_CTL_MODE LedAction) =20 pLed->CurrLedState =3D LED_BLINK_WPS_STOP; if (pLed->bLedOn) { - pLed->BlinkingLedState =3D RTW_LED_OFF; schedule_delayed_work(&pLed->blink_work, LED_BLINK_WPS_SUCESS_INTVL); } else { - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, 0); } break; @@ -331,15 +282,10 @@ void rtw_led_control(struct adapter *padapter, enum L= ED_CTL_MODE LedAction) cancel_delayed_work(&pLed->blink_work); pLed->bLedWPSBlinkInProgress =3D false; pLed->CurrLedState =3D LED_BLINK_SLOWLY; - if (pLed->bLedOn) - pLed->BlinkingLedState =3D RTW_LED_OFF; - else - pLed->BlinkingLedState =3D RTW_LED_ON; schedule_delayed_work(&pLed->blink_work, LED_BLINK_NO_LINK_INTVL); break; case LED_CTL_POWER_OFF: pLed->CurrLedState =3D RTW_LED_OFF; - pLed->BlinkingLedState =3D RTW_LED_OFF; pLed->bLedLinkBlinkInProgress =3D false; pLed->bLedBlinkInProgress =3D false; pLed->bLedWPSBlinkInProgress =3D false; diff --git a/drivers/staging/r8188eu/include/rtw_led.h b/drivers/staging/r8= 188eu/include/rtw_led.h index 6a0881990394..7b1775b9fa64 100644 --- a/drivers/staging/r8188eu/include/rtw_led.h +++ b/drivers/staging/r8188eu/include/rtw_led.h @@ -21,8 +21,6 @@ enum LED_CTL_MODE { }; =20 enum LED_STATE_871x { - LED_UNKNOWN =3D 0, - RTW_LED_ON =3D 1, RTW_LED_OFF =3D 2, LED_BLINK_NORMAL =3D 3, LED_BLINK_SLOWLY =3D 4, @@ -43,8 +41,6 @@ struct led_priv { bool bRegUseLed; =20 enum LED_STATE_871x CurrLedState; /* Current LED state. */ - enum LED_STATE_871x BlinkingLedState; /* Next state for blinking, - * either RTW_LED_ON or RTW_LED_OFF are. */ =20 bool bLedOn; /* true if LED is ON, false if LED is OFF. */ =20 --=20 2.30.2 From nobody Fri Apr 3 00:52:07 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E3A2DECAAD8 for ; Sun, 18 Sep 2022 17:57:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229703AbiIRR52 (ORCPT ); Sun, 18 Sep 2022 13:57:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34200 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229601AbiIRR5Q (ORCPT ); Sun, 18 Sep 2022 13:57:16 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 001351659B for ; Sun, 18 Sep 2022 10:57:15 -0700 (PDT) Received: from dslb-188-096-149-102.188.096.pools.vodafone-ip.de ([188.96.149.102] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oZyXY-0006VL-Vs; Sun, 18 Sep 2022 19:57:13 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 5/6] staging: r8188eu: remove duplicate bSurpriseRemoved check Date: Sun, 18 Sep 2022 19:56:59 +0200 Message-Id: <20220918175700.215170-6-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220918175700.215170-1-martin@kaiser.cx> References: <20220918175700.215170-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" We don't have to check bSurpriseRemoved in the SwLedOn function. SwLedOn calls rtw_read8 which in turn calls usb_read. This function checks bSurpriseRemoved for us. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_led.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_led.c b/drivers/staging/r8188= eu/core/rtw_led.c index 744247af5956..989808a2b171 100644 --- a/drivers/staging/r8188eu/core/rtw_led.c +++ b/drivers/staging/r8188eu/core/rtw_led.c @@ -35,7 +35,7 @@ static void SwLedOn(struct adapter *padapter, struct led_= priv *pLed) u8 LedCfg; int res; =20 - if (padapter->bSurpriseRemoved || padapter->bDriverStopped) + if (padapter->bDriverStopped) return; =20 res =3D rtw_read8(padapter, REG_LEDCFG2, &LedCfg); --=20 2.30.2 From nobody Fri Apr 3 00:52:07 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E285ECAAD8 for ; Sun, 18 Sep 2022 17:57:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229741AbiIRR5g (ORCPT ); Sun, 18 Sep 2022 13:57:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34370 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229673AbiIRR5V (ORCPT ); Sun, 18 Sep 2022 13:57:21 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0435167DB for ; Sun, 18 Sep 2022 10:57:20 -0700 (PDT) Received: from dslb-188-096-149-102.188.096.pools.vodafone-ip.de ([188.96.149.102] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oZyXa-0006VL-7c; Sun, 18 Sep 2022 19:57:14 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 6/6] staging: r8188eu: remove two unused enum entries Date: Sun, 18 Sep 2022 19:57:00 +0200 Message-Id: <20220918175700.215170-7-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220918175700.215170-1-martin@kaiser.cx> References: <20220918175700.215170-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Both LED_BLINK_StartToBlink and LED_BLINK_RUNTOP in enum LED_STATE_871x are not used in the r8188eu driver. Remove them. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/include/rtw_led.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_led.h b/drivers/staging/r8= 188eu/include/rtw_led.h index 7b1775b9fa64..8520f022a67f 100644 --- a/drivers/staging/r8188eu/include/rtw_led.h +++ b/drivers/staging/r8188eu/include/rtw_led.h @@ -27,12 +27,9 @@ enum LED_STATE_871x { LED_BLINK_SCAN =3D 6, /* LED is blinking during scanning period, * the # of times to blink is depend on time * for scanning. */ - LED_BLINK_StartToBlink =3D 8,/* Customzied for Sercomm Printer - * Server case */ LED_BLINK_TXRX =3D 9, LED_BLINK_WPS =3D 10, /* LED is blinkg during WPS communication */ LED_BLINK_WPS_STOP =3D 11, - LED_BLINK_RUNTOP =3D 13, /* Customized for RunTop */ }; =20 struct led_priv { --=20 2.30.2