From nobody Mon May 11 05:35:10 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 F03F0C433F5 for ; Wed, 13 Apr 2022 19:37:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238393AbiDMTkI (ORCPT ); Wed, 13 Apr 2022 15:40:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45108 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236023AbiDMTkD (ORCPT ); Wed, 13 Apr 2022 15:40:03 -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 E3E6876662 for ; Wed, 13 Apr 2022 12:37:40 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1neio5-0005fr-01; Wed, 13 Apr 2022 21:37:37 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 1/8] staging: r8188eu: simplify delay conditions in rtw_pwr_wakeup Date: Wed, 13 Apr 2022 21:36:47 +0200 Message-Id: <20220413193654.258507-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413193654.258507-1-martin@kaiser.cx> References: <20220409151557.207980-1-martin@kaiser.cx> <20220413193654.258507-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 the conditions for a loop in rtw_pwr_wakeup that waits while the system is suspended. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r= 8188eu/core/rtw_pwrctrl.c index 8c2e98361e47..8150894fba82 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -388,12 +388,8 @@ int rtw_pwr_wakeup(struct adapter *padapter) } =20 /* System suspend is not allowed to wakeup */ - if (pwrpriv->bInSuspend) { - while (pwrpriv->bInSuspend && - (rtw_get_passing_time_ms(start) <=3D 3000 || - (rtw_get_passing_time_ms(start) <=3D 500))) - msleep(10); - } + while (pwrpriv->bInSuspend && rtw_get_passing_time_ms(start) <=3D 3000) + msleep(10); =20 /* I think this should be check in IPS, LPS, autosuspend functions... */ if (check_fwstate(pmlmepriv, _FW_LINKED)) { --=20 2.30.2 From nobody Mon May 11 05:35:10 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 0DBEEC433F5 for ; Wed, 13 Apr 2022 19:37:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238406AbiDMTkM (ORCPT ); Wed, 13 Apr 2022 15:40:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45122 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236703AbiDMTkD (ORCPT ); Wed, 13 Apr 2022 15:40:03 -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 D0FCE76659 for ; Wed, 13 Apr 2022 12:37:41 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1neio5-0005fr-Qq; Wed, 13 Apr 2022 21:37:37 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 2/8] staging: r8188eu: make return values consistent Date: Wed, 13 Apr 2022 21:36:48 +0200 Message-Id: <20220413193654.258507-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413193654.258507-1-martin@kaiser.cx> References: <20220409151557.207980-1-martin@kaiser.cx> <20220413193654.258507-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" rtw_pwr_wakeup should return _SUCCESS or _FAIL. Replace false with _FAIL in one place and reformat the if-statement. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r= 8188eu/core/rtw_pwrctrl.c index 8150894fba82..6a40f4a251c7 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -403,10 +403,8 @@ int rtw_pwr_wakeup(struct adapter *padapter) } } =20 - /* TODO: the following checking need to be merged... */ - if (padapter->bDriverStopped || !padapter->bup || - !padapter->hw_init_completed) { - ret =3D false; + if (padapter->bDriverStopped || !padapter->bup || !padapter->hw_init_comp= leted) { + ret =3D _FAIL; goto exit; } =20 --=20 2.30.2 From nobody Mon May 11 05:35:10 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 53696C433F5 for ; Wed, 13 Apr 2022 19:38:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238441AbiDMTk0 (ORCPT ); Wed, 13 Apr 2022 15:40:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45218 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238391AbiDMTkH (ORCPT ); Wed, 13 Apr 2022 15:40:07 -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 6907176677 for ; Wed, 13 Apr 2022 12:37:45 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1neio6-0005fr-KW; Wed, 13 Apr 2022 21:37:38 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 3/8] staging: r8188eu: simplify the ps_processing check Date: Wed, 13 Apr 2022 21:36:49 +0200 Message-Id: <20220413193654.258507-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413193654.258507-1-martin@kaiser.cx> References: <20220409151557.207980-1-martin@kaiser.cx> <20220413193654.258507-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" It's sufficient to check pwrpriv->ps_processing as part of the while-loop. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r= 8188eu/core/rtw_pwrctrl.c index 6a40f4a251c7..fd7ea83968ed 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -382,10 +382,8 @@ int rtw_pwr_wakeup(struct adapter *padapter) if (pwrpriv->ips_deny_time < jiffies + rtw_ms_to_systime(ips_deffer_ms)) pwrpriv->ips_deny_time =3D jiffies + rtw_ms_to_systime(ips_deffer_ms); =20 - if (pwrpriv->ps_processing) { - while (pwrpriv->ps_processing && rtw_get_passing_time_ms(start) <=3D 300= 0) - msleep(10); - } + while (pwrpriv->ps_processing && rtw_get_passing_time_ms(start) <=3D 3000) + msleep(10); =20 /* System suspend is not allowed to wakeup */ while (pwrpriv->bInSuspend && rtw_get_passing_time_ms(start) <=3D 3000) --=20 2.30.2 From nobody Mon May 11 05:35:10 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 148B6C433EF for ; Wed, 13 Apr 2022 19:37:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238414AbiDMTkP (ORCPT ); Wed, 13 Apr 2022 15:40:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45176 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238021AbiDMTkF (ORCPT ); Wed, 13 Apr 2022 15:40:05 -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 95FF576659 for ; Wed, 13 Apr 2022 12:37:43 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1neio7-0005fr-CM; Wed, 13 Apr 2022 21:37:39 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 4/8] staging: r8188eu: summarize two if statements Date: Wed, 13 Apr 2022 21:36:50 +0200 Message-Id: <20220413193654.258507-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413193654.258507-1-martin@kaiser.cx> References: <20220409151557.207980-1-martin@kaiser.cx> <20220413193654.258507-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" Summarize two if statements in rtw_pwr_wakeup and place the constants on the right side of the comparison. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r= 8188eu/core/rtw_pwrctrl.c index fd7ea83968ed..ff96e5229b52 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -394,11 +394,10 @@ int rtw_pwr_wakeup(struct adapter *padapter) ret =3D _SUCCESS; goto exit; } - if (rf_off =3D=3D pwrpriv->rf_pwrstate) { - if (_FAIL =3D=3D ips_leave(padapter)) { - ret =3D _FAIL; - goto exit; - } + + if (pwrpriv->rf_pwrstate =3D=3D rf_off && ips_leave(padapter) =3D=3D _FAI= L) { + ret =3D _FAIL; + goto exit; } =20 if (padapter->bDriverStopped || !padapter->bup || !padapter->hw_init_comp= leted) { --=20 2.30.2 From nobody Mon May 11 05:35:10 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 114D2C433EF for ; Wed, 13 Apr 2022 19:38:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238424AbiDMTkV (ORCPT ); Wed, 13 Apr 2022 15:40:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45178 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238129AbiDMTkF (ORCPT ); Wed, 13 Apr 2022 15:40:05 -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 99F217666A for ; Wed, 13 Apr 2022 12:37:43 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1neio8-0005fr-4F; Wed, 13 Apr 2022 21:37:40 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 5/8] staging: r8188eu: use kernel functions for timeout handling Date: Wed, 13 Apr 2022 21:36:51 +0200 Message-Id: <20220413193654.258507-6-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413193654.258507-1-martin@kaiser.cx> References: <20220409151557.207980-1-martin@kaiser.cx> <20220413193654.258507-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" Use the kernel functions to set a timeout and to check if it's expired. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r= 8188eu/core/rtw_pwrctrl.c index ff96e5229b52..2ad6105e6ec4 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -372,8 +372,8 @@ int rtw_pwr_wakeup(struct adapter *padapter) { struct pwrctrl_priv *pwrpriv =3D &padapter->pwrctrlpriv; struct mlme_priv *pmlmepriv =3D &padapter->mlmepriv; + unsigned long timeout =3D jiffies + msecs_to_jiffies(3000); int ret =3D _SUCCESS; - u32 start =3D jiffies; u32 ips_deffer_ms; =20 /* the ms will prevent from falling into IPS after wakeup */ @@ -382,11 +382,11 @@ int rtw_pwr_wakeup(struct adapter *padapter) if (pwrpriv->ips_deny_time < jiffies + rtw_ms_to_systime(ips_deffer_ms)) pwrpriv->ips_deny_time =3D jiffies + rtw_ms_to_systime(ips_deffer_ms); =20 - while (pwrpriv->ps_processing && rtw_get_passing_time_ms(start) <=3D 3000) + while (pwrpriv->ps_processing && time_before(jiffies, timeout)) msleep(10); =20 /* System suspend is not allowed to wakeup */ - while (pwrpriv->bInSuspend && rtw_get_passing_time_ms(start) <=3D 3000) + while (pwrpriv->bInSuspend && time_before(jiffies, timeout)) msleep(10); =20 /* I think this should be check in IPS, LPS, autosuspend functions... */ --=20 2.30.2 From nobody Mon May 11 05:35:10 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 97057C433F5 for ; Wed, 13 Apr 2022 19:37:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238410AbiDMTkR (ORCPT ); Wed, 13 Apr 2022 15:40:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45188 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238224AbiDMTkG (ORCPT ); Wed, 13 Apr 2022 15:40:06 -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 2C7BE76662 for ; Wed, 13 Apr 2022 12:37:44 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1neio8-0005fr-TW; Wed, 13 Apr 2022 21:37:41 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 6/8] staging: r8188eu: clean up the code to set ips_deny_time Date: Wed, 13 Apr 2022 21:36:52 +0200 Message-Id: <20220413193654.258507-7-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413193654.258507-1-martin@kaiser.cx> References: <20220409151557.207980-1-martin@kaiser.cx> <20220413193654.258507-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" Clean up the code in rtw_pwr_wakeup that sets pwrpriv->ips_deny_time. Make ips_deny_time an unsigned long, this type is used by the kernel functions that process jiffies. Remove the temporary variable ips_deffer_ms and use RTW_PWR_STATE_CHK_INTERVAL directly. There's no need to set ips_deny_time twice, it's sufficient to set it at the end of rtw_pwr_wakeup. Use time_before to check if ips_deny_time should be updated. We can now remove rtw_ms_to_systime, this function is not used any more. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 13 ++++--------- drivers/staging/r8188eu/include/osdep_service.h | 1 - drivers/staging/r8188eu/include/rtw_pwrctrl.h | 2 +- drivers/staging/r8188eu/os_dep/osdep_service.c | 5 ----- 4 files changed, 5 insertions(+), 16 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r= 8188eu/core/rtw_pwrctrl.c index 2ad6105e6ec4..605210d89f32 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -373,14 +373,8 @@ int rtw_pwr_wakeup(struct adapter *padapter) struct pwrctrl_priv *pwrpriv =3D &padapter->pwrctrlpriv; struct mlme_priv *pmlmepriv =3D &padapter->mlmepriv; unsigned long timeout =3D jiffies + msecs_to_jiffies(3000); + unsigned long deny_time; int ret =3D _SUCCESS; - u32 ips_deffer_ms; - - /* the ms will prevent from falling into IPS after wakeup */ - ips_deffer_ms =3D RTW_PWR_STATE_CHK_INTERVAL; - - if (pwrpriv->ips_deny_time < jiffies + rtw_ms_to_systime(ips_deffer_ms)) - pwrpriv->ips_deny_time =3D jiffies + rtw_ms_to_systime(ips_deffer_ms); =20 while (pwrpriv->ps_processing && time_before(jiffies, timeout)) msleep(10); @@ -406,8 +400,9 @@ int rtw_pwr_wakeup(struct adapter *padapter) } =20 exit: - if (pwrpriv->ips_deny_time < jiffies + rtw_ms_to_systime(ips_deffer_ms)) - pwrpriv->ips_deny_time =3D jiffies + rtw_ms_to_systime(ips_deffer_ms); + deny_time =3D jiffies + msecs_to_jiffies(RTW_PWR_STATE_CHK_INTERVAL); + if (time_before(pwrpriv->ips_deny_time, deny_time)) + pwrpriv->ips_deny_time =3D deny_time; return ret; } =20 diff --git a/drivers/staging/r8188eu/include/osdep_service.h b/drivers/stag= ing/r8188eu/include/osdep_service.h index f1f3e3ba5377..1e55a8008acc 100644 --- a/drivers/staging/r8188eu/include/osdep_service.h +++ b/drivers/staging/r8188eu/include/osdep_service.h @@ -78,7 +78,6 @@ void *rtw_malloc2d(int h, int w, int size); } while (0) =20 u32 rtw_systime_to_ms(u32 systime); -u32 rtw_ms_to_systime(u32 ms); s32 rtw_get_passing_time_ms(u32 start); =20 void rtw_usleep_os(int us); diff --git a/drivers/staging/r8188eu/include/rtw_pwrctrl.h b/drivers/stagin= g/r8188eu/include/rtw_pwrctrl.h index 3084d00628bd..6e9fdd66fad1 100644 --- a/drivers/staging/r8188eu/include/rtw_pwrctrl.h +++ b/drivers/staging/r8188eu/include/rtw_pwrctrl.h @@ -56,7 +56,7 @@ struct pwrctrl_priv { u8 ips_mode_req; /* used to accept the mode setting request, * will update to ipsmode later */ uint bips_processing; - u32 ips_deny_time; /* will deny IPS when system time less than this */ + unsigned long ips_deny_time; /* will deny IPS when system time less than = this */ u8 ps_processing; /* temp used to mark whether in rtw_ps_processor */ =20 u8 bLeisurePs; diff --git a/drivers/staging/r8188eu/os_dep/osdep_service.c b/drivers/stagi= ng/r8188eu/os_dep/osdep_service.c index 6824a6ab2e36..7b177d50eee2 100644 --- a/drivers/staging/r8188eu/os_dep/osdep_service.c +++ b/drivers/staging/r8188eu/os_dep/osdep_service.c @@ -47,11 +47,6 @@ inline u32 rtw_systime_to_ms(u32 systime) return systime * 1000 / HZ; } =20 -inline u32 rtw_ms_to_systime(u32 ms) -{ - return ms * HZ / 1000; -} - /* the input parameter start use the same unit as jiffies */ inline s32 rtw_get_passing_time_ms(u32 start) { --=20 2.30.2 From nobody Mon May 11 05:35:10 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 6656FC433F5 for ; Wed, 13 Apr 2022 19:38:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238432AbiDMTkY (ORCPT ); Wed, 13 Apr 2022 15:40:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45212 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238382AbiDMTkG (ORCPT ); Wed, 13 Apr 2022 15:40:06 -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 1CEBA76666 for ; Wed, 13 Apr 2022 12:37:45 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1neio9-0005fr-Mt; Wed, 13 Apr 2022 21:37:41 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 7/8] staging: r8188eu: remove the bInSuspend loop Date: Wed, 13 Apr 2022 21:36:53 +0200 Message-Id: <20220413193654.258507-8-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413193654.258507-1-martin@kaiser.cx> References: <20220409151557.207980-1-martin@kaiser.cx> <20220413193654.258507-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 loop in rtw_pwr_wakeup that waits while the system is suspended. pwrpriv->bInSuspend is set in rtw_suspend and cleared in rtw_resume. These functions are the .suspend and .resume functions of the struct usb_driver for r8188eu. A usb_driver's suspend and resume functions are called when the entire system goes into suspend or runtime suspend. All of the code paths for rtw_pwr_wakeup start at ioctl handlers. We can remove the loop that checks bInSuspend. It's not possible to call an ioctl while the entire system is suspended. Signed-off-by: Martin Kaiser --- I tried to track down who calls suspend and resume of an usb_driver. My understanding is that all of these calls come from the pm layer and that the suspend and resume affect the whole system, not just the usb device. drivers/staging/r8188eu/core/rtw_pwrctrl.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r= 8188eu/core/rtw_pwrctrl.c index 605210d89f32..6990808ef353 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -379,10 +379,6 @@ int rtw_pwr_wakeup(struct adapter *padapter) while (pwrpriv->ps_processing && time_before(jiffies, timeout)) msleep(10); =20 - /* System suspend is not allowed to wakeup */ - while (pwrpriv->bInSuspend && time_before(jiffies, timeout)) - msleep(10); - /* I think this should be check in IPS, LPS, autosuspend functions... */ if (check_fwstate(pmlmepriv, _FW_LINKED)) { ret =3D _SUCCESS; --=20 2.30.2 From nobody Mon May 11 05:35:10 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 687FBC433EF for ; Wed, 13 Apr 2022 19:38:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238456AbiDMTk3 (ORCPT ); Wed, 13 Apr 2022 15:40:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238255AbiDMTkI (ORCPT ); Wed, 13 Apr 2022 15:40:08 -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 3609E7666A for ; Wed, 13 Apr 2022 12:37:45 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1neioA-0005fr-HC; Wed, 13 Apr 2022 21:37:42 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 8/8] staging: r8188eu: remove unused timer functions Date: Wed, 13 Apr 2022 21:36:54 +0200 Message-Id: <20220413193654.258507-9-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413193654.258507-1-martin@kaiser.cx> References: <20220409151557.207980-1-martin@kaiser.cx> <20220413193654.258507-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" rtw_get_passing_time_ms and rtw_systime_to_ms are not used any more. Remove them. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/include/osdep_service.h | 3 --- drivers/staging/r8188eu/os_dep/osdep_service.c | 11 ----------- 2 files changed, 14 deletions(-) diff --git a/drivers/staging/r8188eu/include/osdep_service.h b/drivers/stag= ing/r8188eu/include/osdep_service.h index 1e55a8008acc..f1a703643e74 100644 --- a/drivers/staging/r8188eu/include/osdep_service.h +++ b/drivers/staging/r8188eu/include/osdep_service.h @@ -77,9 +77,6 @@ void *rtw_malloc2d(int h, int w, int size); spin_lock_init(&((q)->lock)); \ } while (0) =20 -u32 rtw_systime_to_ms(u32 systime); -s32 rtw_get_passing_time_ms(u32 start); - void rtw_usleep_os(int us); =20 static inline unsigned char _cancel_timer_ex(struct timer_list *ptimer) diff --git a/drivers/staging/r8188eu/os_dep/osdep_service.c b/drivers/stagi= ng/r8188eu/os_dep/osdep_service.c index 7b177d50eee2..812acd59be79 100644 --- a/drivers/staging/r8188eu/os_dep/osdep_service.c +++ b/drivers/staging/r8188eu/os_dep/osdep_service.c @@ -42,17 +42,6 @@ Otherwise, there will be racing condition. Caller must check if the list is empty before calling rtw_list_delete */ =20 -inline u32 rtw_systime_to_ms(u32 systime) -{ - return systime * 1000 / HZ; -} - -/* the input parameter start use the same unit as jiffies */ -inline s32 rtw_get_passing_time_ms(u32 start) -{ - return rtw_systime_to_ms(jiffies - start); -} - void rtw_usleep_os(int us) { if (1 < (us / 1000)) --=20 2.30.2