From nobody Wed Apr 8 08:01:19 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 7488CC28D13 for ; Mon, 22 Aug 2022 20:13:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233947AbiHVUNx (ORCPT ); Mon, 22 Aug 2022 16:13:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231202AbiHVUNr (ORCPT ); Mon, 22 Aug 2022 16:13:47 -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 4D8A9BC2D for ; Mon, 22 Aug 2022 13:13:46 -0700 (PDT) Received: from dslb-188-096-142-076.188.096.pools.vodafone-ip.de ([188.96.142.76] 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 1oQDnq-0000pA-SZ; Mon, 22 Aug 2022 22:13:42 +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/3] staging: r8188eu: don't restart "no link" blinking unnecessarily Date: Mon, 22 Aug 2022 22:13:27 +0200 Message-Id: <20220822201329.95559-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220822201329.95559-1-martin@kaiser.cx> References: <20220822201329.95559-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" Simplify one of the cases in rtw_led_control. If we're already blinking because we have no link, we don't have to restart this blinking when the caller requests it again. We can simply return and keep on blinking. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_led.c | 37 +++++++++++++------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_led.c b/drivers/staging/r8188= eu/core/rtw_led.c index d5c6c5e29621..d3299fd1e39d 100644 --- a/drivers/staging/r8188eu/core/rtw_led.c +++ b/drivers/staging/r8188eu/core/rtw_led.c @@ -217,26 +217,27 @@ void rtw_led_control(struct adapter *padapter, enum L= ED_CTL_MODE LedAction) switch (LedAction) { case LED_CTL_START_TO_LINK: case LED_CTL_NO_LINK: - if (!pLed->bLedNoLinkBlinkInProgress) { - if (pLed->CurrLedState =3D=3D LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLe= d)) - return; - if (pLed->bLedLinkBlinkInProgress) { - cancel_delayed_work(&pLed->blink_work); - pLed->bLedLinkBlinkInProgress =3D false; - } - if (pLed->bLedBlinkInProgress) { - cancel_delayed_work(&pLed->blink_work); - pLed->bLedBlinkInProgress =3D false; - } + if (pLed->bLedNoLinkBlinkInProgress) + return; =20 - pLed->bLedNoLinkBlinkInProgress =3D true; - 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); + if (pLed->CurrLedState =3D=3D LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed= )) + return; + if (pLed->bLedLinkBlinkInProgress) { + cancel_delayed_work(&pLed->blink_work); + pLed->bLedLinkBlinkInProgress =3D false; } + if (pLed->bLedBlinkInProgress) { + cancel_delayed_work(&pLed->blink_work); + pLed->bLedBlinkInProgress =3D false; + } + + pLed->bLedNoLinkBlinkInProgress =3D true; + 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: if (!pLed->bLedLinkBlinkInProgress) { --=20 2.30.2 From nobody Wed Apr 8 08:01:19 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 547ECC32792 for ; Mon, 22 Aug 2022 20:13:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234339AbiHVUN4 (ORCPT ); Mon, 22 Aug 2022 16:13:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41240 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232892AbiHVUNt (ORCPT ); Mon, 22 Aug 2022 16:13:49 -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 B11AABCB3 for ; Mon, 22 Aug 2022 13:13:47 -0700 (PDT) Received: from dslb-188-096-142-076.188.096.pools.vodafone-ip.de ([188.96.142.76] 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 1oQDns-0000pA-4o; Mon, 22 Aug 2022 22:13:44 +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/3] staging: r8188eu: always cancel blink_work Date: Mon, 22 Aug 2022 22:13:28 +0200 Message-Id: <20220822201329.95559-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220822201329.95559-1-martin@kaiser.cx> References: <20220822201329.95559-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" In rtw_led_control, we can always cancel a running blink worker when we start blinking because of no link. The worker will be scheduled again and there's no point in having more than one pending blink worker. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_led.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_led.c b/drivers/staging/r8188= eu/core/rtw_led.c index d3299fd1e39d..e63bcf9c0e84 100644 --- a/drivers/staging/r8188eu/core/rtw_led.c +++ b/drivers/staging/r8188eu/core/rtw_led.c @@ -222,14 +222,14 @@ void rtw_led_control(struct adapter *padapter, enum L= ED_CTL_MODE LedAction) =20 if (pLed->CurrLedState =3D=3D LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed= )) return; - if (pLed->bLedLinkBlinkInProgress) { - cancel_delayed_work(&pLed->blink_work); + + 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; - } =20 pLed->bLedNoLinkBlinkInProgress =3D true; pLed->CurrLedState =3D LED_BLINK_SLOWLY; --=20 2.30.2 From nobody Wed Apr 8 08:01:19 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 94F2FC28D13 for ; Mon, 22 Aug 2022 20:14:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235026AbiHVUN6 (ORCPT ); Mon, 22 Aug 2022 16:13:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233520AbiHVUNu (ORCPT ); Mon, 22 Aug 2022 16:13:50 -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 06CC1BF46 for ; Mon, 22 Aug 2022 13:13:48 -0700 (PDT) Received: from dslb-188-096-142-076.188.096.pools.vodafone-ip.de ([188.96.142.76] 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 1oQDnt-0000pA-JH; Mon, 22 Aug 2022 22:13:45 +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/3] staging: r8188eu: always update the status variables Date: Mon, 22 Aug 2022 22:13:29 +0200 Message-Id: <20220822201329.95559-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220822201329.95559-1-martin@kaiser.cx> References: <20220822201329.95559-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 because of no link. The code is easier to understand without the if conditions. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_led.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_led.c b/drivers/staging/r8188= eu/core/rtw_led.c index e63bcf9c0e84..c57059eeda34 100644 --- a/drivers/staging/r8188eu/core/rtw_led.c +++ b/drivers/staging/r8188eu/core/rtw_led.c @@ -225,13 +225,10 @@ void rtw_led_control(struct adapter *padapter, enum L= ED_CTL_MODE LedAction) =20 cancel_delayed_work(&pLed->blink_work); =20 - if (pLed->bLedLinkBlinkInProgress) - pLed->bLedLinkBlinkInProgress =3D false; - - if (pLed->bLedBlinkInProgress) - pLed->bLedBlinkInProgress =3D false; - + pLed->bLedLinkBlinkInProgress =3D false; + pLed->bLedBlinkInProgress =3D false; pLed->bLedNoLinkBlinkInProgress =3D true; + pLed->CurrLedState =3D LED_BLINK_SLOWLY; if (pLed->bLedOn) pLed->BlinkingLedState =3D RTW_LED_OFF; --=20 2.30.2