From nobody Sat Apr 18 22:40:24 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 EEBBBCCA482 for ; Sat, 9 Jul 2022 17:10:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229530AbiGIRKU (ORCPT ); Sat, 9 Jul 2022 13:10:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47128 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229379AbiGIRKS (ORCPT ); Sat, 9 Jul 2022 13:10:18 -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 D56B811C06 for ; Sat, 9 Jul 2022 10:10:17 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADy9-0005n0-6Z; Sat, 09 Jul 2022 19:10: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 01/14] staging: r8188eu: remove unused eeprom defines Date: Sat, 9 Jul 2022 19:09:47 +0200 Message-Id: <20220709171000.180481-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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 some eeprom-related defines which are not used by the r8188eu driver. This driver uses BOOT_FROM_EEPROM and EEPROM_EN instead of the defines that this patch removes. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/include/rtl8188e_spec.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtl8188e_spec.h b/drivers/stag= ing/r8188eu/include/rtl8188e_spec.h index ce5dd2e5b72a..9e7b1f89037c 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_spec.h +++ b/drivers/staging/r8188eu/include/rtl8188e_spec.h @@ -426,12 +426,6 @@ #define MAX_MSS_DENSITY_2T 0x13 #define MAX_MSS_DENSITY_1T 0x0A =20 -/* EEPROM enable when set 1 */ -#define CmdEEPROM_En BIT(5) -/* System EEPROM select, 0: boot from E-FUSE, 1: The EEPROM used is 9346 = */ -#define CmdEERPOMSEL BIT(4) -#define Cmd9346CR_9356SEL BIT(4) - /* 8192C GPIO MUX Configuration Register (offset 0x40, 4 byte) */ #define GPIOSEL_GPIO 0 #define GPIOSEL_ENBT BIT(5) --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 B24C7C433EF for ; Sat, 9 Jul 2022 17:10:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229580AbiGIRKW (ORCPT ); Sat, 9 Jul 2022 13:10:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47130 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229469AbiGIRKT (ORCPT ); Sat, 9 Jul 2022 13:10:19 -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 E159412093 for ; Sat, 9 Jul 2022 10:10:17 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyA-0005n0-2L; Sat, 09 Jul 2022 19:10: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 02/14] staging: r8188eu: remove EepromOrEfuse from struct eeprom_priv Date: Sat, 9 Jul 2022 19:09:48 +0200 Message-Id: <20220709171000.180481-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" The EepromOrEfuse flag in struct eeprom_priv is used only in the ReadAdapterInfo8188EU function. We can remove EepromOrEfuse from struct eeprom_priv. As the meaning of EepromOrEfuse isn't obvious, there is a macro is_boot_from_eeprom that's used for checking the value. We don't need the macro, writing the check as !(eeValue & BOOT_FROM_EEPROM) makes it clear what is checked. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/usb_halinit.c | 3 +-- drivers/staging/r8188eu/include/hal_intf.h | 2 -- drivers/staging/r8188eu/include/rtw_eeprom.h | 1 - 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 1a08de85a6ae..2bfd9751c685 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -937,10 +937,9 @@ void ReadAdapterInfo8188EU(struct adapter *Adapter) if (res) return; =20 - eeprom->EepromOrEfuse =3D (eeValue & BOOT_FROM_EEPROM); eeprom->bautoload_fail_flag =3D !(eeValue & EEPROM_EN); =20 - if (!is_boot_from_eeprom(Adapter)) + if (!(eeValue & BOOT_FROM_EEPROM)) EFUSE_ShadowMapUpdate(Adapter); =20 /* parse the eeprom/efuse content */ diff --git a/drivers/staging/r8188eu/include/hal_intf.h b/drivers/staging/r= 8188eu/include/hal_intf.h index b81144932d9a..fc972d65189f 100644 --- a/drivers/staging/r8188eu/include/hal_intf.h +++ b/drivers/staging/r8188eu/include/hal_intf.h @@ -21,8 +21,6 @@ enum hw_variables { =20 typedef s32 (*c2h_id_filter)(u8 id); =20 -#define is_boot_from_eeprom(adapter) (adapter->eeprompriv.EepromOrEfuse) - void rtl8188eu_interface_configure(struct adapter *adapt); void ReadAdapterInfo8188EU(struct adapter *Adapter); void rtl8188eu_init_default_value(struct adapter *adapt); diff --git a/drivers/staging/r8188eu/include/rtw_eeprom.h b/drivers/staging= /r8188eu/include/rtw_eeprom.h index d8d48ace356c..40c61f7a03be 100644 --- a/drivers/staging/r8188eu/include/rtw_eeprom.h +++ b/drivers/staging/r8188eu/include/rtw_eeprom.h @@ -12,7 +12,6 @@ struct eeprom_priv { u8 bautoload_fail_flag; u8 mac_addr[ETH_ALEN] __aligned(2); /* PermanentAddress */ - u8 EepromOrEfuse; u8 efuse_eeprom_data[HWSET_MAX_SIZE_512] __aligned(4); }; =20 --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 C5278C43334 for ; Sat, 9 Jul 2022 17:10:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229653AbiGIRK0 (ORCPT ); Sat, 9 Jul 2022 13:10:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229517AbiGIRKU (ORCPT ); Sat, 9 Jul 2022 13:10:20 -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 73E0D11C06 for ; Sat, 9 Jul 2022 10:10:19 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyA-0005n0-Vs; Sat, 09 Jul 2022 19:10:15 +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 03/14] staging: r8188eu: remove eeprom function prototypes Date: Sat, 9 Jul 2022 19:09:49 +0200 Message-Id: <20220709171000.180481-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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 prototypes for non-existing eeprom functions. It seems that r8188eu has efuses but no eeprom. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/include/rtw_eeprom.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_eeprom.h b/drivers/staging= /r8188eu/include/rtw_eeprom.h index 40c61f7a03be..0a8792428927 100644 --- a/drivers/staging/r8188eu/include/rtw_eeprom.h +++ b/drivers/staging/r8188eu/include/rtw_eeprom.h @@ -15,10 +15,4 @@ struct eeprom_priv { u8 efuse_eeprom_data[HWSET_MAX_SIZE_512] __aligned(4); }; =20 -void eeprom_write16(struct adapter *padapter, u16 reg, u16 data); -u16 eeprom_read16(struct adapter *padapter, u16 reg); -void read_eeprom_content(struct adapter *padapter); -void eeprom_read_sz(struct adapter *adapt, u16 reg, u8 *data, u32 sz); -void read_eeprom_content_by_attrib(struct adapter *padapter); - #endif /* __RTL871X_EEPROM_H__ */ --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 0CC1DCCA47C for ; Sat, 9 Jul 2022 17:10:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229682AbiGIRK3 (ORCPT ); Sat, 9 Jul 2022 13:10:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47150 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229540AbiGIRKV (ORCPT ); Sat, 9 Jul 2022 13:10: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 4C83F11C06 for ; Sat, 9 Jul 2022 10:10:20 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyB-0005n0-Ow; Sat, 09 Jul 2022 19:10:15 +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 04/14] staging: r8188eu: merge EFUSE_ShadowMapUpdate with its caller Date: Sat, 9 Jul 2022 19:09:50 +0200 Message-Id: <20220709171000.180481-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" Merge the EFUSE_ShadowMapUpdate function into ReadAdapterInfo8188EU, which is the only caller. Merging the two functions makes it clearer that eeprom->efuse_eeprom_data is in fact a temporary buffer that stores info read from efuses. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_efuse.c | 30 --------------------- drivers/staging/r8188eu/hal/usb_halinit.c | 11 ++++++-- drivers/staging/r8188eu/include/rtw_efuse.h | 2 -- 3 files changed, 9 insertions(+), 34 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_efuse.c b/drivers/staging/r81= 88eu/core/rtw_efuse.c index 8005ed8d3a20..df9534dd25cb 100644 --- a/drivers/staging/r8188eu/core/rtw_efuse.c +++ b/drivers/staging/r8188eu/core/rtw_efuse.c @@ -72,33 +72,3 @@ ReadEFuseByte( =20 /* FIXME: return an error to caller */ } - -/*------------------------------------------------------------------------= ----- - * Function: EFUSE_ShadowMapUpdate - * - * Overview: Transfer current EFUSE content to shadow init and modify map. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/13/2008 MHC Create Version 0. - * - *------------------------------------------------------------------------= ---*/ -void EFUSE_ShadowMapUpdate(struct adapter *pAdapter) -{ - struct eeprom_priv *pEEPROM =3D &pAdapter->eeprompriv; - - if (pEEPROM->bautoload_fail_flag) { - memset(pEEPROM->efuse_eeprom_data, 0xFF, EFUSE_MAP_LEN_88E); - return; - } - - rtl8188e_EfusePowerSwitch(pAdapter, true); - rtl8188e_ReadEFuse(pAdapter, 0, EFUSE_MAP_LEN_88E, pEEPROM->efuse_eeprom_= data); - rtl8188e_EfusePowerSwitch(pAdapter, false); -} diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 2bfd9751c685..18c2817bf1e3 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -939,8 +939,15 @@ void ReadAdapterInfo8188EU(struct adapter *Adapter) =20 eeprom->bautoload_fail_flag =3D !(eeValue & EEPROM_EN); =20 - if (!(eeValue & BOOT_FROM_EEPROM)) - EFUSE_ShadowMapUpdate(Adapter); + if (!(eeValue & BOOT_FROM_EEPROM)) { + if (eeprom->bautoload_fail_flag) { + memset(eeprom->efuse_eeprom_data, 0xFF, EFUSE_MAP_LEN_88E); + } else { + rtl8188e_EfusePowerSwitch(Adapter, true); + rtl8188e_ReadEFuse(Adapter, 0, EFUSE_MAP_LEN_88E, eeprom->efuse_eeprom_= data); + rtl8188e_EfusePowerSwitch(Adapter, false); + } + } =20 /* parse the eeprom/efuse content */ Hal_EfuseParseIDCode88E(Adapter, eeprom->efuse_eeprom_data); diff --git a/drivers/staging/r8188eu/include/rtw_efuse.h b/drivers/staging/= r8188eu/include/rtw_efuse.h index 2daf69f554d5..3d688a0e6dfb 100644 --- a/drivers/staging/r8188eu/include/rtw_efuse.h +++ b/drivers/staging/r8188eu/include/rtw_efuse.h @@ -8,6 +8,4 @@ =20 void ReadEFuseByte(struct adapter *adapter, u16 _offset, u8 *pbuf); =20 -void EFUSE_ShadowMapUpdate(struct adapter *adapter); - #endif --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 56928C43334 for ; Sat, 9 Jul 2022 17:10:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229779AbiGIRKs (ORCPT ); Sat, 9 Jul 2022 13:10:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47316 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229672AbiGIRK1 (ORCPT ); Sat, 9 Jul 2022 13:10:27 -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 17F89120BF for ; Sat, 9 Jul 2022 10:10:25 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyC-0005n0-Im; Sat, 09 Jul 2022 19:10:16 +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 05/14] staging: r8188eu: use a local buffer for efuse data Date: Sat, 9 Jul 2022 19:09:51 +0200 Message-Id: <20220709171000.180481-6-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" The efuse_eeprom_data array in struct eeprom_priv is used only by ReadAdapterInfo8188EU. We can remove efuse_eeprom_data and use a local buffer instead. Use EFUSE_MAP_LEN_88E as buffer size. Its value is the same as HWSET_MAX_SIZE_512. The functions that access the buffer use EFUSE_MAP_LEN_88E for its size. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/usb_halinit.c | 23 ++++++++++---------- drivers/staging/r8188eu/include/rtw_eeprom.h | 3 --- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 18c2817bf1e3..807d8ce8cbfc 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -929,6 +929,7 @@ void ReadAdapterInfo8188EU(struct adapter *Adapter) { struct eeprom_priv *eeprom =3D &Adapter->eeprompriv; struct led_priv *ledpriv =3D &Adapter->ledpriv; + u8 efuse_buf[EFUSE_MAP_LEN_88E] __aligned(4); u8 eeValue; int res; =20 @@ -941,24 +942,24 @@ void ReadAdapterInfo8188EU(struct adapter *Adapter) =20 if (!(eeValue & BOOT_FROM_EEPROM)) { if (eeprom->bautoload_fail_flag) { - memset(eeprom->efuse_eeprom_data, 0xFF, EFUSE_MAP_LEN_88E); + memset(efuse_buf, 0xFF, sizeof(efuse_buf)); } else { rtl8188e_EfusePowerSwitch(Adapter, true); - rtl8188e_ReadEFuse(Adapter, 0, EFUSE_MAP_LEN_88E, eeprom->efuse_eeprom_= data); + rtl8188e_ReadEFuse(Adapter, 0, EFUSE_MAP_LEN_88E, efuse_buf); rtl8188e_EfusePowerSwitch(Adapter, false); } } =20 /* parse the eeprom/efuse content */ - Hal_EfuseParseIDCode88E(Adapter, eeprom->efuse_eeprom_data); - Hal_EfuseParseMACAddr_8188EU(Adapter, eeprom->efuse_eeprom_data, eeprom->= bautoload_fail_flag); - - Hal_ReadPowerSavingMode88E(Adapter, eeprom->efuse_eeprom_data, eeprom->ba= utoload_fail_flag); - Hal_ReadTxPowerInfo88E(Adapter, eeprom->efuse_eeprom_data, eeprom->bautol= oad_fail_flag); - rtl8188e_EfuseParseChnlPlan(Adapter, eeprom->efuse_eeprom_data, eeprom->b= autoload_fail_flag); - Hal_EfuseParseXtal_8188E(Adapter, eeprom->efuse_eeprom_data, eeprom->baut= oload_fail_flag); - Hal_ReadAntennaDiversity88E(Adapter, eeprom->efuse_eeprom_data, eeprom->b= autoload_fail_flag); - Hal_ReadThermalMeter_88E(Adapter, eeprom->efuse_eeprom_data, eeprom->baut= oload_fail_flag); + Hal_EfuseParseIDCode88E(Adapter, efuse_buf); + Hal_EfuseParseMACAddr_8188EU(Adapter, efuse_buf, eeprom->bautoload_fail_f= lag); + + Hal_ReadPowerSavingMode88E(Adapter, efuse_buf, eeprom->bautoload_fail_fla= g); + Hal_ReadTxPowerInfo88E(Adapter, efuse_buf, eeprom->bautoload_fail_flag); + rtl8188e_EfuseParseChnlPlan(Adapter, efuse_buf, eeprom->bautoload_fail_fl= ag); + Hal_EfuseParseXtal_8188E(Adapter, efuse_buf, eeprom->bautoload_fail_flag); + Hal_ReadAntennaDiversity88E(Adapter, efuse_buf, eeprom->bautoload_fail_fl= ag); + Hal_ReadThermalMeter_88E(Adapter, efuse_buf, eeprom->bautoload_fail_flag); =20 ledpriv->bRegUseLed =3D true; } diff --git a/drivers/staging/r8188eu/include/rtw_eeprom.h b/drivers/staging= /r8188eu/include/rtw_eeprom.h index 0a8792428927..94d735b1d0db 100644 --- a/drivers/staging/r8188eu/include/rtw_eeprom.h +++ b/drivers/staging/r8188eu/include/rtw_eeprom.h @@ -7,12 +7,9 @@ #include "osdep_service.h" #include "drv_types.h" =20 -#define HWSET_MAX_SIZE_512 512 - struct eeprom_priv { u8 bautoload_fail_flag; u8 mac_addr[ETH_ALEN] __aligned(2); /* PermanentAddress */ - u8 efuse_eeprom_data[HWSET_MAX_SIZE_512] __aligned(4); }; =20 #endif /* __RTL871X_EEPROM_H__ */ --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 4C5F0C43334 for ; Sat, 9 Jul 2022 17:10:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229712AbiGIRKe (ORCPT ); Sat, 9 Jul 2022 13:10:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47184 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229612AbiGIRKW (ORCPT ); Sat, 9 Jul 2022 13:10:22 -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 9502211C06 for ; Sat, 9 Jul 2022 10:10:21 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyD-0005n0-Cb; Sat, 09 Jul 2022 19:10:17 +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 06/14] staging: r8188eu: always initialise efuse buffer with 0xff Date: Sat, 9 Jul 2022 19:09:52 +0200 Message-Id: <20220709171000.180481-7-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" If BOOT_FROM_EEPROM is set, efuse_buf is not initialised before it is passed to functions that read from it. The buffer will be filled with 0x00 in this case like all local variables. However, the parsing functions expect the buffer to be filled with 0xFF if reading eeprom/efuse data failed. Fill the buffer with 0xFF before we try to read the data. Please note that this problem existed before we started using a local buffer. Adapter->eeprompriv->efuse_eeprom_data was allocated as a part of struct adapter by a vzalloc call in rtw_usb_if1_init. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/usb_halinit.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 807d8ce8cbfc..258ab963cf8a 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -940,14 +940,12 @@ void ReadAdapterInfo8188EU(struct adapter *Adapter) =20 eeprom->bautoload_fail_flag =3D !(eeValue & EEPROM_EN); =20 - if (!(eeValue & BOOT_FROM_EEPROM)) { - if (eeprom->bautoload_fail_flag) { - memset(efuse_buf, 0xFF, sizeof(efuse_buf)); - } else { - rtl8188e_EfusePowerSwitch(Adapter, true); - rtl8188e_ReadEFuse(Adapter, 0, EFUSE_MAP_LEN_88E, efuse_buf); - rtl8188e_EfusePowerSwitch(Adapter, false); - } + memset(efuse_buf, 0xFF, sizeof(efuse_buf)); + + if (!(eeValue & BOOT_FROM_EEPROM) && !eeprom->bautoload_fail_flag) { + rtl8188e_EfusePowerSwitch(Adapter, true); + rtl8188e_ReadEFuse(Adapter, 0, EFUSE_MAP_LEN_88E, efuse_buf); + rtl8188e_EfusePowerSwitch(Adapter, false); } =20 /* parse the eeprom/efuse content */ --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 3C6BFC433EF for ; Sat, 9 Jul 2022 17:10:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229724AbiGIRKg (ORCPT ); Sat, 9 Jul 2022 13:10:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47198 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229625AbiGIRKW (ORCPT ); Sat, 9 Jul 2022 13:10:22 -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 050A2120BA for ; Sat, 9 Jul 2022 10:10:21 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyE-0005n0-5a; Sat, 09 Jul 2022 19:10:18 +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 07/14] staging: r8188eu: use memcpy for fallback mac address Date: Sat, 9 Jul 2022 19:09:53 +0200 Message-Id: <20220709171000.180481-8-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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 memcpy to store the fallback mac address in eeprom->mac_addr. Do not copy byte by byte. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/usb_halinit.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 258ab963cf8a..5151cded145b 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -912,13 +912,11 @@ unsigned int rtl8188eu_inirp_init(struct adapter *Ada= pter) =20 static void Hal_EfuseParseMACAddr_8188EU(struct adapter *adapt, u8 *hwinfo= , bool AutoLoadFail) { - u16 i; u8 sMacAddr[6] =3D {0x00, 0xE0, 0x4C, 0x81, 0x88, 0x02}; struct eeprom_priv *eeprom =3D &adapt->eeprompriv; =20 if (AutoLoadFail) { - for (i =3D 0; i < 6; i++) - eeprom->mac_addr[i] =3D sMacAddr[i]; + memcpy(eeprom->mac_addr, sMacAddr, ETH_ALEN); } else { /* Read Permanent MAC address */ memcpy(eeprom->mac_addr, &hwinfo[EEPROM_MAC_ADDR_88EU], ETH_ALEN); --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 0EB50C433EF for ; Sat, 9 Jul 2022 17:10:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229739AbiGIRKj (ORCPT ); Sat, 9 Jul 2022 13:10:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47224 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229643AbiGIRKZ (ORCPT ); Sat, 9 Jul 2022 13:10:25 -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 3392512623 for ; Sat, 9 Jul 2022 10:10:22 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyE-0005n0-Vh; Sat, 09 Jul 2022 19:10:19 +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 08/14] staging: r8188eu: merge ReadEFuseByIC into rtl8188e_ReadEFuse Date: Sat, 9 Jul 2022 19:09:54 +0200 Message-Id: <20220709171000.180481-9-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" The rtl8188e_ReadEFuse function is just a wrapper to call ReadEFuseByIC. Copy ReadEFuseByIC into rtl8188e_ReadEFuse and remove ReadEFuseByIC. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_hal_init.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/stag= ing/r8188eu/hal/rtl8188e_hal_init.c index 5b65313e0b9d..0cb653002660 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c @@ -531,7 +531,7 @@ static void Hal_EfuseReadEFuse88E(struct adapter *Adapt= er, kfree(eFuseWord); } =20 -static void ReadEFuseByIC(struct adapter *Adapter, u16 _offset, u16 _size_= byte, u8 *pbuf) +void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _offset, u16 _size_by= te, u8 *pbuf) { int ret =3D _FAIL; if (rtw_IOL_applied(Adapter)) { @@ -548,11 +548,6 @@ static void ReadEFuseByIC(struct adapter *Adapter, u16= _offset, u16 _size_byte, Hal_EfuseReadEFuse88E(Adapter, _offset, _size_byte, pbuf); } =20 -void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _offset, u16 _size_by= te, u8 *pbuf) -{ - ReadEFuseByIC(Adapter, _offset, _size_byte, pbuf); -} - void rtl8188e_read_chip_version(struct adapter *padapter) { u32 value32; --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 7CC44C433EF for ; Sat, 9 Jul 2022 17:10:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229786AbiGIRKt (ORCPT ); Sat, 9 Jul 2022 13:10:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229680AbiGIRK2 (ORCPT ); Sat, 9 Jul 2022 13:10:28 -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 1499A1A3BB for ; Sat, 9 Jul 2022 10:10:27 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyF-0005n0-OR; Sat, 09 Jul 2022 19:10:19 +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 09/14] staging: r8188eu: txpktbuf_bndy is always 0 Date: Sat, 9 Jul 2022 19:09:55 +0200 Message-Id: <20220709171000.180481-10-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" The only caller of iol_read_efuse sets the txpktbuf_bndy parameter to 0. Remove the parameter from iol_read_efuse and use 0 in the function body. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_hal_init.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/stag= ing/r8188eu/hal/rtl8188e_hal_init.c index 0cb653002660..24699e99edff 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c @@ -299,18 +299,18 @@ static int efuse_read_phymap_from_txpktbuf( return 0; } =20 -static s32 iol_read_efuse(struct adapter *padapter, u8 txpktbuf_bndy, u16 = offset, u16 size_byte, u8 *logical_map) +static s32 iol_read_efuse(struct adapter *padapter, u16 offset, u16 size_b= yte, u8 *logical_map) { s32 status =3D _FAIL; u8 physical_map[512]; u16 size =3D 512; =20 - rtw_write8(padapter, REG_TDECTRL + 1, txpktbuf_bndy); + rtw_write8(padapter, REG_TDECTRL + 1, 0); memset(physical_map, 0xFF, 512); rtw_write8(padapter, REG_PKT_BUFF_ACCESS_CTRL, TXPKT_BUF_SELECT); status =3D iol_execute(padapter, CMD_READ_EFUSE_MAP); if (status =3D=3D _SUCCESS) - efuse_read_phymap_from_txpktbuf(padapter, txpktbuf_bndy, physical_map, &= size); + efuse_read_phymap_from_txpktbuf(padapter, 0, physical_map, &size); efuse_phymap_to_logical(physical_map, offset, size_byte, logical_map); return status; } @@ -538,7 +538,7 @@ void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _o= ffset, u16 _size_byte, u8 rtl8188eu_InitPowerOn(Adapter); =20 iol_mode_enable(Adapter, 1); - ret =3D iol_read_efuse(Adapter, 0, _offset, _size_byte, pbuf); + ret =3D iol_read_efuse(Adapter, _offset, _size_byte, pbuf); iol_mode_enable(Adapter, 0); =20 if (_SUCCESS =3D=3D ret) --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 7371AC43334 for ; Sat, 9 Jul 2022 17:10:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229745AbiGIRKm (ORCPT ); Sat, 9 Jul 2022 13:10:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47286 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229659AbiGIRK1 (ORCPT ); Sat, 9 Jul 2022 13:10:27 -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 4063518E25 for ; Sat, 9 Jul 2022 10:10:24 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyG-0005n0-HT; Sat, 09 Jul 2022 19:10:20 +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 10/14] staging: r8188eu: offset is always 0 in rtl8188e_ReadEFuse Date: Sat, 9 Jul 2022 19:09:56 +0200 Message-Id: <20220709171000.180481-11-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" The offset parameter of rtl8188e_ReadEFuse is always 0. Remove the parameter and use 0 in the function body. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_hal_init.c | 6 +++--- drivers/staging/r8188eu/hal/usb_halinit.c | 2 +- drivers/staging/r8188eu/include/hal_intf.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/stag= ing/r8188eu/hal/rtl8188e_hal_init.c index 24699e99edff..674ba420a272 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c @@ -531,21 +531,21 @@ static void Hal_EfuseReadEFuse88E(struct adapter *Ada= pter, kfree(eFuseWord); } =20 -void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _offset, u16 _size_by= te, u8 *pbuf) +void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _size_byte, u8 *pbuf) { int ret =3D _FAIL; if (rtw_IOL_applied(Adapter)) { rtl8188eu_InitPowerOn(Adapter); =20 iol_mode_enable(Adapter, 1); - ret =3D iol_read_efuse(Adapter, _offset, _size_byte, pbuf); + ret =3D iol_read_efuse(Adapter, 0, _size_byte, pbuf); iol_mode_enable(Adapter, 0); =20 if (_SUCCESS =3D=3D ret) return; } =20 - Hal_EfuseReadEFuse88E(Adapter, _offset, _size_byte, pbuf); + Hal_EfuseReadEFuse88E(Adapter, 0, _size_byte, pbuf); } =20 void rtl8188e_read_chip_version(struct adapter *padapter) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 5151cded145b..1821ec4440cd 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -942,7 +942,7 @@ void ReadAdapterInfo8188EU(struct adapter *Adapter) =20 if (!(eeValue & BOOT_FROM_EEPROM) && !eeprom->bautoload_fail_flag) { rtl8188e_EfusePowerSwitch(Adapter, true); - rtl8188e_ReadEFuse(Adapter, 0, EFUSE_MAP_LEN_88E, efuse_buf); + rtl8188e_ReadEFuse(Adapter, EFUSE_MAP_LEN_88E, efuse_buf); rtl8188e_EfusePowerSwitch(Adapter, false); } =20 diff --git a/drivers/staging/r8188eu/include/hal_intf.h b/drivers/staging/r= 8188eu/include/hal_intf.h index fc972d65189f..a8499c643c76 100644 --- a/drivers/staging/r8188eu/include/hal_intf.h +++ b/drivers/staging/r8188eu/include/hal_intf.h @@ -27,7 +27,7 @@ void rtl8188eu_init_default_value(struct adapter *adapt); void rtl8188e_SetHalODMVar(struct adapter *Adapter, void *pValue1, bool bS= et); u32 rtl8188eu_InitPowerOn(struct adapter *adapt); void rtl8188e_EfusePowerSwitch(struct adapter *pAdapter, u8 PwrState); -void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _offset, u16 _size_by= te, u8 *pbuf); +void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _size_byte, u8 *pbuf); =20 void hal_notch_filter_8188e(struct adapter *adapter, bool enable); =20 --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 9DE66C43334 for ; Sat, 9 Jul 2022 17:10:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229804AbiGIRK5 (ORCPT ); Sat, 9 Jul 2022 13:10:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229688AbiGIRK3 (ORCPT ); Sat, 9 Jul 2022 13:10:29 -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 1D138120BA for ; Sat, 9 Jul 2022 10:10:28 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyH-0005n0-BG; Sat, 09 Jul 2022 19:10:21 +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 11/14] staging: r8188eu: offset is always 0 in iol_read_efuse Date: Sat, 9 Jul 2022 19:09:57 +0200 Message-Id: <20220709171000.180481-12-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" The offset parameter of iol_read_efuse is always 0. Remove the parameter and use 0 in the function body. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_hal_init.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/stag= ing/r8188eu/hal/rtl8188e_hal_init.c index 674ba420a272..f552b9adece3 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c @@ -299,7 +299,7 @@ static int efuse_read_phymap_from_txpktbuf( return 0; } =20 -static s32 iol_read_efuse(struct adapter *padapter, u16 offset, u16 size_b= yte, u8 *logical_map) +static s32 iol_read_efuse(struct adapter *padapter, u16 size_byte, u8 *log= ical_map) { s32 status =3D _FAIL; u8 physical_map[512]; @@ -311,7 +311,7 @@ static s32 iol_read_efuse(struct adapter *padapter, u16= offset, u16 size_byte, u status =3D iol_execute(padapter, CMD_READ_EFUSE_MAP); if (status =3D=3D _SUCCESS) efuse_read_phymap_from_txpktbuf(padapter, 0, physical_map, &size); - efuse_phymap_to_logical(physical_map, offset, size_byte, logical_map); + efuse_phymap_to_logical(physical_map, 0, size_byte, logical_map); return status; } =20 @@ -538,7 +538,7 @@ void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _s= ize_byte, u8 *pbuf) rtl8188eu_InitPowerOn(Adapter); =20 iol_mode_enable(Adapter, 1); - ret =3D iol_read_efuse(Adapter, 0, _size_byte, pbuf); + ret =3D iol_read_efuse(Adapter, _size_byte, pbuf); iol_mode_enable(Adapter, 0); =20 if (_SUCCESS =3D=3D ret) --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 B9EDEC433EF for ; Sat, 9 Jul 2022 17:10:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229677AbiGIRKq (ORCPT ); Sat, 9 Jul 2022 13:10:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47318 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229670AbiGIRK1 (ORCPT ); Sat, 9 Jul 2022 13:10:27 -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 DBB5412093 for ; Sat, 9 Jul 2022 10:10:25 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyI-0005n0-6i; Sat, 09 Jul 2022 19:10:22 +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 12/14] staging: r8188eu: _offset is always 0 in efuse_phymap_to_logical Date: Sat, 9 Jul 2022 19:09:58 +0200 Message-Id: <20220709171000.180481-13-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" The _offset parameter of iol_read_efuse is always 0. Remove the parameter and use 0 in the function body. We can now replace the bytewise copy from efuseTbl to pbuf with memcpy. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_hal_init.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/stag= ing/r8188eu/hal/rtl8188e_hal_init.c index f552b9adece3..87ebfb013193 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c @@ -83,7 +83,7 @@ static s32 iol_InitLLTTable(struct adapter *padapter, u8 = txpktbuf_bndy) } =20 static void -efuse_phymap_to_logical(u8 *phymap, u16 _offset, u16 _size_byte, u8 *pbuf) +efuse_phymap_to_logical(u8 *phymap, u16 _size_byte, u8 *pbuf) { u8 *efuseTbl =3D NULL; u8 rtemp8; @@ -188,8 +188,7 @@ efuse_phymap_to_logical(u8 *phymap, u16 _offset, u16 _s= ize_byte, u8 *pbuf) /* */ /* 4. Copy from Efuse map to output pointer memory!!! */ /* */ - for (i =3D 0; i < _size_byte; i++) - pbuf[i] =3D efuseTbl[_offset + i]; + memcpy(pbuf, efuseTbl, _size_byte); =20 /* */ /* 5. Calculate Efuse utilization. */ @@ -311,7 +310,7 @@ static s32 iol_read_efuse(struct adapter *padapter, u16= size_byte, u8 *logical_m status =3D iol_execute(padapter, CMD_READ_EFUSE_MAP); if (status =3D=3D _SUCCESS) efuse_read_phymap_from_txpktbuf(padapter, 0, physical_map, &size); - efuse_phymap_to_logical(physical_map, 0, size_byte, logical_map); + efuse_phymap_to_logical(physical_map, size_byte, logical_map); return status; } =20 --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 B458EC433EF for ; Sat, 9 Jul 2022 17:10:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229626AbiGIRKx (ORCPT ); Sat, 9 Jul 2022 13:10:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47284 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229684AbiGIRK3 (ORCPT ); Sat, 9 Jul 2022 13:10:29 -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 149521A3AD for ; Sat, 9 Jul 2022 10:10:26 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyJ-0005n0-0S; Sat, 09 Jul 2022 19:10:23 +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 13/14] staging: r8188eu: efuse_utilized is never read Date: Sat, 9 Jul 2022 19:09:59 +0200 Message-Id: <20220709171000.180481-14-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" The efuse_utilized variable in function efuse_phymap_to_logical is written to but never read. Remove it. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_hal_init.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/stag= ing/r8188eu/hal/rtl8188e_hal_init.c index 87ebfb013193..ddda3f994fa7 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c @@ -91,7 +91,6 @@ efuse_phymap_to_logical(u8 *phymap, u16 _size_byte, u8 *= pbuf) u8 offset, wren; u16 i, j; u16 **eFuseWord =3D NULL; - u16 efuse_utilized =3D 0; u8 u1temp =3D 0; =20 efuseTbl =3D kzalloc(EFUSE_MAP_LEN_88E, GFP_KERNEL); @@ -113,7 +112,6 @@ efuse_phymap_to_logical(u8 *phymap, u16 _size_byte, u8 = *pbuf) /* */ rtemp8 =3D *(phymap + eFuse_Addr); if (rtemp8 !=3D 0xFF) { - efuse_utilized++; eFuse_Addr++; } else { goto exit; @@ -151,13 +149,11 @@ efuse_phymap_to_logical(u8 *phymap, u16 _size_byte, u= 8 *pbuf) if (!(wren & 0x01)) { rtemp8 =3D *(phymap + eFuse_Addr); eFuse_Addr++; - efuse_utilized++; eFuseWord[offset][i] =3D (rtemp8 & 0xff); if (eFuse_Addr >=3D EFUSE_REAL_CONTENT_LEN_88E) break; rtemp8 =3D *(phymap + eFuse_Addr); eFuse_Addr++; - efuse_utilized++; eFuseWord[offset][i] |=3D (((u16)rtemp8 << 8) & 0xff00); =20 if (eFuse_Addr >=3D EFUSE_REAL_CONTENT_LEN_88E) @@ -170,7 +166,6 @@ efuse_phymap_to_logical(u8 *phymap, u16 _size_byte, u8 = *pbuf) rtemp8 =3D *(phymap + eFuse_Addr); =20 if (rtemp8 !=3D 0xFF && (eFuse_Addr < EFUSE_REAL_CONTENT_LEN_88E)) { - efuse_utilized++; eFuse_Addr++; } } @@ -190,10 +185,6 @@ efuse_phymap_to_logical(u8 *phymap, u16 _size_byte, u8= *pbuf) /* */ memcpy(pbuf, efuseTbl, _size_byte); =20 - /* */ - /* 5. Calculate Efuse utilization. */ - /* */ - exit: kfree(efuseTbl); kfree(eFuseWord); --=20 2.30.2 From nobody Sat Apr 18 22:40:24 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 C9D5BC433EF for ; Sat, 9 Jul 2022 17:11:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229812AbiGIRLA (ORCPT ); Sat, 9 Jul 2022 13:11:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47380 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229517AbiGIRK3 (ORCPT ); Sat, 9 Jul 2022 13:10:29 -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 62CF312749 for ; Sat, 9 Jul 2022 10:10:28 -0700 (PDT) Received: from dslb-188-096-144-007.188.096.pools.vodafone-ip.de ([188.96.144.7] 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 1oADyJ-0005n0-SW; Sat, 09 Jul 2022 19:10:23 +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 14/14] staging: r8188eu: the bcnhead parameter is always 0 Date: Sat, 9 Jul 2022 19:10:00 +0200 Message-Id: <20220709171000.180481-15-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220709171000.180481-1-martin@kaiser.cx> References: <20220709171000.180481-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" The only caller of efuse_read_phymap_from_txpktbuf sets bcnhead to 0. Remove this function parameter and simplify the function body. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_hal_init.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/stag= ing/r8188eu/hal/rtl8188e_hal_init.c index ddda3f994fa7..fe477438899e 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c @@ -193,13 +193,11 @@ efuse_phymap_to_logical(u8 *phymap, u16 _size_byte, u= 8 *pbuf) /* FIXME: add error handling in callers */ static int efuse_read_phymap_from_txpktbuf( struct adapter *adapter, - int bcnhead, /* beacon head, where FW store len(2-byte) and efuse physica= l map. */ u8 *content, /* buffer to store efuse physical map */ u16 *size /* for efuse content: the max byte to read. will update to byte= read */ ) { unsigned long timeout; - u16 dbg_addr =3D 0; __le32 lo32 =3D 0, hi32 =3D 0; u16 len =3D 0, count =3D 0; int i =3D 0, res; @@ -208,20 +206,10 @@ static int efuse_read_phymap_from_txpktbuf( u8 *pos =3D content; u32 reg32; =20 - if (bcnhead < 0) { /* if not valid */ - res =3D rtw_read8(adapter, REG_TDECTRL + 1, ®); - if (res) - return res; - - bcnhead =3D reg; - } - rtw_write8(adapter, REG_PKT_BUFF_ACCESS_CTRL, TXPKT_BUF_SELECT); =20 - dbg_addr =3D bcnhead * 128 / 8; /* 8-bytes addressing */ - while (1) { - rtw_write16(adapter, REG_PKTBUF_DBG_ADDR, dbg_addr + i); + rtw_write16(adapter, REG_PKTBUF_DBG_ADDR, i); =20 rtw_write8(adapter, REG_TXPKTBUF_DBG, 0); timeout =3D jiffies + msecs_to_jiffies(1000); @@ -300,7 +288,7 @@ static s32 iol_read_efuse(struct adapter *padapter, u16= size_byte, u8 *logical_m rtw_write8(padapter, REG_PKT_BUFF_ACCESS_CTRL, TXPKT_BUF_SELECT); status =3D iol_execute(padapter, CMD_READ_EFUSE_MAP); if (status =3D=3D _SUCCESS) - efuse_read_phymap_from_txpktbuf(padapter, 0, physical_map, &size); + efuse_read_phymap_from_txpktbuf(padapter, physical_map, &size); efuse_phymap_to_logical(physical_map, size_byte, logical_map); return status; } --=20 2.30.2