From 9d8d6a3ac7d8ec8c4fb1fca0f22ef8016b0efd6b Mon Sep 17 00:00:00 2001 From: Gabriel Changamire Date: Tue, 28 Jul 2026 22:39:06 +0000 Subject: [PATCH 001/145] staging: sm750fb: fix kernel-doc comments in sm750_accel.h Fix the function name typo in the kernel-doc comment for sm750_hw_copyarea() (sm750_hm_copyarea) and add the missing @accel parameter descriptions for sm750_hw_copyarea() and sm750_hw_imageblit(), using the same wording as the corresponding comments in sm750_accel.c. This silences the kernel-doc warnings about the mismatched function name and the undescribed accel parameters. No functional change. Signed-off-by: Gabriel Changamire Link: https://patch.msgid.link/20260728223906.350-1-gaberashawn@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/sm750fb/sm750_accel.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/sm750fb/sm750_accel.h b/drivers/staging/sm750fb/sm750_accel.h index 617885431661..e76928bf260f 100644 --- a/drivers/staging/sm750fb/sm750_accel.h +++ b/drivers/staging/sm750fb/sm750_accel.h @@ -195,7 +195,8 @@ int sm750_hw_fillrect(struct lynx_accel *accel, u32 color, u32 rop); /** - * sm750_hm_copyarea + * sm750_hw_copyarea + * @accel: Acceleration device data * @source_base: Address of source: offset in frame buffer * @source_pitch: Pitch value of source surface in BYTE * @sx: Starting x coordinate of source surface @@ -219,6 +220,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel, /** * sm750_hw_imageblit + * @accel: Acceleration device data * @src_buf: pointer to start of source buffer in system memory * @src_delta: Pitch value (in bytes) of the source buffer, +ive means top down *>----- and -ive mean button up From 50e29941dcced12bd4c832eb27e1e5cfec88fb6a Mon Sep 17 00:00:00 2001 From: Maxim Codita Date: Wed, 12 Aug 2026 13:44:21 +0200 Subject: [PATCH 002/145] staging: sm750fb/sm750.c: mark g_def_fbmode as const pointer Fix a checkpatch.pl warning for g_def_fbmode by marking the pointer as const. Ensures it is stored as read-only. Note: g_fbmode[] is left as non-const as its elements are modified at runtime by lynxfb_set_fbinfo() and sm750fb_setup(). Signed-off-by: Maxim Codita Link: https://patch.msgid.link/20260812114421.24860-1-maxkoditsa7c@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/sm750fb/sm750.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 039e2033f84e..f842dfaf5769 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -13,7 +13,7 @@ static int g_hwcursor = 1; static int g_noaccel __ro_after_init; static int g_nomtrr __ro_after_init; static const char *g_fbmode[] = {NULL, NULL}; -static const char *g_def_fbmode = "1024x768-32@60"; +static const char * const g_def_fbmode = "1024x768-32@60"; static char *g_settings; static int g_dualview __ro_after_init; static char *g_option; From ac16d60fa171b583e5ab27fc95f43152c1cd798e Mon Sep 17 00:00:00 2001 From: Triet Hoang Date: Sat, 22 Aug 2026 08:34:08 +0000 Subject: [PATCH 003/145] staging: sm750: Convert to DEFINE_SIMPLE_DEV_PM_OPS() Convert the deprecated SIMPLE_DEV_PM_OPS to DEFINE_SIMPLE_DEV_PM_OPS and pm_sleep_ptr(). This lets us drop the __maybe_unused annotations from the suspend and resume callbacks, also reduces kernel size in case CONFIG_PM or CONFIG_PM_SLEEP is disabled. Signed-off-by: Triet Hoang Link: https://patch.msgid.link/20260822083408.44764-1-triet.hoang.dev@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/sm750fb/sm750.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index f842dfaf5769..4725fc423f1b 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -384,7 +384,7 @@ static inline unsigned int chan_to_field(unsigned int chan, return chan << bf->offset; } -static int __maybe_unused lynxfb_suspend(struct device *dev) +static int lynxfb_suspend(struct device *dev) { struct fb_info *info; struct sm750_dev *sm750_dev; @@ -405,7 +405,7 @@ static int __maybe_unused lynxfb_suspend(struct device *dev) return 0; } -static int __maybe_unused lynxfb_resume(struct device *dev) +static int lynxfb_resume(struct device *dev) { struct pci_dev *pdev = to_pci_dev(dev); struct fb_info *info; @@ -1094,14 +1094,14 @@ static const struct pci_device_id smi_pci_table[] = { MODULE_DEVICE_TABLE(pci, smi_pci_table); -static SIMPLE_DEV_PM_OPS(lynxfb_pm_ops, lynxfb_suspend, lynxfb_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(lynxfb_pm_ops, lynxfb_suspend, lynxfb_resume); static struct pci_driver lynxfb_driver = { .name = "sm750fb", .id_table = smi_pci_table, .probe = lynxfb_pci_probe, .remove = lynxfb_pci_remove, - .driver.pm = &lynxfb_pm_ops, + .driver.pm = pm_sleep_ptr(&lynxfb_pm_ops), }; static int __init lynxfb_init(void) From e8716b60532661709cc97db0518257bceb11ae94 Mon Sep 17 00:00:00 2001 From: Tomasz Unger Date: Sat, 22 Aug 2026 15:46:51 +0200 Subject: [PATCH 004/145] staging: sm750fb: fix typo in comment Fix a typo in a comment: "defaulty" should be "default". Signed-off-by: Tomasz Unger Link: https://patch.msgid.link/20260822-sm750fb-defaulty-typo-fix-v1-1-d2f668b1ccca@yahoo.pl Signed-off-by: Greg Kroah-Hartman --- drivers/staging/sm750fb/sm750.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 4725fc423f1b..dd3f31ee13b7 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -479,7 +479,7 @@ static int lynxfb_ops_check_var(struct fb_var_screeninfo *var, /* check if current fb's video memory big enough to hold the onscreen*/ request = var->xres_virtual * (var->bits_per_pixel >> 3); - /* defaulty crtc->channel go with par->index */ + /* default crtc->channel go with par->index */ request = ALIGN(request, crtc->line_pad); request = request * var->yres_virtual; From 2a371584385b97cb9772f76a3b18c663911b93b5 Mon Sep 17 00:00:00 2001 From: Olivier Tanoh Date: Tue, 28 Jul 2026 14:36:31 +0200 Subject: [PATCH 005/145] staging: rtl8723bs: rename mBratesOS to avoid CamelCase Fix checkpatch.pl warning regarding the use of CamelCase: CHECK: Avoid CamelCase: Rename it to basic_rates, which describes the content of the variable, rather than keeping the Hungarian notation prefixes. Signed-off-by: Olivier Tanoh Link: https://patch.msgid.link/20260728123633.79735-2-olivier.tanoh19@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_wlan_util.c | 6 +++--- drivers/staging/rtl8723bs/hal/hal_com.c | 6 +++--- drivers/staging/rtl8723bs/include/hal_com.h | 2 +- drivers/staging/rtl8723bs/include/rtw_mlme_ext.h | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c index 8c1f4670679b..6d49dff616c2 100644 --- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c +++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c @@ -180,14 +180,14 @@ void set_mcs_rate_by_mask(u8 *mcs_set, u32 mask) mcs_set[3] &= mcs_rate_4r; } -void update_basic_rate_table(struct adapter *Adapter, u8 *mBratesOS) +void update_basic_rate_table(struct adapter *Adapter, u8 *basic_rates) { u8 i; u8 rate; /* 1M, 2M, 5.5M, 11M, 6M, 12M, 24M are mandatory. */ for (i = 0; i < NDIS_802_11_LENGTH_RATES_EX; i++) { - rate = mBratesOS[i] & 0x7f; + rate = basic_rates[i] & 0x7f; switch (rate) { case IEEE80211_CCK_RATE_1MB: case IEEE80211_CCK_RATE_2MB: @@ -196,7 +196,7 @@ void update_basic_rate_table(struct adapter *Adapter, u8 *mBratesOS) case IEEE80211_OFDM_RATE_6MB: case IEEE80211_OFDM_RATE_12MB: case IEEE80211_OFDM_RATE_24MB: - mBratesOS[i] |= IEEE80211_BASIC_RATE_MASK; + basic_rates[i] |= IEEE80211_BASIC_RATE_MASK; break; } } diff --git a/drivers/staging/rtl8723bs/hal/hal_com.c b/drivers/staging/rtl8723bs/hal/hal_com.c index 2c856a2721b2..656c75ded16f 100644 --- a/drivers/staging/rtl8723bs/hal/hal_com.c +++ b/drivers/staging/rtl8723bs/hal/hal_com.c @@ -247,13 +247,13 @@ u8 HwRateToMRate(u8 rate) return ret_rate; } -void HalSetBrateCfg(struct adapter *Adapter, u8 *mBratesOS, u16 *pBrateCfg) +void HalSetBrateCfg(struct adapter *Adapter, u8 *basic_rates, u16 *pBrateCfg) { u8 i, is_brate, brate; for (i = 0; i < NDIS_802_11_LENGTH_RATES_EX; i++) { - is_brate = mBratesOS[i] & IEEE80211_BASIC_RATE_MASK; - brate = mBratesOS[i] & 0x7f; + is_brate = basic_rates[i] & IEEE80211_BASIC_RATE_MASK; + brate = basic_rates[i] & 0x7f; if (is_brate) { switch (brate) { diff --git a/drivers/staging/rtl8723bs/include/hal_com.h b/drivers/staging/rtl8723bs/include/hal_com.h index 7bbf62cfd825..17bce0f88bac 100644 --- a/drivers/staging/rtl8723bs/include/hal_com.h +++ b/drivers/staging/rtl8723bs/include/hal_com.h @@ -112,7 +112,7 @@ u8 HwRateToMRate(u8 rate); void HalSetBrateCfg( struct adapter *Adapter, - u8 *mBratesOS, + u8 *basic_rates, u16 *pBrateCfg); bool diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index 179fae4d8fcc..4b79e56f329a 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -430,7 +430,7 @@ u8 networktype_to_raid_ex(struct adapter *adapter, struct sta_info *psta); void get_rate_set(struct adapter *padapter, unsigned char *pbssrate, int *bssrate_len); void set_mcs_rate_by_mask(u8 *mcs_set, u32 mask); -void update_basic_rate_table(struct adapter *padapter, u8 *mBratesOS); +void update_basic_rate_table(struct adapter *padapter, u8 *basic_rates); void update_basic_rate_table_soft_ap(u8 *bssrateset, u32 bssratelen); void save_dm_func_flag(struct adapter *padapter); From c726f140863753d1a3e6cf5c618100780f4af7f5 Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:24 +0000 Subject: [PATCH 006/145] staging: rtl8723bs: renaming variable pbuf in rtw_mlme.c Renaming occurrences of pbuf to buf since the prefix p is an old naming convention to indicate a pointer variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-2-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 42 +++++++++++------------ 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index fc46b33b836a..7f43f8f27186 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -42,7 +42,7 @@ static void rtw_init_mlme_timer(struct adapter *padapter) int rtw_init_mlme_priv(struct adapter *padapter) { int i; - u8 *pbuf; + u8 *buf; struct wlan_network *pnetwork; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; int res = _SUCCESS; @@ -62,15 +62,15 @@ int rtw_init_mlme_priv(struct adapter *padapter) memset(&pmlmepriv->assoc_ssid, 0, sizeof(struct ndis_802_11_ssid)); - pbuf = vzalloc(array_size(MAX_BSS_CNT, sizeof(struct wlan_network))); + buf = vzalloc(array_size(MAX_BSS_CNT, sizeof(struct wlan_network))); - if (!pbuf) { + if (!buf) { res = _FAIL; goto exit; } - pmlmepriv->free_bss_buf = pbuf; + pmlmepriv->free_bss_buf = buf; - pnetwork = (struct wlan_network *)pbuf; + pnetwork = (struct wlan_network *)buf; for (i = 0; i < MAX_BSS_CNT; i++) { INIT_LIST_HEAD(&pnetwork->list); @@ -632,13 +632,13 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network return bselected; } -void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_survey_event_callback(struct adapter *adapter, u8 *buf) { u32 len; struct wlan_bssid_ex *pnetwork; struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - pnetwork = (struct wlan_bssid_ex *)pbuf; + pnetwork = (struct wlan_bssid_ex *)buf; len = get_wlan_bssid_ex_sz(pnetwork); if (len > (sizeof(struct wlan_bssid_ex))) @@ -675,7 +675,7 @@ void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf) spin_unlock_bh(&pmlmepriv->lock); } -void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) { struct mlme_priv *pmlmepriv = &adapter->mlmepriv; @@ -777,11 +777,11 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf) rtw_indicate_scan_done(adapter, false); } -void rtw_dummy_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_dummy_event_callback(struct adapter *adapter, u8 *buf) { } -void rtw_fwdbg_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_fwdbg_event_callback(struct adapter *adapter, u8 *buf) { } @@ -1143,12 +1143,12 @@ void rtw_reset_securitypriv(struct adapter *adapter) /* if join_res > 0, for (fw_state ==WIFI_ADHOC_STATE), we only check if "ptarget_wlan" exist. */ /* if join_res > 0, update "cur_network->network" from "pnetwork->network" if (ptarget_wlan != NULL). */ /* */ -void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) +void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *buf) { struct sta_info *ptarget_sta = NULL, *pcur_sta = NULL; struct sta_priv *pstapriv = &adapter->stapriv; struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct wlan_network *pnetwork = (struct wlan_network *)pbuf; + struct wlan_network *pnetwork = (struct wlan_network *)buf; struct wlan_network *cur_network = &pmlmepriv->cur_network; struct wlan_network *pcur_wlan = NULL, *ptarget_wlan = NULL; unsigned int the_same_macaddr = false; @@ -1251,9 +1251,9 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) timer_delete_sync(&pmlmepriv->assoc_timer); } -void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_joinbss_event_callback(struct adapter *adapter, u8 *buf) { - struct wlan_network *pnetwork = (struct wlan_network *)pbuf; + struct wlan_network *pnetwork = (struct wlan_network *)buf; mlmeext_joinbss_event_callback(adapter, pnetwork->join_res); @@ -1272,11 +1272,11 @@ void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta, u3 rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status_rpt); } -void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_stassoc_event_callback(struct adapter *adapter, u8 *buf) { struct sta_info *psta; struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct stassoc_event *pstassoc = (struct stassoc_event *)pbuf; + struct stassoc_event *pstassoc = (struct stassoc_event *)buf; struct wlan_network *cur_network = &pmlmepriv->cur_network; struct wlan_network *ptarget_wlan = NULL; @@ -1363,7 +1363,7 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf) mlmeext_sta_add_event_callback(adapter, psta); } -void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) { int mac_id = (-1); struct sta_info *psta; @@ -1371,7 +1371,7 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf) struct wlan_bssid_ex *pdev_network = NULL; u8 *pibss = NULL; struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct stadel_event *pstadel = (struct stadel_event *)pbuf; + struct stadel_event *pstadel = (struct stadel_event *)buf; struct wlan_network *tgt_network = &pmlmepriv->cur_network; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -1480,16 +1480,16 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf) spin_unlock_bh(&pmlmepriv->lock); } -void rtw_cpwm_event_callback(struct adapter *padapter, u8 *pbuf) +void rtw_cpwm_event_callback(struct adapter *padapter, u8 *buf) { struct reportpwrstate_parm *preportpwrstate; - preportpwrstate = (struct reportpwrstate_parm *)pbuf; + preportpwrstate = (struct reportpwrstate_parm *)buf; preportpwrstate->state |= (u8)(adapter_to_pwrctl(padapter)->cpwm_tog + 0x80); cpwm_int_hdl(padapter, preportpwrstate); } -void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf) +void rtw_wmm_event_callback(struct adapter *padapter, u8 *buf) { WMMOnAssocRsp(padapter); } From f3c7db00414a569d55bec763e699f229015d46bf Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:25 +0000 Subject: [PATCH 007/145] staging: rtl8723bs: renaming variable pmlmepriv in rtw_mlme.c Renaming occurrences of pmlmepriv to mlme_priv since the prefix p is an old naming convention to indicate a pointer variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-3-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 520 +++++++++++----------- 1 file changed, 260 insertions(+), 260 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 7f43f8f27186..276bf83fa024 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -29,13 +29,13 @@ static void _rtw_set_scan_deny_timer_hdl(struct timer_list *t) static void rtw_init_mlme_timer(struct adapter *padapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; - timer_setup(&pmlmepriv->assoc_timer, _rtw_join_timeout_handler, 0); - timer_setup(&pmlmepriv->scan_to_timer, rtw_scan_timeout_handler, 0); - timer_setup(&pmlmepriv->dynamic_chk_timer, + timer_setup(&mlme_priv->assoc_timer, _rtw_join_timeout_handler, 0); + timer_setup(&mlme_priv->scan_to_timer, rtw_scan_timeout_handler, 0); + timer_setup(&mlme_priv->dynamic_chk_timer, _dynamic_check_timer_handler, 0); - timer_setup(&pmlmepriv->set_scan_deny_timer, + timer_setup(&mlme_priv->set_scan_deny_timer, _rtw_set_scan_deny_timer_hdl, 0); } @@ -44,23 +44,23 @@ int rtw_init_mlme_priv(struct adapter *padapter) int i; u8 *buf; struct wlan_network *pnetwork; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; int res = _SUCCESS; - pmlmepriv->nic_hdl = (u8 *)padapter; + mlme_priv->nic_hdl = (u8 *)padapter; - pmlmepriv->pscanned = NULL; - pmlmepriv->fw_state = WIFI_STATION_STATE; /* Must sync with rtw_wdev_alloc() */ - pmlmepriv->cur_network.network.infrastructure_mode = NL80211_IFTYPE_UNSPECIFIED; - pmlmepriv->scan_mode = SCAN_ACTIVE;/* 1: active, 0: passive. Maybe someday we should rename this variable to "active_mode" (Jeff) */ + mlme_priv->pscanned = NULL; + mlme_priv->fw_state = WIFI_STATION_STATE; /* Must sync with rtw_wdev_alloc() */ + mlme_priv->cur_network.network.infrastructure_mode = NL80211_IFTYPE_UNSPECIFIED; + mlme_priv->scan_mode = SCAN_ACTIVE;/* 1: active, 0: passive. Maybe someday we should rename this variable to "active_mode" (Jeff) */ - spin_lock_init(&pmlmepriv->lock); - INIT_LIST_HEAD(&pmlmepriv->free_bss_pool.queue); - spin_lock_init(&pmlmepriv->free_bss_pool.lock); - INIT_LIST_HEAD(&pmlmepriv->scanned_queue.queue); - spin_lock_init(&pmlmepriv->scanned_queue.lock); + spin_lock_init(&mlme_priv->lock); + INIT_LIST_HEAD(&mlme_priv->free_bss_pool.queue); + spin_lock_init(&mlme_priv->free_bss_pool.lock); + INIT_LIST_HEAD(&mlme_priv->scanned_queue.queue); + spin_lock_init(&mlme_priv->scanned_queue.lock); - memset(&pmlmepriv->assoc_ssid, 0, sizeof(struct ndis_802_11_ssid)); + memset(&mlme_priv->assoc_ssid, 0, sizeof(struct ndis_802_11_ssid)); buf = vzalloc(array_size(MAX_BSS_CNT, sizeof(struct wlan_network))); @@ -68,14 +68,14 @@ int rtw_init_mlme_priv(struct adapter *padapter) res = _FAIL; goto exit; } - pmlmepriv->free_bss_buf = buf; + mlme_priv->free_bss_buf = buf; pnetwork = (struct wlan_network *)buf; for (i = 0; i < MAX_BSS_CNT; i++) { INIT_LIST_HEAD(&pnetwork->list); - list_add_tail(&pnetwork->list, &pmlmepriv->free_bss_pool.queue); + list_add_tail(&pnetwork->list, &mlme_priv->free_bss_pool.queue); pnetwork++; } @@ -88,14 +88,14 @@ int rtw_init_mlme_priv(struct adapter *padapter) #define RTW_ROAM_RSSI_DIFF_TH 10 #define RTW_ROAM_SCAN_INTERVAL_MS 10000 - pmlmepriv->roam_flags = 0 + mlme_priv->roam_flags = 0 | RTW_ROAM_ON_EXPIRED | RTW_ROAM_ON_RESUME ; - pmlmepriv->roam_scanr_exp_ms = RTW_ROAM_SCAN_RESULT_EXP_MS; - pmlmepriv->roam_rssi_diff_th = RTW_ROAM_RSSI_DIFF_TH; - pmlmepriv->roam_scan_int_ms = RTW_ROAM_SCAN_INTERVAL_MS; + mlme_priv->roam_scanr_exp_ms = RTW_ROAM_SCAN_RESULT_EXP_MS; + mlme_priv->roam_rssi_diff_th = RTW_ROAM_RSSI_DIFF_TH; + mlme_priv->roam_scan_int_ms = RTW_ROAM_SCAN_INTERVAL_MS; rtw_init_mlme_timer(padapter); @@ -113,34 +113,34 @@ static void rtw_free_mlme_ie_data(u8 **ppie, u32 *plen) } } -void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv) +void rtw_free_mlme_priv_ie_data(struct mlme_priv *mlme_priv) { - rtw_buf_free(&pmlmepriv->assoc_req, &pmlmepriv->assoc_req_len); - rtw_buf_free(&pmlmepriv->assoc_rsp, &pmlmepriv->assoc_rsp_len); - rtw_free_mlme_ie_data(&pmlmepriv->wps_beacon_ie, &pmlmepriv->wps_beacon_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->wps_probe_req_ie, &pmlmepriv->wps_probe_req_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->wps_probe_resp_ie, &pmlmepriv->wps_probe_resp_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->wps_assoc_resp_ie, &pmlmepriv->wps_assoc_resp_ie_len); + rtw_buf_free(&mlme_priv->assoc_req, &mlme_priv->assoc_req_len); + rtw_buf_free(&mlme_priv->assoc_rsp, &mlme_priv->assoc_rsp_len); + rtw_free_mlme_ie_data(&mlme_priv->wps_beacon_ie, &mlme_priv->wps_beacon_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->wps_probe_req_ie, &mlme_priv->wps_probe_req_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->wps_probe_resp_ie, &mlme_priv->wps_probe_resp_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->wps_assoc_resp_ie, &mlme_priv->wps_assoc_resp_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_beacon_ie, &pmlmepriv->p2p_beacon_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_probe_req_ie, &pmlmepriv->p2p_probe_req_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_probe_resp_ie, &pmlmepriv->p2p_probe_resp_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_go_probe_resp_ie, &pmlmepriv->p2p_go_probe_resp_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_assoc_req_ie, &pmlmepriv->p2p_assoc_req_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_beacon_ie, &mlme_priv->p2p_beacon_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_probe_req_ie, &mlme_priv->p2p_probe_req_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_probe_resp_ie, &mlme_priv->p2p_probe_resp_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_go_probe_resp_ie, &mlme_priv->p2p_go_probe_resp_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_assoc_req_ie, &mlme_priv->p2p_assoc_req_ie_len); } -void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv) +void _rtw_free_mlme_priv(struct mlme_priv *mlme_priv) { - if (pmlmepriv) { - rtw_free_mlme_priv_ie_data(pmlmepriv); - vfree(pmlmepriv->free_bss_buf); + if (mlme_priv) { + rtw_free_mlme_priv_ie_data(mlme_priv); + vfree(mlme_priv->free_bss_buf); } } -struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv) +struct wlan_network *rtw_alloc_network(struct mlme_priv *mlme_priv) { struct wlan_network *pnetwork; - struct __queue *free_queue = &pmlmepriv->free_bss_pool; + struct __queue *free_queue = &mlme_priv->free_bss_pool; struct list_head *plist = NULL; spin_lock_bh(&free_queue->lock); @@ -167,11 +167,11 @@ struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv) return pnetwork; } -void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork, u8 isfreeall) +void _rtw_free_network(struct mlme_priv *mlme_priv, struct wlan_network *pnetwork, u8 isfreeall) { unsigned int delta_time; u32 lifetime = SCANQUEUE_LIFETIME; - struct __queue *free_queue = &pmlmepriv->free_bss_pool; + struct __queue *free_queue = &mlme_priv->free_bss_pool; if (!pnetwork) return; @@ -179,8 +179,8 @@ void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwor if (pnetwork->fixed) return; - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) || + check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) lifetime = 1; if (!isfreeall) { @@ -198,9 +198,9 @@ void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwor spin_unlock_bh(&free_queue->lock); } -void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork) +void _rtw_free_network_nolock(struct mlme_priv *mlme_priv, struct wlan_network *pnetwork) { - struct __queue *free_queue = &pmlmepriv->free_bss_pool; + struct __queue *free_queue = &mlme_priv->free_bss_pool; if (!pnetwork) return; @@ -247,8 +247,8 @@ void rtw_free_network_queue(struct adapter *padapter, u8 isfreeall) { struct list_head *phead, *plist, *tmp; struct wlan_network *pnetwork; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct __queue *scanned_queue = &pmlmepriv->scanned_queue; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct __queue *scanned_queue = &mlme_priv->scanned_queue; spin_lock_bh(&scanned_queue->lock); @@ -256,7 +256,7 @@ void rtw_free_network_queue(struct adapter *padapter, u8 isfreeall) list_for_each_safe(plist, tmp, phead) { pnetwork = list_entry(plist, struct wlan_network, list); - _rtw_free_network(pmlmepriv, pnetwork, isfreeall); + _rtw_free_network(mlme_priv, pnetwork, isfreeall); } spin_unlock_bh(&scanned_queue->lock); @@ -302,9 +302,9 @@ u8 *rtw_get_beacon_interval_from_ie(u8 *ie) return ie + 8; } -void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv) +void rtw_free_mlme_priv(struct mlme_priv *mlme_priv) { - _rtw_free_mlme_priv(pmlmepriv); + _rtw_free_mlme_priv(mlme_priv); } void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork); @@ -452,25 +452,25 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, static void update_current_network(struct adapter *adapter, struct wlan_bssid_ex *pnetwork) { - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - if (check_fwstate(pmlmepriv, _FW_LINKED) && (is_same_network(&pmlmepriv->cur_network.network, pnetwork, 0))) { - update_network(&pmlmepriv->cur_network.network, pnetwork, adapter, true); - if (pmlmepriv->cur_network.network.ie_length < sizeof(struct ndis_802_11_fix_ie)) + if (check_fwstate(mlme_priv, _FW_LINKED) && (is_same_network(&mlme_priv->cur_network.network, pnetwork, 0))) { + update_network(&mlme_priv->cur_network.network, pnetwork, adapter, true); + if (mlme_priv->cur_network.network.ie_length < sizeof(struct ndis_802_11_fix_ie)) return; - rtw_update_protection(adapter, (pmlmepriv->cur_network.network.ies) + sizeof(struct ndis_802_11_fix_ie), - pmlmepriv->cur_network.network.ie_length - sizeof(struct ndis_802_11_fix_ie)); + rtw_update_protection(adapter, (mlme_priv->cur_network.network.ies) + sizeof(struct ndis_802_11_fix_ie), + mlme_priv->cur_network.network.ie_length - sizeof(struct ndis_802_11_fix_ie)); } } -/* Caller must hold pmlmepriv->lock first. */ +/* Caller must hold mlme_priv->lock first. */ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target) { struct list_head *plist, *phead; u32 bssid_ex_sz; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct __queue *queue = &pmlmepriv->scanned_queue; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct __queue *queue = &mlme_priv->scanned_queue; struct wlan_network *pnetwork = NULL; struct wlan_network *oldest = NULL; int target_find = 0; @@ -499,7 +499,7 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t * with this beacon's information */ if (!target_find) { - if (list_empty(&pmlmepriv->free_bss_pool.queue)) { + if (list_empty(&mlme_priv->free_bss_pool.queue)) { /* If there are no more slots, expire the oldest */ /* list_del_init(&oldest->list); */ pnetwork = oldest; @@ -521,7 +521,7 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t } else { /* Otherwise just pull from the free list */ - pnetwork = rtw_alloc_network(pmlmepriv); /* will update scan_time */ + pnetwork = rtw_alloc_network(mlme_priv); /* will update scan_time */ if (!pnetwork) goto exit; @@ -583,7 +583,7 @@ static void rtw_add_network(struct adapter *adapter, struct wlan_bssid_ex *pnetw static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network *pnetwork) { struct security_priv *psecuritypriv = &adapter->securitypriv; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; u32 desired_encmode; u32 privacy; uint wps_ielen; @@ -592,7 +592,7 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network desired_encmode = psecuritypriv->ndisencryptstatus; privacy = pnetwork->network.privacy; - if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS)) { + if (check_fwstate(mlme_priv, WIFI_UNDER_WPS)) { if (pnetwork->network.ie_length < _FIXED_IE_LENGTH_) return false; if (rtw_get_wps_ie(pnetwork->network.ies + _FIXED_IE_LENGTH_, pnetwork->network.ie_length - _FIXED_IE_LENGTH_, NULL, &wps_ielen)) @@ -624,8 +624,8 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network if ((desired_encmode != Ndis802_11EncryptionDisabled) && (privacy == 0)) bselected = false; - if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { - if (pnetwork->network.infrastructure_mode != pmlmepriv->cur_network.network.infrastructure_mode) + if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { + if (pnetwork->network.infrastructure_mode != mlme_priv->cur_network.network.infrastructure_mode) bselected = false; } @@ -636,7 +636,7 @@ void rtw_survey_event_callback(struct adapter *adapter, u8 *buf) { u32 len; struct wlan_bssid_ex *pnetwork; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; pnetwork = (struct wlan_bssid_ex *)buf; @@ -644,27 +644,27 @@ void rtw_survey_event_callback(struct adapter *adapter, u8 *buf) if (len > (sizeof(struct wlan_bssid_ex))) return; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); /* update IBSS_network 's timestamp */ - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) { - if (!memcmp(&pmlmepriv->cur_network.network.mac_address, pnetwork->mac_address, ETH_ALEN)) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE)) { + if (!memcmp(&mlme_priv->cur_network.network.mac_address, pnetwork->mac_address, ETH_ALEN)) { struct wlan_network *ibss_wlan = NULL; - memcpy(pmlmepriv->cur_network.network.ies, pnetwork->ies, 8); - spin_lock_bh(&pmlmepriv->scanned_queue.lock); - ibss_wlan = rtw_find_network(&pmlmepriv->scanned_queue, pnetwork->mac_address); + memcpy(mlme_priv->cur_network.network.ies, pnetwork->ies, 8); + spin_lock_bh(&mlme_priv->scanned_queue.lock); + ibss_wlan = rtw_find_network(&mlme_priv->scanned_queue, pnetwork->mac_address); if (ibss_wlan) { memcpy(ibss_wlan->network.ies, pnetwork->ies, 8); - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); goto exit; } - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); } } - /* lock pmlmepriv->lock when you accessing network_q */ - if (!check_fwstate(pmlmepriv, _FW_UNDER_LINKING)) { + /* lock mlme_priv->lock when you accessing network_q */ + if (!check_fwstate(mlme_priv, _FW_UNDER_LINKING)) { if (pnetwork->ssid.ssid[0] == 0) pnetwork->ssid.ssid_length = 0; rtw_add_network(adapter, pnetwork); @@ -672,36 +672,36 @@ void rtw_survey_event_callback(struct adapter *adapter, u8 *buf) exit: - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); } void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) { - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - spin_lock_bh(&pmlmepriv->lock); - if (pmlmepriv->wps_probe_req_ie) { - pmlmepriv->wps_probe_req_ie_len = 0; - kfree(pmlmepriv->wps_probe_req_ie); - pmlmepriv->wps_probe_req_ie = NULL; + spin_lock_bh(&mlme_priv->lock); + if (mlme_priv->wps_probe_req_ie) { + mlme_priv->wps_probe_req_ie_len = 0; + kfree(mlme_priv->wps_probe_req_ie); + mlme_priv->wps_probe_req_ie = NULL; } - if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) { - spin_unlock_bh(&pmlmepriv->lock); - timer_delete_sync(&pmlmepriv->scan_to_timer); - spin_lock_bh(&pmlmepriv->lock); - _clr_fwstate_(pmlmepriv, _FW_UNDER_SURVEY); + if (check_fwstate(mlme_priv, _FW_UNDER_SURVEY)) { + spin_unlock_bh(&mlme_priv->lock); + timer_delete_sync(&mlme_priv->scan_to_timer); + spin_lock_bh(&mlme_priv->lock); + _clr_fwstate_(mlme_priv, _FW_UNDER_SURVEY); } rtw_set_signal_stat_timer(&adapter->recvpriv); - if (pmlmepriv->to_join) { - if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { - if (!check_fwstate(pmlmepriv, _FW_LINKED)) { - set_fwstate(pmlmepriv, _FW_UNDER_LINKING); + if (mlme_priv->to_join) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { + if (!check_fwstate(mlme_priv, _FW_LINKED)) { + set_fwstate(mlme_priv, _FW_UNDER_LINKING); - if (rtw_select_and_join_from_scanned_queue(pmlmepriv) == _SUCCESS) { - _set_timer(&pmlmepriv->assoc_timer, MAX_JOIN_TIMEOUT); + if (rtw_select_and_join_from_scanned_queue(mlme_priv) == _SUCCESS) { + _set_timer(&mlme_priv->assoc_timer, MAX_JOIN_TIMEOUT); } else { u8 ret = _SUCCESS; struct wlan_bssid_ex *pdev_network = @@ -709,18 +709,18 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) u8 *pibss = adapter->registrypriv.dev_network.mac_address; - /* pmlmepriv->fw_state ^= _FW_UNDER_SURVEY;because don't set assoc_timer */ - _clr_fwstate_(pmlmepriv, _FW_UNDER_SURVEY); + /* mlme_priv->fw_state ^= _FW_UNDER_SURVEY;because don't set assoc_timer */ + _clr_fwstate_(mlme_priv, _FW_UNDER_SURVEY); - memcpy(&pdev_network->ssid, &pmlmepriv->assoc_ssid, + memcpy(&pdev_network->ssid, &mlme_priv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); rtw_update_registrypriv_dev_network(adapter); rtw_generate_random_ibss(pibss); - pmlmepriv->fw_state = WIFI_ADHOC_MASTER_STATE; + mlme_priv->fw_state = WIFI_ADHOC_MASTER_STATE; - pmlmepriv->to_join = false; + mlme_priv->to_join = false; ret = rtw_createbss_cmd(adapter); if (ret != _SUCCESS) @@ -730,37 +730,37 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) } else { int s_ret; - set_fwstate(pmlmepriv, _FW_UNDER_LINKING); - pmlmepriv->to_join = false; - s_ret = rtw_select_and_join_from_scanned_queue(pmlmepriv); + set_fwstate(mlme_priv, _FW_UNDER_LINKING); + mlme_priv->to_join = false; + s_ret = rtw_select_and_join_from_scanned_queue(mlme_priv); if (s_ret == _SUCCESS) { - _set_timer(&pmlmepriv->assoc_timer, MAX_JOIN_TIMEOUT); + _set_timer(&mlme_priv->assoc_timer, MAX_JOIN_TIMEOUT); } else if (s_ret == 2) {/* there is no need to wait for join */ - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING); rtw_indicate_connect(adapter); } else { if (rtw_to_roam(adapter) != 0) { if (rtw_dec_to_roam(adapter) == 0 || - rtw_sitesurvey_cmd(adapter, &pmlmepriv->assoc_ssid, + rtw_sitesurvey_cmd(adapter, &mlme_priv->assoc_ssid, 1, NULL, 0) != _SUCCESS) { rtw_set_to_roam(adapter, 0); rtw_free_assoc_resources(adapter, 1); rtw_indicate_disconnect(adapter); } else { - pmlmepriv->to_join = true; + mlme_priv->to_join = true; } } else { rtw_indicate_disconnect(adapter); } - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING); } } } else { if (rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) { - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) && - check_fwstate(pmlmepriv, _FW_LINKED)) { - if (rtw_select_roaming_candidate(pmlmepriv) == _SUCCESS) { - receive_disconnect(adapter, pmlmepriv->cur_network.network.mac_address + if (check_fwstate(mlme_priv, WIFI_STATION_STATE) && + check_fwstate(mlme_priv, _FW_LINKED)) { + if (rtw_select_roaming_candidate(mlme_priv) == _SUCCESS) { + receive_disconnect(adapter, mlme_priv->cur_network.network.mac_address , WLAN_REASON_ACTIVE_ROAM); } } @@ -768,7 +768,7 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) } unlock: - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); rtw_os_xmit_schedule(adapter); @@ -785,10 +785,10 @@ void rtw_fwdbg_event_callback(struct adapter *adapter, u8 *buf) { } -static void free_scanqueue(struct mlme_priv *pmlmepriv) +static void free_scanqueue(struct mlme_priv *mlme_priv) { - struct __queue *free_queue = &pmlmepriv->free_bss_pool; - struct __queue *scan_queue = &pmlmepriv->scanned_queue; + struct __queue *free_queue = &mlme_priv->free_bss_pool; + struct __queue *scan_queue = &mlme_priv->scanned_queue; struct list_head *plist, *phead, *ptemp; spin_lock_bh(&scan_queue->lock); @@ -811,34 +811,34 @@ static void free_scanqueue(struct mlme_priv *pmlmepriv) static void find_network(struct adapter *adapter) { struct wlan_network *pwlan = NULL; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct wlan_network *tgt_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct wlan_network *tgt_network = &mlme_priv->cur_network; - pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.mac_address); + pwlan = rtw_find_network(&mlme_priv->scanned_queue, tgt_network->network.mac_address); if (!pwlan) return; pwlan->fixed = false; - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) && + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) && (adapter->stapriv.asoc_sta_count == 1)) rtw_free_network_nolock(adapter, pwlan); } -/* rtw_free_assoc_resources: the caller has to lock pmlmepriv->lock */ +/* rtw_free_assoc_resources: the caller has to lock mlme_priv->lock */ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) { - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct wlan_network *tgt_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct wlan_network *tgt_network = &mlme_priv->cur_network; - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_AP_STATE)) { + if (check_fwstate(mlme_priv, WIFI_STATION_STATE | WIFI_AP_STATE)) { struct sta_info *psta; psta = rtw_get_stainfo(&adapter->stapriv, tgt_network->network.mac_address); rtw_free_stainfo(adapter, psta); } - if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE | WIFI_AP_STATE)) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE | WIFI_AP_STATE)) { struct sta_info *psta; rtw_free_all_stainfo(adapter); @@ -855,18 +855,18 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) adapter->securitypriv.key_mask = 0; } -/* rtw_indicate_connect: the caller has to lock pmlmepriv->lock */ +/* rtw_indicate_connect: the caller has to lock mlme_priv->lock */ void rtw_indicate_connect(struct adapter *padapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; - pmlmepriv->to_join = false; + mlme_priv->to_join = false; if (!check_fwstate(&padapter->mlmepriv, _FW_LINKED)) { - set_fwstate(pmlmepriv, _FW_LINKED); + set_fwstate(mlme_priv, _FW_LINKED); - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) || + check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) rtw_cfg80211_ibss_indicate_connect(padapter); else rtw_cfg80211_indicate_connect(padapter); @@ -881,15 +881,15 @@ void rtw_indicate_connect(struct adapter *padapter) rtw_set_scan_deny(padapter, 3000); } -/* rtw_indicate_disconnect: the caller has to lock pmlmepriv->lock */ +/* rtw_indicate_disconnect: the caller has to lock mlme_priv->lock */ void rtw_indicate_disconnect(struct adapter *padapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING | WIFI_UNDER_WPS); + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING | WIFI_UNDER_WPS); if (rtw_to_roam(padapter) > 0) - _clr_fwstate_(pmlmepriv, _FW_LINKED); + _clr_fwstate_(mlme_priv, _FW_LINKED); if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) || rtw_to_roam(padapter) <= 0) { /* Do it first for tx broadcast pkt after disconnection issue! */ @@ -902,7 +902,7 @@ void rtw_indicate_disconnect(struct adapter *padapter) /* set ips_deny_time to avoid enter IPS before LPS leave */ rtw_set_ips_deny(padapter, 3000); - _clr_fwstate_(pmlmepriv, _FW_LINKED); + _clr_fwstate_(mlme_priv, _FW_LINKED); rtw_clear_scan_deny(padapter); } @@ -925,12 +925,12 @@ inline void rtw_indicate_scan_done(struct adapter *padapter, bool aborted) void rtw_scan_abort(struct adapter *adapter) { unsigned long start; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; start = jiffies; pmlmeext->scan_abort = true; - while (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY) + while (check_fwstate(mlme_priv, _FW_UNDER_SURVEY) && jiffies_to_msecs(start) <= 200) { if (adapter->driver_stopped || adapter->bSurpriseRemoved) break; @@ -938,7 +938,7 @@ void rtw_scan_abort(struct adapter *adapter) msleep(20); } - if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) + if (check_fwstate(mlme_priv, _FW_UNDER_SURVEY)) rtw_indicate_scan_done(adapter, true); pmlmeext->scan_abort = false; @@ -1031,8 +1031,8 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_network *ptarget_wlan, struct wlan_network *pnetwork) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct wlan_network *cur_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct wlan_network *cur_network = &mlme_priv->cur_network; /* why not use ptarget_wlan?? */ memcpy(&cur_network->network, &pnetwork->network, pnetwork->network.length); @@ -1055,17 +1055,17 @@ static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_net switch (pnetwork->network.infrastructure_mode) { case NL80211_IFTYPE_STATION: - if (pmlmepriv->fw_state & WIFI_UNDER_WPS) - pmlmepriv->fw_state = WIFI_STATION_STATE | WIFI_UNDER_WPS; + if (mlme_priv->fw_state & WIFI_UNDER_WPS) + mlme_priv->fw_state = WIFI_STATION_STATE | WIFI_UNDER_WPS; else - pmlmepriv->fw_state = WIFI_STATION_STATE; + mlme_priv->fw_state = WIFI_STATION_STATE; break; case NL80211_IFTYPE_ADHOC: - pmlmepriv->fw_state = WIFI_ADHOC_STATE; + mlme_priv->fw_state = WIFI_ADHOC_STATE; break; default: - pmlmepriv->fw_state = WIFI_NULL_STATE; + mlme_priv->fw_state = WIFI_NULL_STATE; break; } @@ -1147,9 +1147,9 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *buf) { struct sta_info *ptarget_sta = NULL, *pcur_sta = NULL; struct sta_priv *pstapriv = &adapter->stapriv; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct wlan_network *pnetwork = (struct wlan_network *)buf; - struct wlan_network *cur_network = &pmlmepriv->cur_network; + struct wlan_network *cur_network = &mlme_priv->cur_network; struct wlan_network *pcur_wlan = NULL, *ptarget_wlan = NULL; unsigned int the_same_macaddr = false; @@ -1159,43 +1159,43 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *buf) if (pnetwork->network.length > sizeof(struct wlan_bssid_ex)) return; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); - pmlmepriv->link_detect_info.traffic_transition_count = 0; - pmlmepriv->link_detect_info.low_power_transition_count = 0; + mlme_priv->link_detect_info.traffic_transition_count = 0; + mlme_priv->link_detect_info.low_power_transition_count = 0; if (pnetwork->join_res == -4) { rtw_reset_securitypriv(adapter); - _set_timer(&pmlmepriv->assoc_timer, 1); + _set_timer(&mlme_priv->assoc_timer, 1); - if (check_fwstate(pmlmepriv, _FW_UNDER_LINKING)) - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); + if (check_fwstate(mlme_priv, _FW_UNDER_LINKING)) + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); return; } if (pnetwork->join_res <= 0) { /* if join_res < 0 (join fails), then try again */ - _set_timer(&pmlmepriv->assoc_timer, 1); - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); - spin_unlock_bh(&pmlmepriv->lock); + _set_timer(&mlme_priv->assoc_timer, 1); + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING); + spin_unlock_bh(&mlme_priv->lock); return; } - spin_lock_bh(&pmlmepriv->scanned_queue.lock); + spin_lock_bh(&mlme_priv->scanned_queue.lock); - if (!check_fwstate(pmlmepriv, _FW_UNDER_LINKING)) { - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); - spin_unlock_bh(&pmlmepriv->lock); + if (!check_fwstate(mlme_priv, _FW_UNDER_LINKING)) { + spin_unlock_bh(&mlme_priv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->lock); return; } /* s1. find ptarget_wlan */ - if (check_fwstate(pmlmepriv, _FW_LINKED)) { + if (check_fwstate(mlme_priv, _FW_LINKED)) { if (the_same_macaddr) { - ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.mac_address); + ptarget_wlan = rtw_find_network(&mlme_priv->scanned_queue, cur_network->network.mac_address); } else { - pcur_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.mac_address); + pcur_wlan = rtw_find_network(&mlme_priv->scanned_queue, cur_network->network.mac_address); if (pcur_wlan) pcur_wlan->fixed = false; @@ -1203,15 +1203,15 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *buf) if (pcur_sta) rtw_free_stainfo(adapter, pcur_sta); - ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, pnetwork->network.mac_address); - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + ptarget_wlan = rtw_find_network(&mlme_priv->scanned_queue, pnetwork->network.mac_address); + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { if (ptarget_wlan) ptarget_wlan->fixed = true; } } } else { - ptarget_wlan = _rtw_find_same_network(&pmlmepriv->scanned_queue, pnetwork); - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + ptarget_wlan = _rtw_find_same_network(&mlme_priv->scanned_queue, pnetwork); + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { if (ptarget_wlan) ptarget_wlan->fixed = true; } @@ -1221,34 +1221,34 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *buf) if (!ptarget_wlan) { netdev_dbg(adapter->pnetdev, "Can't find ptarget_wlan when joinbss_event callback\n"); - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->lock); return; } rtw_joinbss_update_network(adapter, ptarget_wlan, pnetwork); /* s3. find ptarget_sta & update ptarget_sta after update cur_network only for station mode */ - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { ptarget_sta = rtw_joinbss_update_stainfo(adapter, pnetwork); if (!ptarget_sta) { - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->lock); return; } } /* s4. indicate connect */ - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { - pmlmepriv->cur_network_scanned = ptarget_wlan; + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { + mlme_priv->cur_network_scanned = ptarget_wlan; rtw_indicate_connect(adapter); } - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); /* s5. Cancel assoc_timer */ - timer_delete_sync(&pmlmepriv->assoc_timer); + timer_delete_sync(&mlme_priv->assoc_timer); } void rtw_joinbss_event_callback(struct adapter *adapter, u8 *buf) @@ -1275,15 +1275,15 @@ void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta, u3 void rtw_stassoc_event_callback(struct adapter *adapter, u8 *buf) { struct sta_info *psta; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct stassoc_event *pstassoc = (struct stassoc_event *)buf; - struct wlan_network *cur_network = &pmlmepriv->cur_network; + struct wlan_network *cur_network = &mlme_priv->cur_network; struct wlan_network *ptarget_wlan = NULL; if (!rtw_access_ctrl(adapter, pstassoc->macaddr)) return; - if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) { + if (check_fwstate(mlme_priv, WIFI_AP_STATE)) { psta = rtw_get_stainfo(&adapter->stapriv, pstassoc->macaddr); if (psta) { u8 *passoc_req = NULL; @@ -1342,23 +1342,23 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *buf) psta->ieee8021x_blocked = false; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) || + check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { if (adapter->stapriv.asoc_sta_count == 2) { - spin_lock_bh(&pmlmepriv->scanned_queue.lock); - ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.mac_address); - pmlmepriv->cur_network_scanned = ptarget_wlan; + spin_lock_bh(&mlme_priv->scanned_queue.lock); + ptarget_wlan = rtw_find_network(&mlme_priv->scanned_queue, cur_network->network.mac_address); + mlme_priv->cur_network_scanned = ptarget_wlan; if (ptarget_wlan) ptarget_wlan->fixed = true; - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); /* a sta + bc/mc_stainfo (not Ibss_stainfo) */ rtw_indicate_connect(adapter); } } - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); mlmeext_sta_add_event_callback(adapter, psta); } @@ -1370,9 +1370,9 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) struct wlan_network *pwlan = NULL; struct wlan_bssid_ex *pdev_network = NULL; u8 *pibss = NULL; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct stadel_event *pstadel = (struct stadel_event *)buf; - struct wlan_network *tgt_network = &pmlmepriv->cur_network; + struct wlan_network *tgt_network = &mlme_priv->cur_network; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -1390,15 +1390,15 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status); } - /* if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) */ + /* if (check_fwstate(mlme_priv, WIFI_AP_STATE)) */ if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) return; mlmeext_sta_del_event_callback(adapter); - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { u16 reason = *((unsigned short *)(pstadel->rsvd)); bool roam = false; struct wlan_network *roam_target = NULL; @@ -1409,7 +1409,7 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) roam = true; } else if (reason == WLAN_REASON_ACTIVE_ROAM && rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) { roam = true; - roam_target = pmlmepriv->roam_network; + roam_target = mlme_priv->roam_network; } if (roam) { @@ -1426,48 +1426,48 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) rtw_free_assoc_resources(adapter, 1); rtw_indicate_disconnect(adapter); - spin_lock_bh(&pmlmepriv->scanned_queue.lock); + spin_lock_bh(&mlme_priv->scanned_queue.lock); /* remove the network entry in scanned_queue */ - pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.mac_address); + pwlan = rtw_find_network(&mlme_priv->scanned_queue, tgt_network->network.mac_address); if (pwlan) { pwlan->fixed = false; rtw_free_network_nolock(adapter, pwlan); } - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); _rtw_roaming(adapter, roam_target); } - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) || + check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { rtw_free_stainfo(adapter, psta); if (adapter->stapriv.asoc_sta_count == 1) {/* a sta + bc/mc_stainfo (not Ibss_stainfo) */ u8 ret = _SUCCESS; - spin_lock_bh(&pmlmepriv->scanned_queue.lock); + spin_lock_bh(&mlme_priv->scanned_queue.lock); /* free old ibss network */ - pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.mac_address); + pwlan = rtw_find_network(&mlme_priv->scanned_queue, tgt_network->network.mac_address); if (pwlan) { pwlan->fixed = false; rtw_free_network_nolock(adapter, pwlan); } - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); /* re-create ibss */ pdev_network = &adapter->registrypriv.dev_network; pibss = adapter->registrypriv.dev_network.mac_address; memcpy(pdev_network, &tgt_network->network, get_wlan_bssid_ex_sz(&tgt_network->network)); - memcpy(&pdev_network->ssid, &pmlmepriv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); + memcpy(&pdev_network->ssid, &mlme_priv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); rtw_update_registrypriv_dev_network(adapter); rtw_generate_random_ibss(pibss); - if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { - set_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE); - _clr_fwstate_(pmlmepriv, WIFI_ADHOC_STATE); + if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { + set_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE); + _clr_fwstate_(mlme_priv, WIFI_ADHOC_STATE); } ret = rtw_createbss_cmd(adapter); @@ -1477,7 +1477,7 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) } unlock: - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); } void rtw_cpwm_event_callback(struct adapter *padapter, u8 *buf) @@ -1502,12 +1502,12 @@ void _rtw_join_timeout_handler(struct timer_list *t) { struct adapter *adapter = timer_container_of(adapter, t, mlmepriv.assoc_timer); - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; if (adapter->driver_stopped || adapter->bSurpriseRemoved) return; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); if (rtw_to_roam(adapter) > 0) { /* join timeout caused by roaming */ while (1) { @@ -1528,13 +1528,13 @@ void _rtw_join_timeout_handler(struct timer_list *t) } else { rtw_indicate_disconnect(adapter); - free_scanqueue(pmlmepriv);/* */ + free_scanqueue(mlme_priv);/* */ /* indicate disconnect for the case that join_timeout and check_fwstate != FW_LINKED */ rtw_cfg80211_indicate_disconnect(adapter); } - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); } /* @@ -1545,13 +1545,13 @@ void rtw_scan_timeout_handler(struct timer_list *t) { struct adapter *adapter = timer_container_of(adapter, t, mlmepriv.scan_to_timer); - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); - _clr_fwstate_(pmlmepriv, _FW_UNDER_SURVEY); + _clr_fwstate_(mlme_priv, _FW_UNDER_SURVEY); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); rtw_indicate_scan_done(adapter, true); } @@ -1577,17 +1577,17 @@ void rtw_mlme_reset_auto_scan_int(struct adapter *adapter) static void rtw_auto_scan_handler(struct adapter *padapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; rtw_mlme_reset_auto_scan_int(padapter); - if (pmlmepriv->auto_scan_int_ms != 0 && - jiffies_to_msecs(jiffies - pmlmepriv->scan_start_time) > pmlmepriv->auto_scan_int_ms) { + if (mlme_priv->auto_scan_int_ms != 0 && + jiffies_to_msecs(jiffies - mlme_priv->scan_start_time) > mlme_priv->auto_scan_int_ms) { if (!padapter->registrypriv.wifi_spec) { - if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY | _FW_UNDER_LINKING)) + if (check_fwstate(mlme_priv, _FW_UNDER_SURVEY | _FW_UNDER_LINKING)) goto exit; - if (pmlmepriv->link_detect_info.busy_traffic) + if (mlme_priv->link_detect_info.busy_traffic) goto exit; } @@ -1786,34 +1786,34 @@ static int rtw_check_join_candidate(struct mlme_priv *mlme * Calling context: * The caller of the sub-routine will be in critical section... * The caller must hold the following spinlock - * pmlmepriv->lock + * mlme_priv->lock */ -int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv) +int rtw_select_and_join_from_scanned_queue(struct mlme_priv *mlme_priv) { int ret; struct list_head *phead; struct adapter *adapter; - struct __queue *queue = &pmlmepriv->scanned_queue; + struct __queue *queue = &mlme_priv->scanned_queue; struct wlan_network *pnetwork = NULL; struct wlan_network *candidate = NULL; - adapter = (struct adapter *)pmlmepriv->nic_hdl; + adapter = (struct adapter *)mlme_priv->nic_hdl; - spin_lock_bh(&pmlmepriv->scanned_queue.lock); + spin_lock_bh(&mlme_priv->scanned_queue.lock); - if (pmlmepriv->roam_network) { - candidate = pmlmepriv->roam_network; - pmlmepriv->roam_network = NULL; + if (mlme_priv->roam_network) { + candidate = mlme_priv->roam_network; + mlme_priv->roam_network = NULL; goto candidate_exist; } phead = get_list_head(queue); - list_for_each(pmlmepriv->pscanned, phead) { - pnetwork = list_entry(pmlmepriv->pscanned, + list_for_each(mlme_priv->pscanned, phead) { + pnetwork = list_entry(mlme_priv->pscanned, struct wlan_network, list); - rtw_check_join_candidate(pmlmepriv, &candidate, pnetwork); + rtw_check_join_candidate(mlme_priv, &candidate, pnetwork); } if (!candidate) { @@ -1826,17 +1826,17 @@ int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv) candidate_exist: /* check for situation of _FW_LINKED */ - if (check_fwstate(pmlmepriv, _FW_LINKED)) { + if (check_fwstate(mlme_priv, _FW_LINKED)) { rtw_disassoc_cmd(adapter, 0, true); rtw_indicate_disconnect(adapter); rtw_free_assoc_resources(adapter, 0); } - set_fwstate(pmlmepriv, _FW_UNDER_LINKING); + set_fwstate(mlme_priv, _FW_UNDER_LINKING); ret = rtw_joinbss_cmd(adapter, candidate); exit: - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); return ret; } @@ -2067,7 +2067,7 @@ signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, u uint ielength; int iEntry; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct security_priv *psecuritypriv = &adapter->securitypriv; uint ndisauthmode = psecuritypriv->ndisauthtype; @@ -2079,7 +2079,7 @@ signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, u if ((ndisauthmode == Ndis802_11AuthModeWPA2) || (ndisauthmode == Ndis802_11AuthModeWPA2PSK)) authmode = WLAN_EID_RSN; - if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS)) { + if (check_fwstate(mlme_priv, WIFI_UNDER_WPS)) { memcpy(out_ie + ielength, psecuritypriv->wps_ie, psecuritypriv->wps_ie_len); ielength += psecuritypriv->wps_ie_len; @@ -2090,7 +2090,7 @@ signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, u rtw_report_sec_ie(adapter, authmode, psecuritypriv->supplicant_ie); } - iEntry = SecIsInPMKIDList(adapter, pmlmepriv->assoc_bssid); + iEntry = SecIsInPMKIDList(adapter, mlme_priv->assoc_bssid); if (iEntry < 0) return ielength; @@ -2152,15 +2152,15 @@ void rtw_update_registrypriv_dev_network(struct adapter *adapter) void rtw_joinbss_reset(struct adapter *padapter) { u8 threshold; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; + struct ht_priv *phtpriv = &mlme_priv->htpriv; /* todo: if you want to do something io/reg/hw setting before join_bss, please add code here */ - pmlmepriv->num_FortyMHzIntolerant = 0; + mlme_priv->num_FortyMHzIntolerant = 0; - pmlmepriv->num_sta_no_ht = 0; + mlme_priv->num_sta_no_ht = 0; phtpriv->ampdu_enable = false;/* reset to disabled */ @@ -2180,8 +2180,8 @@ void rtw_joinbss_reset(struct adapter *padapter) void rtw_ht_use_default_setting(struct adapter *padapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct ht_priv *phtpriv = &mlme_priv->htpriv; struct registry_priv *pregistrypriv = &padapter->registrypriv; bool bHwLDPCSupport = false, bHwSTBCSupport = false; bool bHwSupportBeamformer = false, bHwSupportBeamformee = false; @@ -2254,8 +2254,8 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ struct ieee80211_ht_cap ht_capie; u8 cbw40_enable = 0, stbc_rx_enable = 0, operation_bw = 0; struct registry_priv *pregistrypriv = &padapter->registrypriv; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct ht_priv *phtpriv = &mlme_priv->htpriv; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; phtpriv->ht_option = false; @@ -2272,7 +2272,7 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ /* Get HT BW */ if (!in_ie) { /* TDLS: TODO 20/40 issue */ - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { operation_bw = padapter->mlmeextpriv.cur_bwmode; if (operation_bw > CHANNEL_WIDTH_40) operation_bw = CHANNEL_WIDTH_40; @@ -2375,8 +2375,8 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe u8 *p, max_ampdu_sz; int len; struct ieee80211_ht_cap *pht_capie; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct ht_priv *phtpriv = &mlme_priv->htpriv; struct registry_priv *pregistrypriv = &padapter->registrypriv; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -2494,8 +2494,8 @@ void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitfr void rtw_append_exented_cap(struct adapter *padapter, u8 *out_ie, uint *pout_len) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct ht_priv *phtpriv = &mlme_priv->htpriv; u8 cap_content[8] = {0}; if (phtpriv->bss_coexist) @@ -2524,22 +2524,22 @@ inline u8 rtw_to_roam(struct adapter *adapter) void rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); _rtw_roaming(padapter, tgt_network); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); } void _rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct wlan_network *cur_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct wlan_network *cur_network = &mlme_priv->cur_network; if (rtw_to_roam(padapter) > 0) { - memcpy(&pmlmepriv->assoc_ssid, &cur_network->network.ssid, sizeof(struct ndis_802_11_ssid)); + memcpy(&mlme_priv->assoc_ssid, &cur_network->network.ssid, sizeof(struct ndis_802_11_ssid)); - pmlmepriv->assoc_by_bssid = false; + mlme_priv->assoc_by_bssid = false; while (rtw_do_join(padapter) != _SUCCESS) { rtw_dec_to_roam(padapter); From 20c305c041c6f6a716048ef8c7bced0329530f6d Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:26 +0000 Subject: [PATCH 008/145] staging: rtl8723bs: renaming variable pdev_network in rtw_mlme.c Renaming occurrences of pdev_network to dev_network since the prefix p is an old. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-4-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 42 +++++++++++------------ 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 276bf83fa024..37640ea9edc8 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -704,7 +704,7 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) _set_timer(&mlme_priv->assoc_timer, MAX_JOIN_TIMEOUT); } else { u8 ret = _SUCCESS; - struct wlan_bssid_ex *pdev_network = + struct wlan_bssid_ex *dev_network = &adapter->registrypriv.dev_network; u8 *pibss = adapter->registrypriv.dev_network.mac_address; @@ -712,7 +712,7 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) /* mlme_priv->fw_state ^= _FW_UNDER_SURVEY;because don't set assoc_timer */ _clr_fwstate_(mlme_priv, _FW_UNDER_SURVEY); - memcpy(&pdev_network->ssid, &mlme_priv->assoc_ssid, + memcpy(&dev_network->ssid, &mlme_priv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); rtw_update_registrypriv_dev_network(adapter); @@ -1368,7 +1368,7 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) int mac_id = (-1); struct sta_info *psta; struct wlan_network *pwlan = NULL; - struct wlan_bssid_ex *pdev_network = NULL; + struct wlan_bssid_ex *dev_network = NULL; u8 *pibss = NULL; struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct stadel_event *pstadel = (struct stadel_event *)buf; @@ -1454,12 +1454,12 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) } spin_unlock_bh(&mlme_priv->scanned_queue.lock); /* re-create ibss */ - pdev_network = &adapter->registrypriv.dev_network; + dev_network = &adapter->registrypriv.dev_network; pibss = adapter->registrypriv.dev_network.mac_address; - memcpy(pdev_network, &tgt_network->network, get_wlan_bssid_ex_sz(&tgt_network->network)); + memcpy(dev_network, &tgt_network->network, get_wlan_bssid_ex_sz(&tgt_network->network)); - memcpy(&pdev_network->ssid, &mlme_priv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); + memcpy(&dev_network->ssid, &mlme_priv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); rtw_update_registrypriv_dev_network(adapter); @@ -2104,48 +2104,48 @@ void rtw_init_registrypriv_dev_network(struct adapter *adapter) { struct registry_priv *pregistrypriv = &adapter->registrypriv; struct eeprom_priv *peepriv = &adapter->eeprompriv; - struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network; + struct wlan_bssid_ex *dev_network = &pregistrypriv->dev_network; u8 *myhwaddr = myid(peepriv); - memcpy(pdev_network->mac_address, myhwaddr, ETH_ALEN); + memcpy(dev_network->mac_address, myhwaddr, ETH_ALEN); - memcpy(&pdev_network->ssid, &pregistrypriv->ssid, sizeof(struct ndis_802_11_ssid)); + memcpy(&dev_network->ssid, &pregistrypriv->ssid, sizeof(struct ndis_802_11_ssid)); - pdev_network->configuration.length = sizeof(struct ndis_802_11_conf); - pdev_network->configuration.beacon_period = 100; + dev_network->configuration.length = sizeof(struct ndis_802_11_conf); + dev_network->configuration.beacon_period = 100; } void rtw_update_registrypriv_dev_network(struct adapter *adapter) { int sz = 0; struct registry_priv *pregistrypriv = &adapter->registrypriv; - struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network; + struct wlan_bssid_ex *dev_network = &pregistrypriv->dev_network; struct security_priv *psecuritypriv = &adapter->securitypriv; struct wlan_network *cur_network = &adapter->mlmepriv.cur_network; - pdev_network->privacy = (psecuritypriv->dot11_privacy_algrthm > 0 ? 1 : 0) ; /* adhoc no 802.1x */ + dev_network->privacy = (psecuritypriv->dot11_privacy_algrthm > 0 ? 1 : 0) ; /* adhoc no 802.1x */ - pdev_network->rssi = 0; + dev_network->rssi = 0; - pdev_network->configuration.ds_config = (pregistrypriv->channel); + dev_network->configuration.ds_config = (pregistrypriv->channel); if (cur_network->network.infrastructure_mode == NL80211_IFTYPE_ADHOC) - pdev_network->configuration.atim_window = (0); + dev_network->configuration.atim_window = (0); - pdev_network->infrastructure_mode = (cur_network->network.infrastructure_mode); + dev_network->infrastructure_mode = (cur_network->network.infrastructure_mode); /* 1. Supported rates */ /* 2. IE */ - /* rtw_set_supported_rate(pdev_network->supported_rates, pregistrypriv->wireless_mode) ; will be called in rtw_generate_ie */ + /* rtw_set_supported_rate(dev_network->supported_rates, pregistrypriv->wireless_mode) ; will be called in rtw_generate_ie */ sz = rtw_generate_ie(pregistrypriv); - pdev_network->ie_length = sz; + dev_network->ie_length = sz; - pdev_network->length = get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)pdev_network); + dev_network->length = get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)dev_network); /* notes: translate ie_length & length after assign the length to cmdsz in createbss_cmd(); */ - /* pdev_network->ie_length = cpu_to_le32(sz); */ + /* dev_network->ie_length = cpu_to_le32(sz); */ } /* the function is at passive_level */ From d013ec44990de23e03f9ed67274da5bbffb1a783 Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:27 +0000 Subject: [PATCH 009/145] staging: rtl8723bs: renaming variable pibss in rtw_mlme.c Renaming occurrences of pibss to ibss since the prefix p is an old naming convention to indicate a pointer variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-5-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 37640ea9edc8..761cbff86bbb 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -271,16 +271,16 @@ bool rtw_if_up(struct adapter *padapter) return true; } -void rtw_generate_random_ibss(u8 *pibss) +void rtw_generate_random_ibss(u8 *ibss) { unsigned long curtime = jiffies; - pibss[0] = 0x02; /* in ad-hoc mode bit1 must set to 1 */ - pibss[1] = 0x11; - pibss[2] = 0x87; - pibss[3] = (u8)(curtime & 0xff) ;/* p[0]; */ - pibss[4] = (u8)((curtime >> 8) & 0xff) ;/* p[1]; */ - pibss[5] = (u8)((curtime >> 16) & 0xff) ;/* p[2]; */ + ibss[0] = 0x02; /* in ad-hoc mode bit1 must set to 1 */ + ibss[1] = 0x11; + ibss[2] = 0x87; + ibss[3] = (u8)(curtime & 0xff) ;/* p[0]; */ + ibss[4] = (u8)((curtime >> 8) & 0xff) ;/* p[1]; */ + ibss[5] = (u8)((curtime >> 16) & 0xff) ;/* p[2]; */ } u8 *rtw_get_capability_from_ie(u8 *ie) @@ -707,7 +707,7 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) struct wlan_bssid_ex *dev_network = &adapter->registrypriv.dev_network; - u8 *pibss = adapter->registrypriv.dev_network.mac_address; + u8 *ibss = adapter->registrypriv.dev_network.mac_address; /* mlme_priv->fw_state ^= _FW_UNDER_SURVEY;because don't set assoc_timer */ _clr_fwstate_(mlme_priv, _FW_UNDER_SURVEY); @@ -716,7 +716,7 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) sizeof(struct ndis_802_11_ssid)); rtw_update_registrypriv_dev_network(adapter); - rtw_generate_random_ibss(pibss); + rtw_generate_random_ibss(ibss); mlme_priv->fw_state = WIFI_ADHOC_MASTER_STATE; @@ -1369,7 +1369,7 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) struct sta_info *psta; struct wlan_network *pwlan = NULL; struct wlan_bssid_ex *dev_network = NULL; - u8 *pibss = NULL; + u8 *ibss = NULL; struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct stadel_event *pstadel = (struct stadel_event *)buf; struct wlan_network *tgt_network = &mlme_priv->cur_network; @@ -1455,7 +1455,7 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) spin_unlock_bh(&mlme_priv->scanned_queue.lock); /* re-create ibss */ dev_network = &adapter->registrypriv.dev_network; - pibss = adapter->registrypriv.dev_network.mac_address; + ibss = adapter->registrypriv.dev_network.mac_address; memcpy(dev_network, &tgt_network->network, get_wlan_bssid_ex_sz(&tgt_network->network)); @@ -1463,7 +1463,7 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) rtw_update_registrypriv_dev_network(adapter); - rtw_generate_random_ibss(pibss); + rtw_generate_random_ibss(ibss); if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { set_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE); From 9069b9328b6b9a131b30a790a6f034092862add0 Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:28 +0000 Subject: [PATCH 010/145] staging: rtl8723bs: renaming variable padapter in rtw_mlme.c Renaming occurrences of padapter to adapter since the prefix p is an old naming convention to indicate a pointer variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-6-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 268 +++++++++++----------- 1 file changed, 134 insertions(+), 134 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 761cbff86bbb..e46e137a1adf 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -27,9 +27,9 @@ static void _rtw_set_scan_deny_timer_hdl(struct timer_list *t) rtw_clear_scan_deny(adapter); } -static void rtw_init_mlme_timer(struct adapter *padapter) +static void rtw_init_mlme_timer(struct adapter *adapter) { - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; timer_setup(&mlme_priv->assoc_timer, _rtw_join_timeout_handler, 0); timer_setup(&mlme_priv->scan_to_timer, rtw_scan_timeout_handler, 0); @@ -39,15 +39,15 @@ static void rtw_init_mlme_timer(struct adapter *padapter) _rtw_set_scan_deny_timer_hdl, 0); } -int rtw_init_mlme_priv(struct adapter *padapter) +int rtw_init_mlme_priv(struct adapter *adapter) { int i; u8 *buf; struct wlan_network *pnetwork; - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; int res = _SUCCESS; - mlme_priv->nic_hdl = (u8 *)padapter; + mlme_priv->nic_hdl = (u8 *)adapter; mlme_priv->pscanned = NULL; mlme_priv->fw_state = WIFI_STATION_STATE; /* Must sync with rtw_wdev_alloc() */ @@ -82,7 +82,7 @@ int rtw_init_mlme_priv(struct adapter *padapter) /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */ - rtw_clear_scan_deny(padapter); + rtw_clear_scan_deny(adapter); #define RTW_ROAM_SCAN_RESULT_EXP_MS 5000 #define RTW_ROAM_RSSI_DIFF_TH 10 @@ -97,7 +97,7 @@ int rtw_init_mlme_priv(struct adapter *padapter) mlme_priv->roam_rssi_diff_th = RTW_ROAM_RSSI_DIFF_TH; mlme_priv->roam_scan_int_ms = RTW_ROAM_SCAN_INTERVAL_MS; - rtw_init_mlme_timer(padapter); + rtw_init_mlme_timer(adapter); exit: @@ -243,11 +243,11 @@ struct wlan_network *_rtw_find_network(struct __queue *scanned_queue, u8 *addr) return pnetwork; } -void rtw_free_network_queue(struct adapter *padapter, u8 isfreeall) +void rtw_free_network_queue(struct adapter *adapter, u8 isfreeall) { struct list_head *phead, *plist, *tmp; struct wlan_network *pnetwork; - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct __queue *scanned_queue = &mlme_priv->scanned_queue; spin_lock_bh(&scanned_queue->lock); @@ -262,10 +262,10 @@ void rtw_free_network_queue(struct adapter *padapter, u8 isfreeall) spin_unlock_bh(&scanned_queue->lock); } -bool rtw_if_up(struct adapter *padapter) +bool rtw_if_up(struct adapter *adapter) { - if (padapter->driver_stopped || padapter->bSurpriseRemoved || - !check_fwstate(&padapter->mlmepriv, _FW_LINKED)) + if (adapter->driver_stopped || adapter->bSurpriseRemoved || + !check_fwstate(&adapter->mlmepriv, _FW_LINKED)) return false; return true; @@ -307,11 +307,11 @@ void rtw_free_mlme_priv(struct mlme_priv *mlme_priv) _rtw_free_mlme_priv(mlme_priv); } -void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork); -void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork) +void rtw_free_network_nolock(struct adapter *adapter, struct wlan_network *pnetwork); +void rtw_free_network_nolock(struct adapter *adapter, struct wlan_network *pnetwork) { - _rtw_free_network_nolock(&padapter->mlmepriv, pnetwork); - rtw_cfg80211_unlink_bss(padapter, pnetwork); + _rtw_free_network_nolock(&adapter->mlmepriv, pnetwork); + rtw_cfg80211_unlink_bss(adapter, pnetwork); } /* @@ -406,7 +406,7 @@ struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue) } void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, - struct adapter *padapter, bool update_ie) + struct adapter *adapter, bool update_ie) { long rssi_ori = dst->rssi; @@ -417,10 +417,10 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, long rssi_final; /* The rule below is 1/5 for sample value, 4/5 for history value */ - if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) && is_same_network(&padapter->mlmepriv.cur_network.network, src, 0)) { + if (check_fwstate(&adapter->mlmepriv, _FW_LINKED) && is_same_network(&adapter->mlmepriv.cur_network.network, src, 0)) { /* Take the recvpriv's value for the connected AP*/ - ss_final = padapter->recvpriv.signal_strength; - sq_final = padapter->recvpriv.signal_qual; + ss_final = adapter->recvpriv.signal_strength; + sq_final = adapter->recvpriv.signal_qual; /* the rssi value here is undecorated, and will be used for antenna diversity */ if (sq_smp != 101) /* from the right channel */ rssi_final = (src->rssi + dst->rssi * 4) / 5; @@ -856,69 +856,69 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) } /* rtw_indicate_connect: the caller has to lock mlme_priv->lock */ -void rtw_indicate_connect(struct adapter *padapter) +void rtw_indicate_connect(struct adapter *adapter) { - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; mlme_priv->to_join = false; - if (!check_fwstate(&padapter->mlmepriv, _FW_LINKED)) { + if (!check_fwstate(&adapter->mlmepriv, _FW_LINKED)) { set_fwstate(mlme_priv, _FW_LINKED); if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) || check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) - rtw_cfg80211_ibss_indicate_connect(padapter); + rtw_cfg80211_ibss_indicate_connect(adapter); else - rtw_cfg80211_indicate_connect(padapter); + rtw_cfg80211_indicate_connect(adapter); - netif_carrier_on(padapter->pnetdev); + netif_carrier_on(adapter->pnetdev); - if (padapter->pid[2] != 0) - rtw_signal_process(padapter->pid[2], SIGALRM); + if (adapter->pid[2] != 0) + rtw_signal_process(adapter->pid[2], SIGALRM); } - rtw_set_to_roam(padapter, 0); - rtw_set_scan_deny(padapter, 3000); + rtw_set_to_roam(adapter, 0); + rtw_set_scan_deny(adapter, 3000); } /* rtw_indicate_disconnect: the caller has to lock mlme_priv->lock */ -void rtw_indicate_disconnect(struct adapter *padapter) +void rtw_indicate_disconnect(struct adapter *adapter) { - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING | WIFI_UNDER_WPS); - if (rtw_to_roam(padapter) > 0) + if (rtw_to_roam(adapter) > 0) _clr_fwstate_(mlme_priv, _FW_LINKED); - if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) || rtw_to_roam(padapter) <= 0) { + if (check_fwstate(&adapter->mlmepriv, _FW_LINKED) || rtw_to_roam(adapter) <= 0) { /* Do it first for tx broadcast pkt after disconnection issue! */ - netif_carrier_off(padapter->pnetdev); + netif_carrier_off(adapter->pnetdev); - rtw_cfg80211_indicate_disconnect(padapter); + rtw_cfg80211_indicate_disconnect(adapter); - rtw_reset_securitypriv_cmd(padapter); + rtw_reset_securitypriv_cmd(adapter); /* set ips_deny_time to avoid enter IPS before LPS leave */ - rtw_set_ips_deny(padapter, 3000); + rtw_set_ips_deny(adapter, 3000); _clr_fwstate_(mlme_priv, _FW_LINKED); - rtw_clear_scan_deny(padapter); + rtw_clear_scan_deny(adapter); } - rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_DISCONNECT, 1); + rtw_lps_ctrl_wk_cmd(adapter, LPS_CTRL_DISCONNECT, 1); } -inline void rtw_indicate_scan_done(struct adapter *padapter, bool aborted) +inline void rtw_indicate_scan_done(struct adapter *adapter, bool aborted) { - rtw_cfg80211_indicate_scan_done(padapter, aborted); + rtw_cfg80211_indicate_scan_done(adapter, aborted); - if ((!adapter_to_pwrctl(padapter)->bInSuspend) && - (!check_fwstate(&padapter->mlmepriv, + if ((!adapter_to_pwrctl(adapter)->bInSuspend) && + (!check_fwstate(&adapter->mlmepriv, WIFI_ASOC_STATE | WIFI_UNDER_LINKING))) { - rtw_set_ips_deny(padapter, 0); - _set_timer(&padapter->mlmepriv.dynamic_chk_timer, 1); + rtw_set_ips_deny(adapter, 0); + _set_timer(&adapter->mlmepriv.dynamic_chk_timer, 1); } } @@ -944,13 +944,13 @@ void rtw_scan_abort(struct adapter *adapter) pmlmeext->scan_abort = false; } -static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, struct wlan_network *pnetwork) +static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *adapter, struct wlan_network *pnetwork) { int i; struct sta_info *bmc_sta, *psta = NULL; struct recv_reorder_ctrl *preorder_ctrl; - struct sta_priv *pstapriv = &padapter->stapriv; - struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; + struct sta_priv *pstapriv = &adapter->stapriv; + struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; psta = rtw_get_stainfo(pstapriv, pnetwork->network.mac_address); if (!psta) @@ -960,27 +960,27 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str psta->aid = pnetwork->join_res; - update_sta_info(padapter, psta); + update_sta_info(adapter, psta); /* update station supportRate */ psta->bssratelen = rtw_get_rateset_len(pnetwork->network.supported_rates); memcpy(psta->bssrateset, pnetwork->network.supported_rates, psta->bssratelen); - rtw_hal_update_sta_rate_mask(padapter, psta); + rtw_hal_update_sta_rate_mask(adapter, psta); psta->wireless_mode = pmlmeext->cur_wireless_mode; - psta->raid = networktype_to_raid_ex(padapter, psta); + psta->raid = networktype_to_raid_ex(adapter, psta); /* sta mode */ - rtw_hal_set_odm_var(padapter, HAL_ODM_STA_INFO, psta, true); + rtw_hal_set_odm_var(adapter, HAL_ODM_STA_INFO, psta, true); /* security related */ - if (padapter->securitypriv.dot11_auth_algrthm == dot11_auth_algrthm_8021x) { - padapter->securitypriv.binstallGrpkey = false; - padapter->securitypriv.busetkipkey = false; - padapter->securitypriv.bgrpkey_handshake = false; + if (adapter->securitypriv.dot11_auth_algrthm == dot11_auth_algrthm_8021x) { + adapter->securitypriv.binstallGrpkey = false; + adapter->securitypriv.busetkipkey = false; + adapter->securitypriv.bgrpkey_handshake = false; psta->ieee8021x_blocked = true; - psta->dot118021XPrivacy = padapter->securitypriv.dot11_privacy_algrthm; + psta->dot118021XPrivacy = adapter->securitypriv.dot11_privacy_algrthm; memset((u8 *)&psta->dot118021x_UncstKey, 0, sizeof(union Keytype)); @@ -995,9 +995,9 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str /* When doing the WPS, the wps_ie_len won't equal to 0 */ /* And the Wi-Fi driver shouldn't allow the data packet to be transmitted. */ - if (padapter->securitypriv.wps_ie_len != 0) { + if (adapter->securitypriv.wps_ie_len != 0) { psta->ieee8021x_blocked = true; - padapter->securitypriv.wps_ie_len = 0; + adapter->securitypriv.wps_ie_len = 0; } /* for A-MPDU Rx reordering buffer control for bmc_sta & sta_info */ @@ -1011,7 +1011,7 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str preorder_ctrl->wsize_b = 64;/* max_ampdu_sz;ex. 32(kbytes) -> wsize_b =32 */ } - bmc_sta = rtw_get_bcmc_stainfo(padapter); + bmc_sta = rtw_get_bcmc_stainfo(adapter); if (bmc_sta) { for (i = 0; i < 16 ; i++) { preorder_ctrl = &bmc_sta->recvreorder_ctrl[i]; @@ -1028,10 +1028,10 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str /* pnetwork : returns from rtw_joinbss_event_callback */ /* ptarget_wlan: found from scanned_queue */ -static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_network *ptarget_wlan, +static void rtw_joinbss_update_network(struct adapter *adapter, struct wlan_network *ptarget_wlan, struct wlan_network *pnetwork) { - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct wlan_network *cur_network = &mlme_priv->cur_network; /* why not use ptarget_wlan?? */ @@ -1042,14 +1042,14 @@ static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_net cur_network->aid = pnetwork->join_res; - rtw_set_signal_stat_timer(&padapter->recvpriv); + rtw_set_signal_stat_timer(&adapter->recvpriv); - padapter->recvpriv.signal_strength = ptarget_wlan->network.phy_info.signal_strength; - padapter->recvpriv.signal_qual = ptarget_wlan->network.phy_info.signal_quality; + adapter->recvpriv.signal_strength = ptarget_wlan->network.phy_info.signal_strength; + adapter->recvpriv.signal_qual = ptarget_wlan->network.phy_info.signal_quality; /* the ptarget_wlan->network.rssi is raw data, we use ptarget_wlan->network.phy_info.signal_strength instead (has scaled) */ - padapter->recvpriv.rssi = translate_percentage_to_dbm(ptarget_wlan->network.phy_info.signal_strength); + adapter->recvpriv.rssi = translate_percentage_to_dbm(ptarget_wlan->network.phy_info.signal_strength); - rtw_set_signal_stat_timer(&padapter->recvpriv); + rtw_set_signal_stat_timer(&adapter->recvpriv); /* update fw_state will clr _FW_UNDER_LINKING here indirectly */ switch (pnetwork->network.infrastructure_mode) { @@ -1072,10 +1072,10 @@ static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_net if (cur_network->network.ie_length < sizeof(struct ndis_802_11_fix_ie)) return; - rtw_update_protection(padapter, (cur_network->network.ies) + sizeof(struct ndis_802_11_fix_ie), + rtw_update_protection(adapter, (cur_network->network.ies) + sizeof(struct ndis_802_11_fix_ie), (cur_network->network.ie_length - sizeof(struct ndis_802_11_fix_ie))); - rtw_update_ht_cap(padapter, cur_network->network.ies, cur_network->network.ie_length, (u8) cur_network->network.configuration.ds_config); + rtw_update_ht_cap(adapter, cur_network->network.ies, cur_network->network.ie_length, (u8) cur_network->network.configuration.ds_config); } static struct rt_pmkid_list backupPMKIDList[NUM_PMKID_CACHE]; @@ -1480,18 +1480,18 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) spin_unlock_bh(&mlme_priv->lock); } -void rtw_cpwm_event_callback(struct adapter *padapter, u8 *buf) +void rtw_cpwm_event_callback(struct adapter *adapter, u8 *buf) { struct reportpwrstate_parm *preportpwrstate; preportpwrstate = (struct reportpwrstate_parm *)buf; - preportpwrstate->state |= (u8)(adapter_to_pwrctl(padapter)->cpwm_tog + 0x80); - cpwm_int_hdl(padapter, preportpwrstate); + preportpwrstate->state |= (u8)(adapter_to_pwrctl(adapter)->cpwm_tog + 0x80); + cpwm_int_hdl(adapter, preportpwrstate); } -void rtw_wmm_event_callback(struct adapter *padapter, u8 *buf) +void rtw_wmm_event_callback(struct adapter *adapter, u8 *buf) { - WMMOnAssocRsp(padapter); + WMMOnAssocRsp(adapter); } /* @@ -1575,15 +1575,15 @@ void rtw_mlme_reset_auto_scan_int(struct adapter *adapter) } } -static void rtw_auto_scan_handler(struct adapter *padapter) +static void rtw_auto_scan_handler(struct adapter *adapter) { - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - rtw_mlme_reset_auto_scan_int(padapter); + rtw_mlme_reset_auto_scan_int(adapter); if (mlme_priv->auto_scan_int_ms != 0 && jiffies_to_msecs(jiffies - mlme_priv->scan_start_time) > mlme_priv->auto_scan_int_ms) { - if (!padapter->registrypriv.wifi_spec) { + if (!adapter->registrypriv.wifi_spec) { if (check_fwstate(mlme_priv, _FW_UNDER_SURVEY | _FW_UNDER_LINKING)) goto exit; @@ -1591,7 +1591,7 @@ static void rtw_auto_scan_handler(struct adapter *padapter) goto exit; } - rtw_set_802_11_bssid_list_scan(padapter, NULL, 0); + rtw_set_802_11_bssid_list_scan(adapter, NULL, 0); } exit: @@ -1624,7 +1624,7 @@ void rtw_dynamic_check_timer_handler(struct adapter *adapter) /* rtw_lps_ctrl_wk_cmd(adapter, LPS_CTRL_ENTER, 1); */ rtw_hal_dm_watchdog_in_lps(adapter); } else { - /* call rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, 1) in traffic_status_watchdog() */ + /* call rtw_lps_ctrl_wk_cmd(adapter, LPS_CTRL_LEAVE, 1) in traffic_status_watchdog() */ } } else { @@ -2149,10 +2149,10 @@ void rtw_update_registrypriv_dev_network(struct adapter *adapter) } /* the function is at passive_level */ -void rtw_joinbss_reset(struct adapter *padapter) +void rtw_joinbss_reset(struct adapter *adapter) { u8 threshold; - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *phtpriv = &mlme_priv->htpriv; @@ -2167,22 +2167,22 @@ void rtw_joinbss_reset(struct adapter *padapter) /* TH = 1 => means that invalidate usb rx aggregation */ /* TH = 0 => means that validate usb rx aggregation, use init value. */ if (phtpriv->ht_option) { - if (padapter->registrypriv.wifi_spec == 1) + if (adapter->registrypriv.wifi_spec == 1) threshold = 1; else threshold = 0; - rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold)); + rtw_hal_set_hwreg(adapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold)); } else { threshold = 1; - rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold)); + rtw_hal_set_hwreg(adapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold)); } } -void rtw_ht_use_default_setting(struct adapter *padapter) +void rtw_ht_use_default_setting(struct adapter *adapter) { - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *phtpriv = &mlme_priv->htpriv; - struct registry_priv *pregistrypriv = &padapter->registrypriv; + struct registry_priv *pregistrypriv = &adapter->registrypriv; bool bHwLDPCSupport = false, bHwSTBCSupport = false; bool bHwSupportBeamformer = false, bHwSupportBeamformee = false; @@ -2195,34 +2195,34 @@ void rtw_ht_use_default_setting(struct adapter *padapter) phtpriv->sgi_20m = TEST_FLAG(pregistrypriv->short_gi, BIT(0)) ? true : false; /* LDPC support */ - rtw_hal_get_def_var(padapter, HAL_DEF_RX_LDPC, (u8 *)&bHwLDPCSupport); + rtw_hal_get_def_var(adapter, HAL_DEF_RX_LDPC, (u8 *)&bHwLDPCSupport); CLEAR_FLAGS(phtpriv->ldpc_cap); if (bHwLDPCSupport) { if (TEST_FLAG(pregistrypriv->ldpc_cap, BIT(4))) SET_FLAG(phtpriv->ldpc_cap, LDPC_HT_ENABLE_RX); } - rtw_hal_get_def_var(padapter, HAL_DEF_TX_LDPC, (u8 *)&bHwLDPCSupport); + rtw_hal_get_def_var(adapter, HAL_DEF_TX_LDPC, (u8 *)&bHwLDPCSupport); if (bHwLDPCSupport) { if (TEST_FLAG(pregistrypriv->ldpc_cap, BIT(5))) SET_FLAG(phtpriv->ldpc_cap, LDPC_HT_ENABLE_TX); } /* STBC */ - rtw_hal_get_def_var(padapter, HAL_DEF_TX_STBC, (u8 *)&bHwSTBCSupport); + rtw_hal_get_def_var(adapter, HAL_DEF_TX_STBC, (u8 *)&bHwSTBCSupport); CLEAR_FLAGS(phtpriv->stbc_cap); if (bHwSTBCSupport) { if (TEST_FLAG(pregistrypriv->stbc_cap, BIT(5))) SET_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_TX); } - rtw_hal_get_def_var(padapter, HAL_DEF_RX_STBC, (u8 *)&bHwSTBCSupport); + rtw_hal_get_def_var(adapter, HAL_DEF_RX_STBC, (u8 *)&bHwSTBCSupport); if (bHwSTBCSupport) { if (TEST_FLAG(pregistrypriv->stbc_cap, BIT(4))) SET_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_RX); } /* Beamforming setting */ - rtw_hal_get_def_var(padapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&bHwSupportBeamformer); - rtw_hal_get_def_var(padapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&bHwSupportBeamformee); + rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&bHwSupportBeamformer); + rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&bHwSupportBeamformee); CLEAR_FLAGS(phtpriv->beamform_cap); if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(4)) && bHwSupportBeamformer) SET_FLAG(phtpriv->beamform_cap, BEAMFORMING_HT_BEAMFORMER_ENABLE); @@ -2231,32 +2231,32 @@ void rtw_ht_use_default_setting(struct adapter *padapter) SET_FLAG(phtpriv->beamform_cap, BEAMFORMING_HT_BEAMFORMEE_ENABLE); } -void rtw_build_wmm_ie_ht(struct adapter *padapter, u8 *out_ie, uint *pout_len) +void rtw_build_wmm_ie_ht(struct adapter *adapter, u8 *out_ie, uint *pout_len) { unsigned char WMM_IE[] = {0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00}; int out_len; - if (padapter->mlmepriv.qospriv.qos_option == 0) { + if (adapter->mlmepriv.qospriv.qos_option == 0) { out_len = *pout_len; rtw_set_ie(out_ie + out_len, WLAN_EID_VENDOR_SPECIFIC, _WMM_IE_Length_, WMM_IE, pout_len); - padapter->mlmepriv.qospriv.qos_option = 1; + adapter->mlmepriv.qospriv.qos_option = 1; } } /* the function is >= passive_level */ -unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel) +unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel) { u32 ielen, out_len; enum ieee80211_max_ampdu_length_exp max_rx_ampdu_factor; unsigned char *p; struct ieee80211_ht_cap ht_capie; u8 cbw40_enable = 0, stbc_rx_enable = 0, operation_bw = 0; - struct registry_priv *pregistrypriv = &padapter->registrypriv; - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct registry_priv *pregistrypriv = &adapter->registrypriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *phtpriv = &mlme_priv->htpriv; - struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; + struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; phtpriv->ht_option = false; @@ -2273,7 +2273,7 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ if (!in_ie) { /* TDLS: TODO 20/40 issue */ if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { - operation_bw = padapter->mlmeextpriv.cur_bwmode; + operation_bw = adapter->mlmeextpriv.cur_bwmode; if (operation_bw > CHANNEL_WIDTH_40) operation_bw = CHANNEL_WIDTH_40; } else { @@ -2335,20 +2335,20 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ { u32 rx_packet_offset, max_recvbuf_sz; - rtw_hal_get_def_var(padapter, HAL_DEF_RX_PACKET_OFFSET, &rx_packet_offset); - rtw_hal_get_def_var(padapter, HAL_DEF_MAX_RECVBUF_SZ, &max_recvbuf_sz); + rtw_hal_get_def_var(adapter, HAL_DEF_RX_PACKET_OFFSET, &rx_packet_offset); + rtw_hal_get_def_var(adapter, HAL_DEF_MAX_RECVBUF_SZ, &max_recvbuf_sz); } - if (padapter->driver_rx_ampdu_factor != 0xFF) + if (adapter->driver_rx_ampdu_factor != 0xFF) max_rx_ampdu_factor = - (enum ieee80211_max_ampdu_length_exp)padapter->driver_rx_ampdu_factor; + (enum ieee80211_max_ampdu_length_exp)adapter->driver_rx_ampdu_factor; else - rtw_hal_get_def_var(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR, + rtw_hal_get_def_var(adapter, HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor); ht_capie.ampdu_params_info = (max_rx_ampdu_factor & 0x03); - if (padapter->securitypriv.dot11_privacy_algrthm == _AES_) + if (adapter->securitypriv.dot11_privacy_algrthm == _AES_) ht_capie.ampdu_params_info |= (IEEE80211_HT_CAP_AMPDU_DENSITY & (0x07 << 2)); else ht_capie.ampdu_params_info |= (IEEE80211_HT_CAP_AMPDU_DENSITY & 0x00); @@ -2370,15 +2370,15 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ } /* the function is > passive_level (in critical_section) */ -void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channel) +void rtw_update_ht_cap(struct adapter *adapter, u8 *pie, uint ie_len, u8 channel) { u8 *p, max_ampdu_sz; int len; struct ieee80211_ht_cap *pht_capie; - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *phtpriv = &mlme_priv->htpriv; - struct registry_priv *pregistrypriv = &padapter->registrypriv; - struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; + struct registry_priv *pregistrypriv = &adapter->registrypriv; + struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; u8 cbw40_enable = 0; @@ -2455,7 +2455,7 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe pmlmeinfo->HT_protection = pmlmeinfo->HT_info.infos[1] & 0x3; } -void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitframe) +void rtw_issue_addbareq_cmd(struct adapter *adapter, struct xmit_frame *pxmitframe) { u8 issued; int priority; @@ -2464,12 +2464,12 @@ void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitfr struct pkt_attrib *pattrib = &pxmitframe->attrib; s32 bmcst = is_multicast_ether_addr(pattrib->ra); - if (bmcst || (padapter->mlmepriv.link_detect_info.num_tx_ok_in_period < 100)) + if (bmcst || (adapter->mlmepriv.link_detect_info.num_tx_ok_in_period < 100)) return; priority = pattrib->priority; - psta = rtw_get_stainfo(&padapter->stapriv, pattrib->ra); + psta = rtw_get_stainfo(&adapter->stapriv, pattrib->ra); if (pattrib->psta != psta) return; @@ -2487,14 +2487,14 @@ void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitfr if (issued == 0) { psta->htpriv.candidate_tid_bitmap |= BIT((u8)priority); - rtw_addbareq_cmd(padapter, (u8) priority, pattrib->ra); + rtw_addbareq_cmd(adapter, (u8) priority, pattrib->ra); } } } -void rtw_append_exented_cap(struct adapter *padapter, u8 *out_ie, uint *pout_len) +void rtw_append_exented_cap(struct adapter *adapter, u8 *out_ie, uint *pout_len) { - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *phtpriv = &mlme_priv->htpriv; u8 cap_content[8] = {0}; @@ -2522,43 +2522,43 @@ inline u8 rtw_to_roam(struct adapter *adapter) return adapter->mlmepriv.to_roam; } -void rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network) +void rtw_roaming(struct adapter *adapter, struct wlan_network *tgt_network) { - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; spin_lock_bh(&mlme_priv->lock); - _rtw_roaming(padapter, tgt_network); + _rtw_roaming(adapter, tgt_network); spin_unlock_bh(&mlme_priv->lock); } -void _rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network) +void _rtw_roaming(struct adapter *adapter, struct wlan_network *tgt_network) { - struct mlme_priv *mlme_priv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct wlan_network *cur_network = &mlme_priv->cur_network; - if (rtw_to_roam(padapter) > 0) { + if (rtw_to_roam(adapter) > 0) { memcpy(&mlme_priv->assoc_ssid, &cur_network->network.ssid, sizeof(struct ndis_802_11_ssid)); mlme_priv->assoc_by_bssid = false; - while (rtw_do_join(padapter) != _SUCCESS) { - rtw_dec_to_roam(padapter); - if (rtw_to_roam(padapter) <= 0) { - rtw_indicate_disconnect(padapter); + while (rtw_do_join(adapter) != _SUCCESS) { + rtw_dec_to_roam(adapter); + if (rtw_to_roam(adapter) <= 0) { + rtw_indicate_disconnect(adapter); break; } } } } -bool rtw_linked_check(struct adapter *padapter) +bool rtw_linked_check(struct adapter *adapter) { - if (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) || - check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) { - if (padapter->stapriv.asoc_sta_count > 2) + if (check_fwstate(&adapter->mlmepriv, WIFI_AP_STATE) || + check_fwstate(&adapter->mlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) { + if (adapter->stapriv.asoc_sta_count > 2) return true; } else { /* Station mode */ - if (check_fwstate(&padapter->mlmepriv, _FW_LINKED)) + if (check_fwstate(&adapter->mlmepriv, _FW_LINKED)) return true; } return false; From 403ad340514fc30e6628c3fc296aa96047be0987 Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:29 +0000 Subject: [PATCH 011/145] staging: rtl8723bs: renaming variable phtpriv in rtw_mlme.c Renaming occurrences of phtpriv to ht_priv since the prefix p is an old naming convention to indicate a pointer variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-7-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 74 +++++++++++------------ 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index e46e137a1adf..7245f671075e 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -2154,7 +2154,7 @@ void rtw_joinbss_reset(struct adapter *adapter) u8 threshold; struct mlme_priv *mlme_priv = &adapter->mlmepriv; - struct ht_priv *phtpriv = &mlme_priv->htpriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; /* todo: if you want to do something io/reg/hw setting before join_bss, please add code here */ @@ -2162,11 +2162,11 @@ void rtw_joinbss_reset(struct adapter *adapter) mlme_priv->num_sta_no_ht = 0; - phtpriv->ampdu_enable = false;/* reset to disabled */ + ht_priv->ampdu_enable = false;/* reset to disabled */ /* TH = 1 => means that invalidate usb rx aggregation */ /* TH = 0 => means that validate usb rx aggregation, use init value. */ - if (phtpriv->ht_option) { + if (ht_priv->ht_option) { if (adapter->registrypriv.wifi_spec == 1) threshold = 1; else @@ -2181,54 +2181,54 @@ void rtw_joinbss_reset(struct adapter *adapter) void rtw_ht_use_default_setting(struct adapter *adapter) { struct mlme_priv *mlme_priv = &adapter->mlmepriv; - struct ht_priv *phtpriv = &mlme_priv->htpriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; struct registry_priv *pregistrypriv = &adapter->registrypriv; bool bHwLDPCSupport = false, bHwSTBCSupport = false; bool bHwSupportBeamformer = false, bHwSupportBeamformee = false; if (pregistrypriv->wifi_spec) - phtpriv->bss_coexist = 1; + ht_priv->bss_coexist = 1; else - phtpriv->bss_coexist = 0; + ht_priv->bss_coexist = 0; - phtpriv->sgi_40m = TEST_FLAG(pregistrypriv->short_gi, BIT(1)) ? true : false; - phtpriv->sgi_20m = TEST_FLAG(pregistrypriv->short_gi, BIT(0)) ? true : false; + ht_priv->sgi_40m = TEST_FLAG(pregistrypriv->short_gi, BIT(1)) ? true : false; + ht_priv->sgi_20m = TEST_FLAG(pregistrypriv->short_gi, BIT(0)) ? true : false; /* LDPC support */ rtw_hal_get_def_var(adapter, HAL_DEF_RX_LDPC, (u8 *)&bHwLDPCSupport); - CLEAR_FLAGS(phtpriv->ldpc_cap); + CLEAR_FLAGS(ht_priv->ldpc_cap); if (bHwLDPCSupport) { if (TEST_FLAG(pregistrypriv->ldpc_cap, BIT(4))) - SET_FLAG(phtpriv->ldpc_cap, LDPC_HT_ENABLE_RX); + SET_FLAG(ht_priv->ldpc_cap, LDPC_HT_ENABLE_RX); } rtw_hal_get_def_var(adapter, HAL_DEF_TX_LDPC, (u8 *)&bHwLDPCSupport); if (bHwLDPCSupport) { if (TEST_FLAG(pregistrypriv->ldpc_cap, BIT(5))) - SET_FLAG(phtpriv->ldpc_cap, LDPC_HT_ENABLE_TX); + SET_FLAG(ht_priv->ldpc_cap, LDPC_HT_ENABLE_TX); } /* STBC */ rtw_hal_get_def_var(adapter, HAL_DEF_TX_STBC, (u8 *)&bHwSTBCSupport); - CLEAR_FLAGS(phtpriv->stbc_cap); + CLEAR_FLAGS(ht_priv->stbc_cap); if (bHwSTBCSupport) { if (TEST_FLAG(pregistrypriv->stbc_cap, BIT(5))) - SET_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_TX); + SET_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_TX); } rtw_hal_get_def_var(adapter, HAL_DEF_RX_STBC, (u8 *)&bHwSTBCSupport); if (bHwSTBCSupport) { if (TEST_FLAG(pregistrypriv->stbc_cap, BIT(4))) - SET_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_RX); + SET_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_RX); } /* Beamforming setting */ rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&bHwSupportBeamformer); rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&bHwSupportBeamformee); - CLEAR_FLAGS(phtpriv->beamform_cap); + CLEAR_FLAGS(ht_priv->beamform_cap); if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(4)) && bHwSupportBeamformer) - SET_FLAG(phtpriv->beamform_cap, BEAMFORMING_HT_BEAMFORMER_ENABLE); + SET_FLAG(ht_priv->beamform_cap, BEAMFORMING_HT_BEAMFORMER_ENABLE); if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(5)) && bHwSupportBeamformee) - SET_FLAG(phtpriv->beamform_cap, BEAMFORMING_HT_BEAMFORMEE_ENABLE); + SET_FLAG(ht_priv->beamform_cap, BEAMFORMING_HT_BEAMFORMEE_ENABLE); } void rtw_build_wmm_ie_ht(struct adapter *adapter, u8 *out_ie, uint *pout_len) @@ -2255,10 +2255,10 @@ unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_i u8 cbw40_enable = 0, stbc_rx_enable = 0, operation_bw = 0; struct registry_priv *pregistrypriv = &adapter->registrypriv; struct mlme_priv *mlme_priv = &adapter->mlmepriv; - struct ht_priv *phtpriv = &mlme_priv->htpriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; - phtpriv->ht_option = false; + ht_priv->ht_option = false; out_len = *pout_len; @@ -2266,7 +2266,7 @@ unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_i ht_capie.cap_info = cpu_to_le16(IEEE80211_HT_CAP_DSSSCCK40); - if (phtpriv->sgi_20m) + if (ht_priv->sgi_20m) ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SGI_20); /* Get HT BW */ @@ -2307,17 +2307,17 @@ unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_i if ((cbw40_enable == 1) && (operation_bw == CHANNEL_WIDTH_40)) { ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SUP_WIDTH); - if (phtpriv->sgi_40m) + if (ht_priv->sgi_40m) ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SGI_40); } - if (TEST_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_TX)) + if (TEST_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_TX)) ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_TX_STBC); /* todo: disable SM power save mode */ ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SM_PS); - if (TEST_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_RX)) { + if (TEST_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_RX)) { if ((channel <= 14 && pregistrypriv->rx_stbc == 0x1) || /* enable for 2.4GHz */ (pregistrypriv->wifi_spec == 1)) stbc_rx_enable = 1; @@ -2356,7 +2356,7 @@ unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_i rtw_set_ie(out_ie + out_len, WLAN_EID_HT_CAPABILITY, sizeof(struct ieee80211_ht_cap), (unsigned char *)&ht_capie, pout_len); - phtpriv->ht_option = true; + ht_priv->ht_option = true; if (in_ie) { p = rtw_get_ie(in_ie, WLAN_EID_HT_OPERATION, &ielen, in_len); @@ -2366,7 +2366,7 @@ unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_i } } - return phtpriv->ht_option; + return ht_priv->ht_option; } /* the function is > passive_level (in critical_section) */ @@ -2376,21 +2376,21 @@ void rtw_update_ht_cap(struct adapter *adapter, u8 *pie, uint ie_len, u8 channel int len; struct ieee80211_ht_cap *pht_capie; struct mlme_priv *mlme_priv = &adapter->mlmepriv; - struct ht_priv *phtpriv = &mlme_priv->htpriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; struct registry_priv *pregistrypriv = &adapter->registrypriv; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; u8 cbw40_enable = 0; - if (!phtpriv->ht_option) + if (!ht_priv->ht_option) return; if ((!pmlmeinfo->HT_info_enable) || (!pmlmeinfo->HT_caps_enable)) return; /* maybe needs check if ap supports rx ampdu. */ - if (!(phtpriv->ampdu_enable) && pregistrypriv->ampdu_enable == 1) - phtpriv->ampdu_enable = true; + if (!(ht_priv->ampdu_enable) && pregistrypriv->ampdu_enable == 1) + ht_priv->ampdu_enable = true; /* check Max Rx A-MPDU Size */ len = 0; @@ -2400,7 +2400,7 @@ void rtw_update_ht_cap(struct adapter *adapter, u8 *pie, uint ie_len, u8 channel max_ampdu_sz = (pht_capie->ampdu_params_info & IEEE80211_HT_CAP_AMPDU_FACTOR); max_ampdu_sz = 1 << (max_ampdu_sz + 3); /* max_ampdu_sz (kbytes); */ - phtpriv->rx_ampdu_maxlen = max_ampdu_sz; + ht_priv->rx_ampdu_maxlen = max_ampdu_sz; } len = 0; @@ -2460,7 +2460,7 @@ void rtw_issue_addbareq_cmd(struct adapter *adapter, struct xmit_frame *pxmitfra u8 issued; int priority; struct sta_info *psta; - struct ht_priv *phtpriv; + struct ht_priv *ht_priv; struct pkt_attrib *pattrib = &pxmitframe->attrib; s32 bmcst = is_multicast_ether_addr(pattrib->ra); @@ -2479,11 +2479,11 @@ void rtw_issue_addbareq_cmd(struct adapter *adapter, struct xmit_frame *pxmitfra if (!(psta->state & _FW_LINKED)) return; - phtpriv = &psta->htpriv; + ht_priv = &psta->htpriv; - if (phtpriv->ht_option && phtpriv->ampdu_enable) { - issued = (phtpriv->agg_enable_bitmap >> priority) & 0x1; - issued |= (phtpriv->candidate_tid_bitmap >> priority) & 0x1; + if (ht_priv->ht_option && ht_priv->ampdu_enable) { + issued = (ht_priv->agg_enable_bitmap >> priority) & 0x1; + issued |= (ht_priv->candidate_tid_bitmap >> priority) & 0x1; if (issued == 0) { psta->htpriv.candidate_tid_bitmap |= BIT((u8)priority); @@ -2495,10 +2495,10 @@ void rtw_issue_addbareq_cmd(struct adapter *adapter, struct xmit_frame *pxmitfra void rtw_append_exented_cap(struct adapter *adapter, u8 *out_ie, uint *pout_len) { struct mlme_priv *mlme_priv = &adapter->mlmepriv; - struct ht_priv *phtpriv = &mlme_priv->htpriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; u8 cap_content[8] = {0}; - if (phtpriv->bss_coexist) + if (ht_priv->bss_coexist) SET_EXT_CAPABILITY_ELE_BSS_COEXIST(cap_content, 1); rtw_set_ie(out_ie + *pout_len, WLAN_EID_EXT_CAPABILITY, 8, cap_content, pout_len); From 7e9f6af6ef41a8ca429f1a3ad799d2a0f8d46b90 Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:30 +0000 Subject: [PATCH 012/145] staging: rtl8723bs: renaming variable pregistrypriv in rtw_mlme.c Renaming occurrences of pregistrypriv to registry_priv since the prefix p is an old naming convention to indicate a pointer variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-8-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 50 +++++++++++------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 7245f671075e..0da5515a6be5 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -2102,14 +2102,14 @@ signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, u void rtw_init_registrypriv_dev_network(struct adapter *adapter) { - struct registry_priv *pregistrypriv = &adapter->registrypriv; + struct registry_priv *registry_priv = &adapter->registrypriv; struct eeprom_priv *peepriv = &adapter->eeprompriv; - struct wlan_bssid_ex *dev_network = &pregistrypriv->dev_network; + struct wlan_bssid_ex *dev_network = ®istry_priv->dev_network; u8 *myhwaddr = myid(peepriv); memcpy(dev_network->mac_address, myhwaddr, ETH_ALEN); - memcpy(&dev_network->ssid, &pregistrypriv->ssid, sizeof(struct ndis_802_11_ssid)); + memcpy(&dev_network->ssid, ®istry_priv->ssid, sizeof(struct ndis_802_11_ssid)); dev_network->configuration.length = sizeof(struct ndis_802_11_conf); dev_network->configuration.beacon_period = 100; @@ -2118,8 +2118,8 @@ void rtw_init_registrypriv_dev_network(struct adapter *adapter) void rtw_update_registrypriv_dev_network(struct adapter *adapter) { int sz = 0; - struct registry_priv *pregistrypriv = &adapter->registrypriv; - struct wlan_bssid_ex *dev_network = &pregistrypriv->dev_network; + struct registry_priv *registry_priv = &adapter->registrypriv; + struct wlan_bssid_ex *dev_network = ®istry_priv->dev_network; struct security_priv *psecuritypriv = &adapter->securitypriv; struct wlan_network *cur_network = &adapter->mlmepriv.cur_network; @@ -2127,7 +2127,7 @@ void rtw_update_registrypriv_dev_network(struct adapter *adapter) dev_network->rssi = 0; - dev_network->configuration.ds_config = (pregistrypriv->channel); + dev_network->configuration.ds_config = (registry_priv->channel); if (cur_network->network.infrastructure_mode == NL80211_IFTYPE_ADHOC) dev_network->configuration.atim_window = (0); @@ -2137,8 +2137,8 @@ void rtw_update_registrypriv_dev_network(struct adapter *adapter) /* 1. Supported rates */ /* 2. IE */ - /* rtw_set_supported_rate(dev_network->supported_rates, pregistrypriv->wireless_mode) ; will be called in rtw_generate_ie */ - sz = rtw_generate_ie(pregistrypriv); + /* rtw_set_supported_rate(dev_network->supported_rates, registry_priv->wireless_mode) ; will be called in rtw_generate_ie */ + sz = rtw_generate_ie(registry_priv); dev_network->ie_length = sz; @@ -2182,28 +2182,28 @@ void rtw_ht_use_default_setting(struct adapter *adapter) { struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *ht_priv = &mlme_priv->htpriv; - struct registry_priv *pregistrypriv = &adapter->registrypriv; + struct registry_priv *registry_priv = &adapter->registrypriv; bool bHwLDPCSupport = false, bHwSTBCSupport = false; bool bHwSupportBeamformer = false, bHwSupportBeamformee = false; - if (pregistrypriv->wifi_spec) + if (registry_priv->wifi_spec) ht_priv->bss_coexist = 1; else ht_priv->bss_coexist = 0; - ht_priv->sgi_40m = TEST_FLAG(pregistrypriv->short_gi, BIT(1)) ? true : false; - ht_priv->sgi_20m = TEST_FLAG(pregistrypriv->short_gi, BIT(0)) ? true : false; + ht_priv->sgi_40m = TEST_FLAG(registry_priv->short_gi, BIT(1)) ? true : false; + ht_priv->sgi_20m = TEST_FLAG(registry_priv->short_gi, BIT(0)) ? true : false; /* LDPC support */ rtw_hal_get_def_var(adapter, HAL_DEF_RX_LDPC, (u8 *)&bHwLDPCSupport); CLEAR_FLAGS(ht_priv->ldpc_cap); if (bHwLDPCSupport) { - if (TEST_FLAG(pregistrypriv->ldpc_cap, BIT(4))) + if (TEST_FLAG(registry_priv->ldpc_cap, BIT(4))) SET_FLAG(ht_priv->ldpc_cap, LDPC_HT_ENABLE_RX); } rtw_hal_get_def_var(adapter, HAL_DEF_TX_LDPC, (u8 *)&bHwLDPCSupport); if (bHwLDPCSupport) { - if (TEST_FLAG(pregistrypriv->ldpc_cap, BIT(5))) + if (TEST_FLAG(registry_priv->ldpc_cap, BIT(5))) SET_FLAG(ht_priv->ldpc_cap, LDPC_HT_ENABLE_TX); } @@ -2211,12 +2211,12 @@ void rtw_ht_use_default_setting(struct adapter *adapter) rtw_hal_get_def_var(adapter, HAL_DEF_TX_STBC, (u8 *)&bHwSTBCSupport); CLEAR_FLAGS(ht_priv->stbc_cap); if (bHwSTBCSupport) { - if (TEST_FLAG(pregistrypriv->stbc_cap, BIT(5))) + if (TEST_FLAG(registry_priv->stbc_cap, BIT(5))) SET_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_TX); } rtw_hal_get_def_var(adapter, HAL_DEF_RX_STBC, (u8 *)&bHwSTBCSupport); if (bHwSTBCSupport) { - if (TEST_FLAG(pregistrypriv->stbc_cap, BIT(4))) + if (TEST_FLAG(registry_priv->stbc_cap, BIT(4))) SET_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_RX); } @@ -2224,10 +2224,10 @@ void rtw_ht_use_default_setting(struct adapter *adapter) rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&bHwSupportBeamformer); rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&bHwSupportBeamformee); CLEAR_FLAGS(ht_priv->beamform_cap); - if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(4)) && bHwSupportBeamformer) + if (TEST_FLAG(registry_priv->beamform_cap, BIT(4)) && bHwSupportBeamformer) SET_FLAG(ht_priv->beamform_cap, BEAMFORMING_HT_BEAMFORMER_ENABLE); - if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(5)) && bHwSupportBeamformee) + if (TEST_FLAG(registry_priv->beamform_cap, BIT(5)) && bHwSupportBeamformee) SET_FLAG(ht_priv->beamform_cap, BEAMFORMING_HT_BEAMFORMEE_ENABLE); } @@ -2253,7 +2253,7 @@ unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_i unsigned char *p; struct ieee80211_ht_cap ht_capie; u8 cbw40_enable = 0, stbc_rx_enable = 0, operation_bw = 0; - struct registry_priv *pregistrypriv = &adapter->registrypriv; + struct registry_priv *registry_priv = &adapter->registrypriv; struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *ht_priv = &mlme_priv->htpriv; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; @@ -2302,7 +2302,7 @@ unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_i } /* to disable 40M Hz support while gd_bw_40MHz_en = 0 */ - if ((pregistrypriv->bw_mode & 0x0f) > 0) + if ((registry_priv->bw_mode & 0x0f) > 0) cbw40_enable = 1; if ((cbw40_enable == 1) && (operation_bw == CHANNEL_WIDTH_40)) { @@ -2318,8 +2318,8 @@ unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_i ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SM_PS); if (TEST_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_RX)) { - if ((channel <= 14 && pregistrypriv->rx_stbc == 0x1) || /* enable for 2.4GHz */ - (pregistrypriv->wifi_spec == 1)) + if ((channel <= 14 && registry_priv->rx_stbc == 0x1) || /* enable for 2.4GHz */ + (registry_priv->wifi_spec == 1)) stbc_rx_enable = 1; } @@ -2377,7 +2377,7 @@ void rtw_update_ht_cap(struct adapter *adapter, u8 *pie, uint ie_len, u8 channel struct ieee80211_ht_cap *pht_capie; struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *ht_priv = &mlme_priv->htpriv; - struct registry_priv *pregistrypriv = &adapter->registrypriv; + struct registry_priv *registry_priv = &adapter->registrypriv; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; u8 cbw40_enable = 0; @@ -2389,7 +2389,7 @@ void rtw_update_ht_cap(struct adapter *adapter, u8 *pie, uint ie_len, u8 channel return; /* maybe needs check if ap supports rx ampdu. */ - if (!(ht_priv->ampdu_enable) && pregistrypriv->ampdu_enable == 1) + if (!(ht_priv->ampdu_enable) && registry_priv->ampdu_enable == 1) ht_priv->ampdu_enable = true; /* check Max Rx A-MPDU Size */ @@ -2409,7 +2409,7 @@ void rtw_update_ht_cap(struct adapter *adapter, u8 *pie, uint ie_len, u8 channel /* todo: */ } - if ((pregistrypriv->bw_mode & 0x0f) > 0) + if ((registry_priv->bw_mode & 0x0f) > 0) cbw40_enable = 1; /* update cur_bwmode & cur_ch_offset */ From b2700a102da7f38665ecfb0e2f8e714b26d8d0f2 Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:31 +0000 Subject: [PATCH 013/145] staging: rtl8723bs: renaming variable bHwLDPCSupport in rtw_mlme.c Renaming occurrences of bHwLDPCSupport to hw_ldpc_support since the prefix b is an old naming convention to indicate a boolean variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-9-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 0da5515a6be5..6a7b86532d81 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -2183,7 +2183,7 @@ void rtw_ht_use_default_setting(struct adapter *adapter) struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *ht_priv = &mlme_priv->htpriv; struct registry_priv *registry_priv = &adapter->registrypriv; - bool bHwLDPCSupport = false, bHwSTBCSupport = false; + bool hw_ldpc_support = false, bHwSTBCSupport = false; bool bHwSupportBeamformer = false, bHwSupportBeamformee = false; if (registry_priv->wifi_spec) @@ -2195,14 +2195,14 @@ void rtw_ht_use_default_setting(struct adapter *adapter) ht_priv->sgi_20m = TEST_FLAG(registry_priv->short_gi, BIT(0)) ? true : false; /* LDPC support */ - rtw_hal_get_def_var(adapter, HAL_DEF_RX_LDPC, (u8 *)&bHwLDPCSupport); + rtw_hal_get_def_var(adapter, HAL_DEF_RX_LDPC, (u8 *)&hw_ldpc_support); CLEAR_FLAGS(ht_priv->ldpc_cap); - if (bHwLDPCSupport) { + if (hw_ldpc_support) { if (TEST_FLAG(registry_priv->ldpc_cap, BIT(4))) SET_FLAG(ht_priv->ldpc_cap, LDPC_HT_ENABLE_RX); } - rtw_hal_get_def_var(adapter, HAL_DEF_TX_LDPC, (u8 *)&bHwLDPCSupport); - if (bHwLDPCSupport) { + rtw_hal_get_def_var(adapter, HAL_DEF_TX_LDPC, (u8 *)&hw_ldpc_support); + if (hw_ldpc_support) { if (TEST_FLAG(registry_priv->ldpc_cap, BIT(5))) SET_FLAG(ht_priv->ldpc_cap, LDPC_HT_ENABLE_TX); } From 680711f1f6be5d020acd03dfd6bbb51dabd8153d Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:32 +0000 Subject: [PATCH 014/145] staging: rtl8723bs: renaming variable bHwSTBCSupport in rtw_mlme.c Renaming occurrences of bHwSTBCSupport to hw_stbc_support since the prefix b is an old naming convention to indicate a boolean variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-10-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 6a7b86532d81..caf8c7623a73 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -2183,7 +2183,7 @@ void rtw_ht_use_default_setting(struct adapter *adapter) struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct ht_priv *ht_priv = &mlme_priv->htpriv; struct registry_priv *registry_priv = &adapter->registrypriv; - bool hw_ldpc_support = false, bHwSTBCSupport = false; + bool hw_ldpc_support = false, hw_stbc_support = false; bool bHwSupportBeamformer = false, bHwSupportBeamformee = false; if (registry_priv->wifi_spec) @@ -2208,14 +2208,14 @@ void rtw_ht_use_default_setting(struct adapter *adapter) } /* STBC */ - rtw_hal_get_def_var(adapter, HAL_DEF_TX_STBC, (u8 *)&bHwSTBCSupport); + rtw_hal_get_def_var(adapter, HAL_DEF_TX_STBC, (u8 *)&hw_stbc_support); CLEAR_FLAGS(ht_priv->stbc_cap); - if (bHwSTBCSupport) { + if (hw_stbc_support) { if (TEST_FLAG(registry_priv->stbc_cap, BIT(5))) SET_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_TX); } - rtw_hal_get_def_var(adapter, HAL_DEF_RX_STBC, (u8 *)&bHwSTBCSupport); - if (bHwSTBCSupport) { + rtw_hal_get_def_var(adapter, HAL_DEF_RX_STBC, (u8 *)&hw_stbc_support); + if (hw_stbc_support) { if (TEST_FLAG(registry_priv->stbc_cap, BIT(4))) SET_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_RX); } From 2dc4ff4957a2cd4f17edef5da8ab87c70c353409 Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:33 +0000 Subject: [PATCH 015/145] staging: rtl8723bs: renaming variable bHwSupportBeamformer in rtw_mlme.c Renaming occurrences of bHwSupportBeamformer to hw_support_beamformer since the prefix b is an old naming convention to indicate a boolean variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-11-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index caf8c7623a73..e0dbf420ac62 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -2184,7 +2184,7 @@ void rtw_ht_use_default_setting(struct adapter *adapter) struct ht_priv *ht_priv = &mlme_priv->htpriv; struct registry_priv *registry_priv = &adapter->registrypriv; bool hw_ldpc_support = false, hw_stbc_support = false; - bool bHwSupportBeamformer = false, bHwSupportBeamformee = false; + bool hw_support_beamformer = false, bHwSupportBeamformee = false; if (registry_priv->wifi_spec) ht_priv->bss_coexist = 1; @@ -2221,10 +2221,10 @@ void rtw_ht_use_default_setting(struct adapter *adapter) } /* Beamforming setting */ - rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&bHwSupportBeamformer); + rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&hw_support_beamformer); rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&bHwSupportBeamformee); CLEAR_FLAGS(ht_priv->beamform_cap); - if (TEST_FLAG(registry_priv->beamform_cap, BIT(4)) && bHwSupportBeamformer) + if (TEST_FLAG(registry_priv->beamform_cap, BIT(4)) && hw_support_beamformer) SET_FLAG(ht_priv->beamform_cap, BEAMFORMING_HT_BEAMFORMER_ENABLE); if (TEST_FLAG(registry_priv->beamform_cap, BIT(5)) && bHwSupportBeamformee) From 446418344030e7b433b485817cba15a46f7dc13b Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Fri, 31 Jul 2026 10:41:34 +0000 Subject: [PATCH 016/145] staging: rtl8723bs: renaming variable bHwSupportBeamformee in rtw_mlme.c Renaming occurrences of bHwSupportBeamformee to hw_support_beamformee since the prefix b is an old naming convention to indicate a boolean variable. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260731104134.12754-12-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index e0dbf420ac62..84e479886ffc 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -2184,7 +2184,7 @@ void rtw_ht_use_default_setting(struct adapter *adapter) struct ht_priv *ht_priv = &mlme_priv->htpriv; struct registry_priv *registry_priv = &adapter->registrypriv; bool hw_ldpc_support = false, hw_stbc_support = false; - bool hw_support_beamformer = false, bHwSupportBeamformee = false; + bool hw_support_beamformer = false, hw_support_beamformee = false; if (registry_priv->wifi_spec) ht_priv->bss_coexist = 1; @@ -2222,12 +2222,12 @@ void rtw_ht_use_default_setting(struct adapter *adapter) /* Beamforming setting */ rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&hw_support_beamformer); - rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&bHwSupportBeamformee); + rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&hw_support_beamformee); CLEAR_FLAGS(ht_priv->beamform_cap); if (TEST_FLAG(registry_priv->beamform_cap, BIT(4)) && hw_support_beamformer) SET_FLAG(ht_priv->beamform_cap, BEAMFORMING_HT_BEAMFORMER_ENABLE); - if (TEST_FLAG(registry_priv->beamform_cap, BIT(5)) && bHwSupportBeamformee) + if (TEST_FLAG(registry_priv->beamform_cap, BIT(5)) && hw_support_beamformee) SET_FLAG(ht_priv->beamform_cap, BEAMFORMING_HT_BEAMFORMEE_ENABLE); } From 3d10487e37fd28477a2e559ed72f6aeb68723f5d Mon Sep 17 00:00:00 2001 From: Mohammed Momin Date: Mon, 3 Aug 2026 20:33:29 +0530 Subject: [PATCH 017/145] staging: rtl8723bs: remove unnecessary braces Remove unnecessary braces around a single-statement 'if' block in HalPhyRf.c. This resolves the following checkpatch warning: "WARNING: braces {} are not necessary for single statement blocks" Signed-off-by: Mohammed Momin Link: https://patch.msgid.link/20260803150329.24065-1-linuxmomin0@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/HalPhyRf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf.c b/drivers/staging/rtl8723bs/hal/HalPhyRf.c index bf44c1050be5..449db21e8a0b 100644 --- a/drivers/staging/rtl8723bs/hal/HalPhyRf.c +++ b/drivers/staging/rtl8723bs/hal/HalPhyRf.c @@ -117,9 +117,8 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter) } /* Calculate Average ThermalValue after average enough times */ - if (ThermalValue_AVG_count) { + if (ThermalValue_AVG_count) ThermalValue = (u8)(ThermalValue_AVG / ThermalValue_AVG_count); - } /* 4 5. Calculate delta, delta_LCK */ /* delta" here is used to determine whether thermal value changes or not. */ From be86ef1253c9df3ed1e9f93e36c5b00707dab14b Mon Sep 17 00:00:00 2001 From: Ashmit Kumar Date: Mon, 3 Aug 2026 18:15:22 +0000 Subject: [PATCH 018/145] staging: rtl8723bs: rtw_ap: remove unnecessary parentheses from return The Linux kernel coding style specifies that return is not a function and therefore parentheses are not required. Signed-off-by: Ashmit Kumar Link: https://patch.msgid.link/20260803181522.3748-1-work.ashmitkumar@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_ap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c index 4728f62a1557..9face4c8ded2 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -1068,7 +1068,7 @@ int rtw_acl_add_sta(struct adapter *padapter, u8 *addr) struct __queue *pacl_node_q = &pacl_list->acl_node_q; if ((NUM_ACL - 1) < pacl_list->num) - return (-1); + return -1; spin_lock_bh(&pacl_node_q->lock); From baa84b1bb1648506333fde3e66b6540f9d7d73cc Mon Sep 17 00:00:00 2001 From: Myeonghun Pak Date: Sat, 1 Aug 2026 01:17:10 +0900 Subject: [PATCH 019/145] staging: rtl8723bs: disable SDIO function on block size failure sdio_init() enables the SDIO function before configuring the block size. If sdio_set_block_size() fails, the function jumps to the release path and returns the error without disabling the SDIO function. The caller then frees the dvobj directly, so the enabled SDIO function is left active on that probe failure path. Disable the SDIO function before releasing the host when block size configuration fails. This issue was identified during our ongoing static-analysis research while reviewing kernel code. Fixes: 554c0a3abf21 ("staging: Add rtl8723bs sdio wifi driver") Co-developed-by: Ijae Kim Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak Reviewed-by: Dan Carpenter Link: https://patch.msgid.link/20260731161710.44828-1-mhun512@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c index c61d3d12df7f..6ef3a7198533 100644 --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c @@ -122,8 +122,10 @@ static u32 sdio_init(struct dvobj_priv *dvobj) goto release; err = sdio_set_block_size(func, 512); - if (err) + if (err) { + sdio_disable_func(func); goto release; + } psdio_data->block_transfer_len = 512; psdio_data->tx_block_mode = 1; From 049148af5de057474821a9ff9c434a914a870465 Mon Sep 17 00:00:00 2001 From: Hungyu Lin Date: Fri, 31 Jul 2026 15:52:26 +0000 Subject: [PATCH 020/145] staging: rtl8723bs: convert mgmt xmit coalesce to errno Change rtw_mgmt_xmitframe_coalesce() to use kernel-style return values. Return 0 on success and negative errno on failure. The only caller currently doesn't check for errors, so this change does not affect runtime behavior. Later patches in this series will propagate error handling to the caller. Signed-off-by: Hungyu Lin Reviewed-by: Dan Carpenter Link: https://patch.msgid.link/20260731155228.22526-2-dennylin0707@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_xmit.c | 8 ++++---- drivers/staging/rtl8723bs/include/rtw_xmit.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index 81d9e713fc12..eb1aa8f72399 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -1188,7 +1188,7 @@ int rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct } /* broadcast or multicast management pkt use BIP, unicast management pkt use CCMP encryption */ -s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe) +int rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe) { u8 *pframe, *mem_start = NULL, *tmp_buf = NULL; u8 subtype; @@ -1211,7 +1211,7 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s BIP_AAD = kzalloc(ori_len, GFP_ATOMIC); if (!BIP_AAD) - return _FAIL; + return -ENOMEM; tmp_buf = BIP_AAD; subtype = GetFrameSubType(pframe); /* bit(7)~bit(2) */ @@ -1342,12 +1342,12 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s xmitframe_coalesce_success: spin_unlock_bh(&padapter->security_key_mutex); kfree(BIP_AAD); - return _SUCCESS; + return 0; xmitframe_coalesce_fail: spin_unlock_bh(&padapter->security_key_mutex); kfree(BIP_AAD); - return _FAIL; + return -EINVAL; } /* Logical Link Control(LLC) SubNetwork Attachment Point(SNAP) header diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h index 917e846e9ce2..31decc210e73 100644 --- a/drivers/staging/rtl8723bs/include/rtw_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h @@ -424,7 +424,7 @@ int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram extern u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib); #define rtw_wlan_pkt_size(f) rtw_calculate_wlan_pkt_size_by_attribue(&f->attrib) extern int rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe); -extern s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe); +extern int rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe); s32 _rtw_init_hw_txqueue(struct hw_txqueue *phw_txqueue, u8 ac_tag); void _rtw_init_sta_xmit_priv(struct sta_xmit_priv *psta_xmitpriv); From 64fd99b6feb6bdb542dd80bb055b6ca4688402e4 Mon Sep 17 00:00:00 2001 From: Hungyu Lin Date: Fri, 31 Jul 2026 15:52:27 +0000 Subject: [PATCH 021/145] staging: rtl8723bs: propagate errno handling for mgmt xmit Convert rtw_hal_mgnt_xmit() to return errno-style values and update the prototype in hal_intf.h. After this change, dump_mgntframe_and_wait() still uses the return value of rtw_hal_mgnt_xmit() to determine whether it should wait for completion. A follow-on patch will make dump_mgntframe_and_wait() return void since its return value is unused by all current callers. Signed-off-by: Hungyu Lin Reviewed-by: Dan Carpenter Link: https://patch.msgid.link/20260731155228.22526-3-dennylin0707@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 4 ++++ drivers/staging/rtl8723bs/hal/hal_intf.c | 9 +++++++-- drivers/staging/rtl8723bs/include/hal_intf.h | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index e965133d94ab..2b1ca1299b96 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -1990,6 +1990,10 @@ s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntfr pxmitbuf->sctx = &sctx; ret = rtw_hal_mgnt_xmit(padapter, pmgntframe); + if (ret) + ret = _FAIL; + else + ret = _SUCCESS; if (ret == _SUCCESS) ret = rtw_sctx_wait(&sctx); diff --git a/drivers/staging/rtl8723bs/hal/hal_intf.c b/drivers/staging/rtl8723bs/hal/hal_intf.c index 2caade1a8bdd..1443875d1369 100644 --- a/drivers/staging/rtl8723bs/hal/hal_intf.c +++ b/drivers/staging/rtl8723bs/hal/hal_intf.c @@ -115,8 +115,10 @@ s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe) /* * [IMPORTANT] This function would be run in interrupt context. */ -s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe) +int rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe) { + int ret; + update_mgntframe_attrib_addr(padapter, pmgntframe); /* pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET; */ /* pwlanhdr = (struct rtw_ieee80211_hdr *)pframe; */ @@ -130,7 +132,10 @@ s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe) pmgntframe->attrib.encrypt = _AES_; pmgntframe->attrib.bswenc = true; } - rtw_mgmt_xmitframe_coalesce(padapter, pmgntframe->pkt, pmgntframe); + ret = rtw_mgmt_xmitframe_coalesce(padapter, pmgntframe->pkt, pmgntframe); + + if (ret) + return ret; } return rtl8723bs_mgnt_xmit(padapter, pmgntframe); diff --git a/drivers/staging/rtl8723bs/include/hal_intf.h b/drivers/staging/rtl8723bs/include/hal_intf.h index a7ae8c006f0c..7b63116525ca 100644 --- a/drivers/staging/rtl8723bs/include/hal_intf.h +++ b/drivers/staging/rtl8723bs/include/hal_intf.h @@ -191,7 +191,7 @@ u8 rtw_hal_check_ips_status(struct adapter *padapter); int rtw_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe); s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe); -s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe); +int rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe); s32 rtw_hal_init_xmit_priv(struct adapter *padapter); void rtw_hal_free_xmit_priv(struct adapter *padapter); From 4d2e4968876be984aa5b385143e05c525282a671 Mon Sep 17 00:00:00 2001 From: Hungyu Lin Date: Fri, 31 Jul 2026 15:52:28 +0000 Subject: [PATCH 022/145] staging: rtl8723bs: make dump_mgntframe_and_wait() return void The return value of dump_mgntframe_and_wait() is ignored by all current callers. Keep using the return value of rtw_hal_mgnt_xmit() to determine whether to wait for completion. Make dump_mgntframe_and_wait() return void because no caller uses its return value. Suggested-by: Dan Carpenter Signed-off-by: Hungyu Lin Reviewed-by: Dan Carpenter Link: https://patch.msgid.link/20260731155228.22526-4-dennylin0707@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 17 ++++------------- .../staging/rtl8723bs/include/rtw_mlme_ext.h | 2 +- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index 2b1ca1299b96..0c00be09fbf3 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -1971,9 +1971,8 @@ void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe) rtw_hal_mgnt_xmit(padapter, pmgntframe); } -s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms) +void dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms) { - s32 ret = _FAIL; unsigned long irqL; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct xmit_buf *pxmitbuf = pmgntframe->pxmitbuf; @@ -1983,26 +1982,18 @@ s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntfr padapter->driver_stopped) { rtw_free_xmitbuf(&padapter->xmitpriv, pmgntframe->pxmitbuf); rtw_free_xmitframe(&padapter->xmitpriv, pmgntframe); - return ret; + return; } rtw_sctx_init(&sctx, timeout_ms); pxmitbuf->sctx = &sctx; - ret = rtw_hal_mgnt_xmit(padapter, pmgntframe); - if (ret) - ret = _FAIL; - else - ret = _SUCCESS; - - if (ret == _SUCCESS) - ret = rtw_sctx_wait(&sctx); + if (!rtw_hal_mgnt_xmit(padapter, pmgntframe)) + rtw_sctx_wait(&sctx); spin_lock_irqsave(&pxmitpriv->lock_sctx, irqL); pxmitbuf->sctx = NULL; spin_unlock_irqrestore(&pxmitpriv->lock_sctx, irqL); - - return ret; } s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmgntframe) diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index 4b79e56f329a..dad45827d8b9 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -533,7 +533,7 @@ void update_mgnt_tx_rate(struct adapter *padapter, u8 rate); void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattrib); void update_mgntframe_attrib_addr(struct adapter *padapter, struct xmit_frame *pmgntframe); void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe); -s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms); +void dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms); s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmgntframe); void issue_beacon(struct adapter *padapter, int timeout_ms); From 42600ab23f7cdfd67a0c371c3d11e6177a93fb3c Mon Sep 17 00:00:00 2001 From: Andrej Dusanic Date: Wed, 5 Aug 2026 12:41:11 +0200 Subject: [PATCH 023/145] staging: rtl8723bs: remove duplicate blank line in sdio_ops.h Fix the checkpatch.pl check: "CHECK: Please don't use multiple blank lines" in sdio_ops.h Remove the consecutive blank line to comply with the Linux kernel coding style. Signed-off-by: Andrej Dusanic Link: https://patch.msgid.link/20260805104111.115369-1-dusanic.andrej857@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/sdio_ops.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/include/sdio_ops.h b/drivers/staging/rtl8723bs/include/sdio_ops.h index 252b0e1646e5..71a45b989fa5 100644 --- a/drivers/staging/rtl8723bs/include/sdio_ops.h +++ b/drivers/staging/rtl8723bs/include/sdio_ops.h @@ -7,7 +7,6 @@ #ifndef __SDIO_OPS_H__ #define __SDIO_OPS_H__ - #include extern void sdio_set_intf_ops(struct adapter *padapter, struct _io_ops *pops); From 193277cf7cec12ca43ab0d215e1bcb6d5425d487 Mon Sep 17 00:00:00 2001 From: Lucas Jeffrey Date: Sat, 1 Aug 2026 14:36:24 -0300 Subject: [PATCH 024/145] staging: axis-fifo: use size_t for write size calculations The write length is provided as size_t, but words_to_write and the return value storage used narrower types (int and unsigned int). Use size_t for the word count and ssize_t for the return value to keep the types consistent with the write interface. This is purely a cleanup. The VFS already bounds the write length before the driver is called, so this does not change runtime behavior. Signed-off-by: Lucas Jeffrey Link: https://patch.msgid.link/20260801173624.106971-1-luquijeffrey@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/axis-fifo/axis-fifo.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/axis-fifo/axis-fifo.c b/drivers/staging/axis-fifo/axis-fifo.c index 3d358f919352..7bb35e11d1dd 100644 --- a/drivers/staging/axis-fifo/axis-fifo.c +++ b/drivers/staging/axis-fifo/axis-fifo.c @@ -212,9 +212,9 @@ static ssize_t axis_fifo_write(struct file *f, const char __user *buf, size_t len, loff_t *off) { struct axis_fifo *fifo = f->private_data; - unsigned int words_to_write; + size_t words_to_write; u32 *txbuf; - int ret; + ssize_t ret; words_to_write = len / sizeof(u32); @@ -256,7 +256,7 @@ static ssize_t axis_fifo_write(struct file *f, const char __user *buf, goto end_unlock; } - for (int i = 0; i < words_to_write; ++i) + for (size_t i = 0; i < words_to_write; ++i) iowrite32(txbuf[i], fifo->base_addr + XLLF_TDFD_OFFSET); iowrite32(len, fifo->base_addr + XLLF_TLR_OFFSET); From a4fd75b5fa0e036833fc0654f7b650f31fd3ab5c Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Tue, 4 Aug 2026 08:31:32 -0400 Subject: [PATCH 025/145] staging: greybus: fix checkpatch alignment warnings in loopback.c Fix two alignment warnings reported by checkpatch.pl: the wrapped function declaration for gb_loopback_async_transfer_complete(), and the continuation line in the gb_operation_response_alloc() call. Signed-off-by: Pedro Amorim Link: https://patch.msgid.link/20260804123132.24986-1-pedro.aml.dev@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/loopback.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c index 2a623fc2e99b..fe48a687377a 100644 --- a/drivers/staging/greybus/loopback.c +++ b/drivers/staging/greybus/loopback.c @@ -562,8 +562,7 @@ static int gb_loopback_async_sink(struct gb_loopback *gb, u32 len) return retval; } -static int gb_loopback_async_transfer_complete( - struct gb_loopback_async_operation *op_async) +static int gb_loopback_async_transfer_complete(struct gb_loopback_async_operation *op_async) { struct gb_loopback *gb; struct gb_operation *operation; @@ -653,7 +652,7 @@ static int gb_loopback_request_handler(struct gb_operation *operation) } if (!gb_operation_response_alloc(operation, - len + sizeof(*response), GFP_KERNEL)) { + len + sizeof(*response), GFP_KERNEL)) { dev_err(dev, "error allocating response\n"); return -ENOMEM; } From 4d66d2229ab806ef5782299dfe45af28e78cab25 Mon Sep 17 00:00:00 2001 From: Svyatoslav Nikolenko Date: Thu, 27 Aug 2026 13:27:07 +0300 Subject: [PATCH 026/145] staging: vme_user: Use str_enabled_disabled() helper Replace the hardcoded ternary operator with the str_enabled_disabled() helper function to standardize string formatting. Reported-by: coccicheck Signed-off-by: Svyatoslav Nikolenko Link: https://patch.msgid.link/20260827102707.23965-1-nsvatoslav515@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vme_user/vme_tsi148.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/vme_user/vme_tsi148.c b/drivers/staging/vme_user/vme_tsi148.c index c695ad9b4ca2..9447c00bc013 100644 --- a/drivers/staging/vme_user/vme_tsi148.c +++ b/drivers/staging/vme_user/vme_tsi148.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "vme.h" #include "vme_bridge.h" @@ -2458,7 +2459,7 @@ static int tsi148_probe(struct pci_dev *pdev, const struct pci_device_id *id) geoid); dev_info(&pdev->dev, "VME Write and flush and error check is %s\n", - err_chk ? "enabled" : "disabled"); + str_enabled_disabled(err_chk)); retval = tsi148_crcsr_init(tsi148_bridge, pdev); if (retval) { From db57f6517bf65523968ae29cd34a790bfa7d32af Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 20 Aug 2026 14:32:39 +0300 Subject: [PATCH 027/145] staging: octeon: schedule the TX cleanup tasklet every 1024th packet cvm_oct_xmit() means to schedule the cleanup tasklet once every 1024 packets, as its comment says, to cover the pathological case of heavy traffic on one port delaying the cleanup of another port blocked waiting for it. The test is inverted: total_to_clean & 0x3ff is true for 1023 of every 1024 values, and false only on the multiples of 1024. So the tasklet is scheduled on nearly every packet, and skipped on exactly the packet the comment wants. That costs one TASKLET softirq per transmitted packet, each walking every port and doing an FAU fetch-and-add per non-empty queue, and it buys nothing for this port, which already frees its completed skbs inline from the skb_to_free value it reads out of the FAU. Test the mask against zero. On a CN50XX board (2 cores at 300MHz) carrying ~6.9k transmitted packets/s, TASKLET softirqs drop from 7133/s to 597/s with no throughput change; the freeing work is conserved, so this removes softirq entries, not work. Fixes: 4898c560103f ("Staging: Octeon: Free transmit SKBs in a timely manner") Signed-off-by: Orgad Shaneh Reviewed-by: Dan Carpenter Link: https://patch.msgid.link/20260820113239.8169-1-orgads@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/octeon/ethernet-tx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/octeon/ethernet-tx.c b/drivers/staging/octeon/ethernet-tx.c index cc20c1e6791f..5e536827f87a 100644 --- a/drivers/staging/octeon/ethernet-tx.c +++ b/drivers/staging/octeon/ethernet-tx.c @@ -481,7 +481,7 @@ netdev_tx_t cvm_oct_xmit(struct sk_buff *skb, struct net_device *dev) cvmx_fau_fetch_and_add32(FAU_TOTAL_TX_TO_CLEAN, 1); } - if (total_to_clean & 0x3ff) { + if ((total_to_clean & 0x3ff) == 0) { /* * Schedule the cleanup tasklet every 1024 packets for * the pathological case of high traffic on one port From d0fc42298aa0822d20039a5a1f93e86edfed1785 Mon Sep 17 00:00:00 2001 From: Nikolay Kulikov Date: Sat, 8 Aug 2026 21:55:17 +0300 Subject: [PATCH 028/145] staging: rtl8723bs: remove unused 'pwrdown' from struct hal_com_data This field is used only in the HalDetectPwrDownMode() functions. Replace it with a direct return of a boolean value. Signed-off-by: Nikolay Kulikov Link: https://patch.msgid.link/20260808-rtl8723bs_efuse-v2-1-54488b13d554@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/sdio_halinit.c | 8 +------- drivers/staging/rtl8723bs/include/hal_data.h | 3 --- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/sdio_halinit.c b/drivers/staging/rtl8723bs/hal/sdio_halinit.c index 57d2925642e7..b9a7b03e2586 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_halinit.c +++ b/drivers/staging/rtl8723bs/hal/sdio_halinit.c @@ -544,18 +544,12 @@ static void _RfPowerSave(struct adapter *padapter) static bool HalDetectPwrDownMode(struct adapter *Adapter) { u8 tmpvalue; - struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(Adapter); rtw_efuse_shadow_read(Adapter, 1, 0x7B/*EEPROM_RF_OPT3_92C*/, (u32 *)&tmpvalue); /* 2010/08/25 MH INF priority > PDN Efuse value. */ - if (tmpvalue & BIT(4) && pwrctrlpriv->reg_pdnmode) - pHalData->pwrdown = true; - else - pHalData->pwrdown = false; - - return pHalData->pwrdown; + return (tmpvalue & BIT(4)) && pwrctrlpriv->reg_pdnmode; } /* HalDetectPwrDownMode */ u32 rtl8723bs_hal_init(struct adapter *padapter) diff --git a/drivers/staging/rtl8723bs/include/hal_data.h b/drivers/staging/rtl8723bs/include/hal_data.h index f67ca496902a..57a18da67fc9 100644 --- a/drivers/staging/rtl8723bs/include/hal_data.h +++ b/drivers/staging/rtl8723bs/include/hal_data.h @@ -234,9 +234,6 @@ struct hal_com_data { u8 u1ForcedIgiLb; /* forced IGI lower bound */ - /* 2010/08/09 MH Add CU power down mode. */ - bool pwrdown; - u8 OutEpQueueSel; u8 OutEpNumber; From f8061b33f6c84593ae7f0fcaead77b759cbbdd05 Mon Sep 17 00:00:00 2001 From: Nikolay Kulikov Date: Sat, 8 Aug 2026 21:55:18 +0300 Subject: [PATCH 029/145] staging: rtl8723bs: remove static HalDetectPwrDownMode() function The return value of this function is ignored at the call site, and since the function has no side effects, it can be removed. At the same time, remove the efuse shadow functions, as they are becoming unused. Signed-off-by: Nikolay Kulikov Link: https://patch.msgid.link/20260808-rtl8723bs_efuse-v2-2-54488b13d554@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_efuse.c | 75 ------------------- drivers/staging/rtl8723bs/hal/sdio_halinit.c | 18 ----- drivers/staging/rtl8723bs/include/rtw_efuse.h | 1 - 3 files changed, 94 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c index 168ecb7a998f..7e215c9845f6 100644 --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c @@ -145,54 +145,6 @@ static void Efuse_ReadAllMap(struct adapter *padapter, u8 efuseType, u8 *Efuse) Hal_EfusePowerSwitch(padapter, false); } -/*----------------------------------------------------------------------------- - * Function: efuse_ShadowRead1Byte - * efuse_ShadowRead2Byte - * efuse_ShadowRead4Byte - * - * Overview: Read from efuse init map by one/two/four bytes !!!!! - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/12/2008 MHC Create Version 0. - * - */ -static void efuse_ShadowRead1Byte(struct adapter *padapter, u16 Offset, u8 *Value) -{ - struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - - *Value = pEEPROM->efuse_eeprom_data[Offset]; - -} /* EFUSE_ShadowRead1Byte */ - -/* Read Two Bytes */ -static void efuse_ShadowRead2Byte(struct adapter *padapter, u16 Offset, u16 *Value) -{ - struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - - *Value = pEEPROM->efuse_eeprom_data[Offset]; - *Value |= pEEPROM->efuse_eeprom_data[Offset + 1] << 8; - -} /* EFUSE_ShadowRead2Byte */ - -/* Read Four Bytes */ -static void efuse_ShadowRead4Byte(struct adapter *padapter, u16 Offset, u32 *Value) -{ - struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - - *Value = pEEPROM->efuse_eeprom_data[Offset]; - *Value |= pEEPROM->efuse_eeprom_data[Offset + 1] << 8; - *Value |= pEEPROM->efuse_eeprom_data[Offset + 2] << 16; - *Value |= pEEPROM->efuse_eeprom_data[Offset + 3] << 24; - -} /* efuse_ShadowRead4Byte */ - /*----------------------------------------------------------------------------- * Function: rtw_efuse_shadow_map_update * @@ -224,30 +176,3 @@ void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuseType) /* PlatformMoveMemory((void *)&pHalData->EfuseMap[EFUSE_MODIFY_MAP][0], */ /* void *)&pHalData->EfuseMap[EFUSE_INIT_MAP][0], mapLen); */ } /* rtw_efuse_shadow_map_update */ - -/*----------------------------------------------------------------------------- - * Function: rtw_efuse_shadow_read - * - * Overview: Read from efuse init map !!!!! - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/12/2008 MHC Create Version 0. - * - */ -void rtw_efuse_shadow_read(struct adapter *padapter, u8 Type, u16 Offset, u32 *Value) -{ - if (Type == 1) - efuse_ShadowRead1Byte(padapter, Offset, (u8 *)Value); - else if (Type == 2) - efuse_ShadowRead2Byte(padapter, Offset, (u16 *)Value); - else if (Type == 4) - efuse_ShadowRead4Byte(padapter, Offset, (u32 *)Value); - -} /* rtw_efuse_shadow_read*/ diff --git a/drivers/staging/rtl8723bs/hal/sdio_halinit.c b/drivers/staging/rtl8723bs/hal/sdio_halinit.c index b9a7b03e2586..001b4b32c02e 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_halinit.c +++ b/drivers/staging/rtl8723bs/hal/sdio_halinit.c @@ -538,20 +538,6 @@ static void _RfPowerSave(struct adapter *padapter) /* YJ, TODO */ } -/* */ -/* 2010/08/09 MH Add for power down check. */ -/* */ -static bool HalDetectPwrDownMode(struct adapter *Adapter) -{ - u8 tmpvalue; - struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(Adapter); - - rtw_efuse_shadow_read(Adapter, 1, 0x7B/*EEPROM_RF_OPT3_92C*/, (u32 *)&tmpvalue); - - /* 2010/08/25 MH INF priority > PDN Efuse value. */ - return (tmpvalue & BIT(4)) && pwrctrlpriv->reg_pdnmode; -} /* HalDetectPwrDownMode */ - u32 rtl8723bs_hal_init(struct adapter *padapter) { s32 ret; @@ -626,10 +612,6 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) if (pwrctrlpriv->reg_rfoff) pwrctrlpriv->rf_pwrstate = rf_off; - /* 2010/08/09 MH We need to check if we need to turnon or off RF after detecting */ - /* HW GPIO pin. Before PHY_RFConfig8192C. */ - HalDetectPwrDownMode(padapter); - /* Save target channel */ /* Current Channel will be updated again later. */ pHalData->CurrentChannel = 6; diff --git a/drivers/staging/rtl8723bs/include/rtw_efuse.h b/drivers/staging/rtl8723bs/include/rtw_efuse.h index 808ba94a5998..a60e05cf699c 100644 --- a/drivers/staging/rtl8723bs/include/rtw_efuse.h +++ b/drivers/staging/rtl8723bs/include/rtw_efuse.h @@ -73,6 +73,5 @@ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data); u8 rtw_efuse_read_1_byte(struct adapter *padapter, u16 Address); void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuseType); -void rtw_efuse_shadow_read(struct adapter *padapter, u8 Type, u16 Offset, u32 *Value); #endif From 8d891d7503dbe9b4a32b1f22159bec77d83390f6 Mon Sep 17 00:00:00 2001 From: Souag-Ahmed-El-fatih Date: Mon, 10 Aug 2026 22:59:33 +0100 Subject: [PATCH 030/145] staging: rtl8723bs: fix comparison to true in dequeue_xmitframes_to_sleeping_queue Replace "if (true == ret)" with "if (ret)" as flagged by checkpatch.pl. This follows standard kernel style and avoids the error-prone Yoda-style boolean comparison. Signed-off-by: Souag-Ahmed-El-fatih Link: https://patch.msgid.link/20260810215933.10343-1-souagahmedelfatih@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_xmit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index eb1aa8f72399..67b273e58278 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -2150,7 +2150,7 @@ static void dequeue_xmitframes_to_sleeping_queue(struct adapter *padapter, ret = xmitframe_enqueue_for_sleeping_sta(padapter, pxmitframe); - if (true == ret) { + if (ret) { ptxservq = rtw_get_sta_pending(padapter, psta, pattrib->priority, (u8 *)(&ac_index)); ptxservq->qcnt--; From b6de6de139ea50aa2d72139a242d4e399a07ff8f Mon Sep 17 00:00:00 2001 From: Jonggeun Park Date: Tue, 11 Aug 2026 23:23:54 +0900 Subject: [PATCH 031/145] staging: rtl8723bs: fix stale file name references in comments Correct two comments whose referenced file names do not match the files currently present in the driver: - include/rtl8723b_hal.h: "rtl8723a_hal_init.c" -> "rtl8723b_hal_init.c" - hal/rtl8723b_rf6052.c: "rtl8192c_rf6052.c" -> "rtl8723b_rf6052.c" No functional change. Signed-off-by: Jonggeun Park Link: https://patch.msgid.link/20260811142355.60533-2-ndamin221@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c | 2 +- drivers/staging/rtl8723bs/include/rtl8723b_hal.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c index fac1270853de..e4f047b14827 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c @@ -7,7 +7,7 @@ /****************************************************************************** * * - * Module: rtl8192c_rf6052.c (Source C File) + * Module: rtl8723b_rf6052.c (Source C File) * * Note: Provide RF 6052 series relative API. * diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h index c442f01aa585..497b1cbc54c8 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h @@ -193,7 +193,7 @@ enum { /* tag_Package_Definition */ PACKAGE_TFBGA79 }; -/* rtl8723a_hal_init.c */ +/* rtl8723b_hal_init.c */ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw); void rtl8723b_FirmwareSelfReset(struct adapter *padapter); void rtl8723b_InitializeFirmwareVars(struct adapter *padapter); From 7b20549460061172261bee02731f00c02f0e3b16 Mon Sep 17 00:00:00 2001 From: Preetish Amballi Date: Sun, 9 Aug 2026 11:02:53 +0530 Subject: [PATCH 032/145] staging: fbtft: Fix wrong controller name in fb_bd663474 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The file fb_bd663474.c is a driver for the BD663474 LCD controller, but the comment header and MODULE_DESCRIPTION incorrectly reference 'uPD161704' — a copy-paste error from fb_upd161704.c. Fix the comment and MODULE_DESCRIPTION to say 'BD663474' instead of 'uPD161704'. Signed-off-by: Preetish Amballi Reviewed-by: Andy Shevchenko Link: https://patch.msgid.link/20260809053253.14537-1-amballip@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/fbtft/fb_bd663474.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/fbtft/fb_bd663474.c b/drivers/staging/fbtft/fb_bd663474.c index 1629c2c440a9..c34f859043ef 100644 --- a/drivers/staging/fbtft/fb_bd663474.c +++ b/drivers/staging/fbtft/fb_bd663474.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * FB driver for the uPD161704 LCD Controller + * FB driver for the BD663474 LCD Controller * * Copyright (C) 2014 Seong-Woo Kim * @@ -166,6 +166,6 @@ MODULE_ALIAS("platform:" DRVNAME); MODULE_ALIAS("spi:bd663474"); MODULE_ALIAS("platform:bd663474"); -MODULE_DESCRIPTION("FB driver for the uPD161704 LCD Controller"); +MODULE_DESCRIPTION("FB driver for the BD663474 LCD Controller"); MODULE_AUTHOR("Seong-Woo Kim"); MODULE_LICENSE("GPL"); From af6a71fe8af6ae92523013fcf42ff5aa762cc883 Mon Sep 17 00:00:00 2001 From: Leonardo Martins Martins Date: Thu, 13 Aug 2026 21:25:52 -0300 Subject: [PATCH 033/145] staging: rtl8723bs: replace N_BYTE_ALIGMENT() with PTR_ALIGN() The macro N_BYTE_ALIGMENT() uses integer division and multiplication to perform byte alignment, with a result equivalent to the standard kernel macro ALIGN() which uses bitwise operations instead. The usages of this macro involve casting the pointer to SIZE_PTR and casting the returned value back, which is the same pattern that PTR_ALIGN() uses, by replacing it with PTR_ALIGN() the manual castings to SIZE_PTR and (u8 *) can be dropped, improving readability. Compile tested only. Signed-off-by: Leonardo Martins Martins Link: https://patch.msgid.link/20260813-staging-testing-v1-1-8baa7c210474@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_recv.c | 3 ++- drivers/staging/rtl8723bs/core/rtw_xmit.c | 13 +++++++------ drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c | 3 ++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index 7568fc514d7c..dc6e7ef9857d 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -9,6 +9,7 @@ #include #include #include +#include static u8 SNAP_ETH_TYPE_IPX[2] = {0x81, 0x37}; static u8 SNAP_ETH_TYPE_APPLETALK_AARP[2] = {0x80, 0xf3}; @@ -52,7 +53,7 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada goto exit; } - precvpriv->precv_frame_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(precvpriv->pallocated_frame_buf), RXFRAME_ALIGN_SZ); + precvpriv->precv_frame_buf = PTR_ALIGN(precvpriv->pallocated_frame_buf, RXFRAME_ALIGN_SZ); /* precvpriv->precv_frame_buf = precvpriv->pallocated_frame_buf + RXFRAME_ALIGN_SZ - */ /* ((SIZE_PTR) (precvpriv->pallocated_frame_buf) &(RXFRAME_ALIGN_SZ-1)); */ diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index 67b273e58278..a3614cf0b6a2 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -7,6 +7,7 @@ #include #include #include +#include static u8 P802_1H_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 }; static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 }; @@ -80,7 +81,7 @@ static int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf if (!pxmitbuf->pallocated_buf) return -ENOMEM; - pxmitbuf->pbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitbuf->pallocated_buf), XMITBUF_ALIGN_SZ); + pxmitbuf->pbuf = PTR_ALIGN(pxmitbuf->pallocated_buf, XMITBUF_ALIGN_SZ); } return 0; @@ -126,7 +127,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->pxmit_frame_buf = NULL; return -ENOMEM; } - pxmitpriv->pxmit_frame_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_frame_buf), 4); + pxmitpriv->pxmit_frame_buf = PTR_ALIGN(pxmitpriv->pallocated_frame_buf, 4); pxframe = (struct xmit_frame *)pxmitpriv->pxmit_frame_buf; @@ -162,7 +163,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) if (!pxmitpriv->pallocated_xmitbuf) return -ENOMEM; - pxmitpriv->pxmitbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmitbuf), 4); + pxmitpriv->pxmitbuf = PTR_ALIGN(pxmitpriv->pallocated_xmitbuf, 4); pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmitbuf; @@ -207,7 +208,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->xframe_ext = NULL; return -ENOMEM; } - pxmitpriv->xframe_ext = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->xframe_ext_alloc_addr), 4); + pxmitpriv->xframe_ext = PTR_ALIGN(pxmitpriv->xframe_ext_alloc_addr, 4); pxframe = (struct xmit_frame *)pxmitpriv->xframe_ext; for (i = 0; i < NR_XMIT_EXTBUFF; i++) { @@ -239,7 +240,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) if (!pxmitpriv->pallocated_xmit_extbuf) return -ENOMEM; - pxmitpriv->pxmit_extbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmit_extbuf), 4); + pxmitpriv->pxmit_extbuf = PTR_ALIGN(pxmitpriv->pallocated_xmit_extbuf, 4); pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmit_extbuf; @@ -1717,7 +1718,7 @@ struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv) if (!alloc_addr) goto exit; - pxframe = (struct xmit_frame *)N_BYTE_ALIGMENT((SIZE_PTR)(alloc_addr), 4); + pxframe = (struct xmit_frame *)PTR_ALIGN(alloc_addr, 4); pxframe->alloc_addr = alloc_addr; pxframe->padapter = pxmitpriv->adapter; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c index e943c304950e..706d58741dce 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c @@ -7,6 +7,7 @@ #include #include +#include static void initrecvbuf(struct recv_buf *precvbuf, struct adapter *padapter) { @@ -386,7 +387,7 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter) goto exit; } - precvpriv->precv_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(precvpriv->pallocated_recv_buf), 4); + precvpriv->precv_buf = PTR_ALIGN(precvpriv->pallocated_recv_buf, 4); /* init each recv buffer */ precvbuf = (struct recv_buf *)precvpriv->precv_buf; From 9f50128890e863d0dc5932f1c15adf50216a6fc1 Mon Sep 17 00:00:00 2001 From: Leonardo Martins Martins Date: Thu, 13 Aug 2026 21:25:53 -0300 Subject: [PATCH 034/145] staging: rtl8723bs: remove unused macro N_BYTE_ALIGMENT() The macro N_BYTE_ALIGMENT() no longer has any usages and can be removed. Signed-off-by: Leonardo Martins Martins Link: https://patch.msgid.link/20260813-staging-testing-v1-2-8baa7c210474@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/basic_types.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h index b6b1afaa9ab8..a9924a6fa0e9 100644 --- a/drivers/staging/rtl8723bs/include/basic_types.h +++ b/drivers/staging/rtl8723bs/include/basic_types.h @@ -163,9 +163,6 @@ ); \ } -/* Get the N-bytes alignent offset from the current length */ -#define N_BYTE_ALIGMENT(__Value, __Aligment) ((__Aligment == 1) ? (__Value) : (((__Value + __Aligment - 1) / __Aligment) * __Aligment)) - #define TEST_FLAG(__Flag, __testFlag) (((__Flag) & (__testFlag)) != 0) #define SET_FLAG(__Flag, __setFlag) ((__Flag) |= __setFlag) #define CLEAR_FLAG(__Flag, __clearFlag) ((__Flag) &= ~(__clearFlag)) From 1475ebd298fa9726df86a3ed19e299f62d40e888 Mon Sep 17 00:00:00 2001 From: Nawar Alsafadi Date: Sat, 15 Aug 2026 13:38:03 +0200 Subject: [PATCH 035/145] staging: most: video: Remove unnecessary blank line Remove an unnecessary blank line before a close brace '}' to adhere to the Linux kernel coding style. This formatting issue was detected by checkpatch.pl. Signed-off-by: Nawar Alsafadi Link: https://patch.msgid.link/20260815113803.23727-1-nawaralsafadi1@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/most/video/video.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/most/video/video.c b/drivers/staging/most/video/video.c index 88892b5db28b..3a0445ff62f4 100644 --- a/drivers/staging/most/video/video.c +++ b/drivers/staging/most/video/video.c @@ -439,7 +439,6 @@ static int comp_register_videodev(struct most_video_dev *mdev) mdev->vdev->release = video_device_release; return 0; - } static void comp_unregister_videodev(struct most_video_dev *mdev) From 26cbc214d01c5d2c0538f11ad4fae428886d2dd4 Mon Sep 17 00:00:00 2001 From: Hank Yang Date: Mon, 17 Aug 2026 00:28:18 +0800 Subject: [PATCH 036/145] staging: rtl8723bs: shorten long lines in update_network() Split long lines to comply with kernel coding style, as flagged by checkpatch.pl: CHECK: line length of 129 exceeds 100 columns (if condition) CHECK: line length of 121 exceeds 100 columns (ss_final calculation) CHECK: line length of 119 exceeds 100 columns (sq_final calculation) Signed-off-by: Hank Yang Link: https://patch.msgid.link/20260816162819.68666-1-s950343@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 84e479886ffc..179061239a6f 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -428,8 +428,10 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, rssi_final = rssi_ori; } else { if (sq_smp != 101) { /* from the right channel */ - ss_final = ((u32)(src->phy_info.signal_strength) + (u32)(dst->phy_info.signal_strength) * 4) / 5; - sq_final = ((u32)(src->phy_info.signal_quality) + (u32)(dst->phy_info.signal_quality) * 4) / 5; + ss_final = ((u32)(src->phy_info.signal_strength) + + (u32)(dst->phy_info.signal_strength) * 4) / 5; + sq_final = ((u32)(src->phy_info.signal_quality) + + (u32)(dst->phy_info.signal_quality) * 4) / 5; rssi_final = (src->rssi + dst->rssi * 4) / 5; } else { /* bss info not receiving from the right channel, use the original RX signal infos */ From 7b48d2d81770177dde30081714600664752a019c Mon Sep 17 00:00:00 2001 From: Hungyu Lin Date: Mon, 17 Aug 2026 15:17:11 +0000 Subject: [PATCH 037/145] staging: rtl8723bs: simplify rtw_free_xmitframe() rtw_free_xmitframe() always returns _SUCCESS and the return value is not used by its callers. Convert the function to return void and remove the redundant _SUCCESS return value. Also replace the goto used to skip the xmit frame queue handling with an early return. Signed-off-by: Hungyu Lin Link: https://patch.msgid.link/20260817151711.24385-1-dennylin0707@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_xmit.c | 14 +++++++------- drivers/staging/rtl8723bs/include/rtw_xmit.h | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index a3614cf0b6a2..68b7be427818 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -1735,14 +1735,14 @@ struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv) return pxframe; } -s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe) +void rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe) { struct __queue *queue = NULL; struct adapter *padapter = pxmitpriv->adapter; struct sk_buff *pndis_pkt = NULL; if (!pxmitframe) - return _SUCCESS; + return; if (pxmitframe->pkt) { pndis_pkt = pxmitframe->pkt; @@ -1751,7 +1751,11 @@ s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitfram if (pxmitframe->alloc_addr) { kfree(pxmitframe->alloc_addr); - goto check_pkt_complete; + + if (pndis_pkt) + rtw_os_pkt_complete(padapter, pndis_pkt); + + return; } if (pxmitframe->ext_tag == 0) @@ -1770,12 +1774,8 @@ s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitfram spin_unlock_bh(&queue->lock); -check_pkt_complete: - if (pndis_pkt) rtw_os_pkt_complete(padapter, pndis_pkt); - - return _SUCCESS; } void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue) diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h index 31decc210e73..2d1cc6dd19b9 100644 --- a/drivers/staging/rtl8723bs/include/rtw_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h @@ -416,7 +416,7 @@ extern s32 rtw_put_snap(u8 *data, u16 h_proto); extern struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv); struct xmit_frame *rtw_alloc_xmitframe_ext(struct xmit_priv *pxmitpriv); struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv); -extern s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe); +void rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe); extern void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue); struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, signed int up, u8 *ac); int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe); From cc4dc2e7cb7869dc189d7ecc038b7940b0850082 Mon Sep 17 00:00:00 2001 From: Dalvin-Ehinoma Noah Aiguobas Date: Mon, 17 Aug 2026 18:16:13 +0000 Subject: [PATCH 038/145] staging: rtl8723bs: Removing unnecessary whitespaces Remove unnecessary whitespace to improve readability and coding style consistency. No functional changes are intended in this patch. Signed-off-by: Dalvin-Ehinoma Noah Aiguobas Link: https://patch.msgid.link/20260817181613.9431-1-fliegbert2@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_recv.c | 46 +++++----- .../staging/rtl8723bs/include/rtw_mlme_ext.h | 12 +-- drivers/staging/rtl8723bs/include/rtw_recv.h | 69 ++++++++------- drivers/staging/rtl8723bs/include/sta_info.h | 84 +++++++++---------- 4 files changed, 103 insertions(+), 108 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index dc6e7ef9857d..3c82012fdc6c 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -30,7 +30,7 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada { signed int i; union recv_frame *precvframe; - signed int res = _SUCCESS; + signed int res = _SUCCESS; spin_lock_init(&precvpriv->lock); @@ -90,7 +90,7 @@ void _rtw_free_recv_priv(struct recv_priv *precvpriv) { signed int i; union recv_frame *precvframe; - struct adapter *padapter = precvpriv->adapter; + struct adapter *padapter = precvpriv->adapter; rtw_free_uc_swdec_pending_queue(padapter); @@ -112,8 +112,8 @@ void _rtw_free_recv_priv(struct recv_priv *precvpriv) union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue) { - union recv_frame *precvframe; - struct list_head *plist, *phead; + union recv_frame *precvframe; + struct list_head *plist, *phead; struct adapter *padapter; struct recv_priv *precvpriv; @@ -139,7 +139,7 @@ union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue) union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue) { - union recv_frame *precvframe; + union recv_frame *precvframe; spin_lock_bh(&pfree_recv_queue->lock); @@ -214,10 +214,10 @@ signed int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *q * */ -void rtw_free_recvframe_queue(struct __queue *pframequeue, struct __queue *pfree_recv_queue) +void rtw_free_recvframe_queue(struct __queue *pframequeue, struct __queue *pfree_recv_queue) { - union recv_frame *precvframe; - struct list_head *plist, *phead; + union recv_frame *precvframe; + struct list_head *plist, *phead; spin_lock(&pframequeue->lock); @@ -274,7 +274,7 @@ signed int rtw_enqueue_recvbuf(struct recv_buf *precvbuf, struct __queue *queue) struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue) { struct recv_buf *precvbuf; - struct list_head *plist, *phead; + struct list_head *plist, *phead; spin_lock_bh(&queue->lock); @@ -299,7 +299,7 @@ static void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup) { enum nl80211_key_type key_type = 0; union iwreq_data wrqu; - struct iw_michaelmicfailure ev; + struct iw_michaelmicfailure ev; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct security_priv *psecuritypriv = &padapter->securitypriv; unsigned long cur_time = 0; @@ -341,7 +341,7 @@ static void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup) static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe) { - signed int i, res = _SUCCESS; + signed int i, res = _SUCCESS; u32 datalen; u8 miccode[8]; u8 bmic_err = false, brpt_micerror = true; @@ -978,7 +978,7 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ } if ((psta->state & WIFI_SLEEP_STATE) && (pstapriv->sta_dz_bitmap & BIT(psta->aid))) { - struct list_head *xmitframe_plist, *xmitframe_phead; + struct list_head *xmitframe_plist, *xmitframe_phead; struct xmit_frame *pxmitframe = NULL; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; @@ -1046,12 +1046,12 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ static union recv_frame *recvframe_defrag(struct adapter *adapter, struct __queue *defrag_q) { - struct list_head *plist, *phead; - u8 wlanhdr_offset; + struct list_head *plist, *phead; + u8 wlanhdr_offset; u8 curfragnum; struct recv_frame_hdr *pfhdr, *pnfhdr; union recv_frame *prframe, *pnextrframe; - struct __queue *pfree_recv_queue; + struct __queue *pfree_recv_queue; curfragnum = 0; pfree_recv_queue = &adapter->recvpriv.free_recv_queue; @@ -1263,7 +1263,7 @@ static signed int validate_recv_data_frame(struct adapter *adapter, union recv_f u8 *psa, *pda, *pbssid; struct sta_info *psta = NULL; u8 *ptr = precv_frame->u.hdr.rx_data; - struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; + struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; struct security_priv *psecuritypriv = &adapter->securitypriv; signed int ret = _SUCCESS; @@ -1510,13 +1510,13 @@ static signed int validate_recv_frame(struct adapter *adapter, union recv_frame /* remove the wlanhdr and add the eth_hdr */ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) { - signed int rmv_len; + signed int rmv_len; u16 eth_type, len; u8 bsnaphdr; u8 *psnap_type; - struct ieee80211_snap_hdr *psnap; + struct ieee80211_snap_hdr *psnap; __be16 be_tmp; - struct adapter *adapter = precvframe->u.hdr.adapter; + struct adapter *adapter = precvframe->u.hdr.adapter; struct mlme_priv *pmlmepriv = &adapter->mlmepriv; u8 *ptr = precvframe->u.hdr.rx_data; /* point to frame_ctrl field */ struct rx_pkt_attrib *pattrib = &precvframe->u.hdr.attrib; @@ -1524,7 +1524,7 @@ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) if (pattrib->encrypt) recvframe_pull_tail(precvframe, pattrib->icv_len); - psnap = (struct ieee80211_snap_hdr *)(ptr + pattrib->hdrlen + pattrib->iv_len); + psnap = (struct ieee80211_snap_hdr *)(ptr + pattrib->hdrlen + pattrib->iv_len); psnap_type = ptr + pattrib->hdrlen + pattrib->iv_len + SNAP_SIZE; /* convert hdr + possible LLC headers into Ethernet header */ /* eth_type = (psnap_type[0] << 8) | psnap_type[1]; */ @@ -1665,7 +1665,7 @@ static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe) { - int a_len, padding_len; + int a_len, padding_len; u16 subframe_len; u8 nr_subframes, i; u8 *pdata; @@ -1845,7 +1845,7 @@ static int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *prec static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced) { - struct list_head *phead, *plist; + struct list_head *phead, *plist; union recv_frame *prframe; struct rx_pkt_attrib *pattrib; /* u8 index = 0; */ @@ -1856,7 +1856,7 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor /* spin_lock_irqsave(&ppending_recvframe_queue->lock, irql); */ /* spin_lock(&ppending_recvframe_queue->lock); */ - phead = get_list_head(ppending_recvframe_queue); + phead = get_list_head(ppending_recvframe_queue); plist = get_next(phead); /* Handling some condition for forced indicate case. */ diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index dad45827d8b9..a66256f63df7 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -207,22 +207,22 @@ enum { }; struct mlme_handler { - unsigned int num; + unsigned int num; char *str; unsigned int (*func)(struct adapter *padapter, union recv_frame *precv_frame); }; struct action_handler { - unsigned int num; + unsigned int num; char *str; unsigned int (*func)(struct adapter *padapter, union recv_frame *precv_frame); }; struct ss_res { - int state; - int bss_cnt; - int channel_idx; - int scan_mode; + int state; + int bss_cnt; + int channel_idx; + int scan_mode; u8 ssid_num; u8 ch_num; struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT]; diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h index 9c32d480a20a..5c197bd6915f 100644 --- a/drivers/staging/rtl8723bs/include/rtw_recv.h +++ b/drivers/staging/rtl8723bs/include/rtw_recv.h @@ -70,26 +70,26 @@ struct phy_info { u8 rx_pwd_ba11; u8 SignalQuality; /* in 0-100 index. */ - s8 rx_mimo_signal_quality[4]; /* per-path's EVM */ + s8 rx_mimo_signal_quality[4]; /* per-path's EVM */ u8 RxMIMOEVMdbm[4]; /* per-path's EVM dbm */ u8 rx_mimo_signal_strength[4];/* in 0~100 index */ - u16 Cfo_short[4]; /* per-path's Cfo_short */ - u16 Cfo_tail[4]; /* per-path's Cfo_tail */ + u16 Cfo_short[4]; /* per-path's Cfo_short */ + u16 Cfo_tail[4]; /* per-path's Cfo_tail */ - s8 RxPower; /* in dBm Translate from PWdB */ - s8 RecvSignalPower;/* Real power in dBm for this packet, no beautification and aggregation. Keep this raw info to be used for the other procedures. */ + s8 RxPower; /* in dBm Translate from PWdB */ + s8 RecvSignalPower;/* Real power in dBm for this packet, no beautification and aggregation. Keep this raw info to be used for the other procedures. */ u8 bt_rx_rssi_percentage; u8 SignalStrength; /* in 0-100 index. */ - s8 RxPwr[4]; /* per-path's pwdb */ + s8 RxPwr[4]; /* per-path's pwdb */ u8 RxSNR[4]; /* per-path's SNR */ u8 BandWidth; u8 btCoexPwrAdjust; }; -struct rx_pkt_attrib { +struct rx_pkt_attrib { u16 pkt_len; u8 physt; u8 drvinfo_sz; @@ -170,22 +170,22 @@ accesser of recv_priv: rtw_recv_entry(dispatch / passive level); recv_thread(pas using enter_critical section to protect */ struct recv_priv { - spinlock_t lock; - struct __queue free_recv_queue; - struct __queue recv_pending_queue; - struct __queue uc_swdec_pending_queue; + spinlock_t lock; + struct __queue free_recv_queue; + struct __queue recv_pending_queue; + struct __queue uc_swdec_pending_queue; u8 *pallocated_frame_buf; u8 *precv_frame_buf; uint free_recvframe_cnt; - struct adapter *adapter; + struct adapter *adapter; u32 bIsAnyNonBEPkts; - u64 rx_bytes; - u64 rx_pkts; - u64 rx_drop; - uint rx_icv_err; - uint rx_largepacket_crcerr; - uint rx_smallpacket_crcerr; - uint rx_middlepacket_crcerr; + u64 rx_bytes; + u64 rx_pkts; + u64 rx_drop; + uint rx_icv_err; + uint rx_largepacket_crcerr; + uint rx_smallpacket_crcerr; + uint rx_middlepacket_crcerr; struct tasklet_struct irq_prepare_beacon_tasklet; struct tasklet_struct recv_tasklet; @@ -194,10 +194,10 @@ struct recv_priv { u8 *pallocated_recv_buf; u8 *precv_buf; /* 4 alignment */ - struct __queue free_recv_buf_queue; + struct __queue free_recv_buf_queue; u32 free_recv_buf_queue_cnt; - struct __queue recv_buf_pending_queue; + struct __queue recv_buf_pending_queue; /* For display the phy information */ u8 is_signal_dbg; /* for debug */ @@ -212,7 +212,6 @@ struct recv_priv { /* s8 RxRssi[2]; */ /* int FalseAlmCnt_all; */ - struct timer_list signal_stat_timer; u32 signal_stat_sampling_interval; /* u32 signal_stat_converging_constant; */ @@ -224,13 +223,13 @@ struct recv_priv { struct sta_recv_priv { - spinlock_t lock; - signed int option; + spinlock_t lock; + signed int option; /* struct __queue blk_strms[MAX_RX_NUMBLKS]; */ struct __queue defrag_q; /* keeping the fragment frame until defrag */ - struct stainfo_rxcache rxcache; + struct stainfo_rxcache rxcache; /* uint sta_rx_bytes; */ /* uint sta_rx_pkts; */ @@ -238,7 +237,6 @@ struct sta_recv_priv { }; - struct recv_buf { struct list_head list; @@ -257,7 +255,7 @@ struct recv_buf { u8 *ptail; u8 *pend; - struct sk_buff *pskb; + struct sk_buff *pskb; u8 reuse; }; @@ -278,11 +276,11 @@ struct recv_buf { */ struct recv_frame_hdr { - struct list_head list; - struct sk_buff *pkt; - struct sk_buff *pkt_newalloc; + struct list_head list; + struct sk_buff *pkt; + struct sk_buff *pkt_newalloc; - struct adapter *adapter; + struct adapter *adapter; u8 fragcnt; @@ -290,7 +288,7 @@ struct recv_frame_hdr { struct rx_pkt_attrib attrib; - uint len; + uint len; u8 *rx_head; u8 *rx_data; u8 *rx_tail; @@ -306,7 +304,6 @@ struct recv_frame_hdr { struct recv_reorder_ctrl *preorder_ctrl; }; - union recv_frame { union{ struct list_head list; @@ -328,7 +325,7 @@ enum { extern union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */ extern union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */ -extern int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue); +extern int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue); extern int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue); extern int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue); @@ -438,7 +435,7 @@ static inline signed int get_recvframe_len(union recv_frame *precvframe) static inline s32 translate_percentage_to_dbm(u32 SignalStrengthIndex) { - s32 SignalPower; /* in dBm. */ + s32 SignalPower; /* in dBm. */ /* Translate to dBm (x = 0.5y-95). */ SignalPower = (s32)((SignalStrengthIndex + 1) >> 1); @@ -452,6 +449,6 @@ struct sta_info; extern void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv); -extern void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame); +extern void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame); #endif diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h index 0f53e77c110c..bc78c32192c0 100644 --- a/drivers/staging/rtl8723bs/include/sta_info.h +++ b/drivers/staging/rtl8723bs/include/sta_info.h @@ -28,50 +28,50 @@ struct wlan_acl_pool { int mode; int num; struct rtw_wlan_acl_node aclnode[NUM_ACL]; - struct __queue acl_node_q; + struct __queue acl_node_q; }; struct rssi_sta { - s32 UndecoratedSmoothedPWDB; - s32 UndecoratedSmoothedCCK; - s32 UndecoratedSmoothedOFDM; - u64 PacketMap; + s32 UndecoratedSmoothedPWDB; + s32 UndecoratedSmoothedCCK; + s32 UndecoratedSmoothedOFDM; + u64 PacketMap; u8 ValidBit; }; -struct stainfo_stats { +struct stainfo_stats { u64 rx_mgnt_pkts; - u64 rx_beacon_pkts; - u64 rx_probereq_pkts; - u64 rx_probersp_pkts; - u64 rx_probersp_bm_pkts; - u64 rx_probersp_uo_pkts; + u64 rx_beacon_pkts; + u64 rx_probereq_pkts; + u64 rx_probersp_pkts; + u64 rx_probersp_bm_pkts; + u64 rx_probersp_uo_pkts; u64 rx_ctrl_pkts; u64 rx_data_pkts; - u64 last_rx_mgnt_pkts; - u64 last_rx_beacon_pkts; - u64 last_rx_probereq_pkts; - u64 last_rx_probersp_pkts; - u64 last_rx_probersp_bm_pkts; - u64 last_rx_probersp_uo_pkts; - u64 last_rx_ctrl_pkts; - u64 last_rx_data_pkts; + u64 last_rx_mgnt_pkts; + u64 last_rx_beacon_pkts; + u64 last_rx_probereq_pkts; + u64 last_rx_probersp_pkts; + u64 last_rx_probersp_bm_pkts; + u64 last_rx_probersp_uo_pkts; + u64 last_rx_ctrl_pkts; + u64 last_rx_data_pkts; - u64 rx_bytes; - u64 rx_drops; + u64 rx_bytes; + u64 rx_drops; - u64 tx_pkts; - u64 tx_bytes; - u64 tx_drops; + u64 tx_pkts; + u64 tx_bytes; + u64 tx_drops; }; struct sta_info { - spinlock_t lock; - struct list_head list; /* free_sta_queue */ - struct list_head hash_list; /* sta_hash */ + spinlock_t lock; + struct list_head list; /* free_sta_queue */ + struct list_head hash_list; /* sta_hash */ struct adapter *padapter; struct sta_xmit_priv sta_xmitpriv; @@ -87,19 +87,18 @@ struct sta_info { u8 hwaddr[ETH_ALEN]; bool ieee8021x_blocked; - uint dot118021XPrivacy; /* aes, tkip... */ - union Keytype dot11tkiptxmickey; - union Keytype dot11tkiprxmickey; - union Keytype dot118021x_UncstKey; - union pn48 dot11txpn; /* PN48 used for Unicast xmit */ - union pn48 dot11wtxpn; /* PN48 used for Unicast mgmt xmit. */ - union pn48 dot11rxpn; /* PN48 used for Unicast recv. */ - + uint dot118021XPrivacy; /* aes, tkip... */ + union Keytype dot11tkiptxmickey; + union Keytype dot11tkiprxmickey; + union Keytype dot118021x_UncstKey; + union pn48 dot11txpn; /* PN48 used for Unicast xmit */ + union pn48 dot11wtxpn; /* PN48 used for Unicast mgmt xmit. */ + union pn48 dot11rxpn; /* PN48 used for Unicast recv. */ u8 bssrateset[16]; u32 bssratelen; - s32 rssi; - s32 signal_quality; + s32 rssi; + s32 signal_quality; u8 cts2self; u8 rtsen; @@ -125,7 +124,6 @@ struct sta_info { /* unsigned char ampdu_txen_bitmap; */ u16 BA_starting_seqctrl[16]; - struct ht_priv htpriv; /* Notes: */ @@ -186,7 +184,7 @@ struct sta_info { u32 assoc_req_len; /* for DM */ - struct rssi_sta rssi_stat; + struct rssi_sta rssi_stat; /* ODM_STA_INFO_T */ /* ================ODM Relative Info ======================= */ @@ -254,14 +252,14 @@ struct sta_info { #define STA_PKTS_FMT "(m:%llu, c:%llu, d:%llu)" -struct sta_priv { +struct sta_priv { u8 *pallocated_stainfo_buf; u8 *pstainfo_buf; - struct __queue free_sta_queue; + struct __queue free_sta_queue; spinlock_t sta_hash_lock; - struct list_head sta_hash[NUM_STA]; + struct list_head sta_hash[NUM_STA]; int asoc_sta_count; struct __queue sleep_q; struct __queue wakeup_q; @@ -319,7 +317,7 @@ extern u32 _rtw_free_sta_priv(struct sta_priv *pstapriv); int rtw_stainfo_offset(struct sta_priv *stapriv, struct sta_info *sta); struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv, int offset); -extern struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); +extern struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); extern u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta); extern void rtw_free_all_stainfo(struct adapter *padapter); extern struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); From 778a0bf8c2c0d329beb929f5c2e7f6bc17ea4b01 Mon Sep 17 00:00:00 2001 From: Malathi A Date: Tue, 18 Aug 2026 09:55:34 +0000 Subject: [PATCH 039/145] staging: rtl8723bs: remove unused NDIS_802_11 typedefs The 'NDIS_802_11_RATES' and 'NDIS_802_11_PMKID_VALUE' types have no users anywhere in the tree, only their typedef declarations remain. Remove both, together with the 'NDIS_802_11_LENGTH_RATES' definition whose only user was the 'NDIS_802_11_RATES' typedef. This addresses part of the "convert any remaining unusual variable types" entry in the driver TODO. Signed-off-by: Malathi A Link: https://patch.msgid.link/20260818095535.1230025-1-malathi.a2000@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/rtw_ioctl_set.h | 2 -- drivers/staging/rtl8723bs/include/wlan_bssdef.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h index 768e4868ecfd..020b143f36be 100644 --- a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h +++ b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h @@ -7,8 +7,6 @@ #ifndef __RTW_IOCTL_SET_H_ #define __RTW_IOCTL_SET_H_ -typedef u8 NDIS_802_11_PMKID_VALUE[16]; - u8 rtw_set_802_11_authentication_mode(struct adapter *pdapter, enum ndis_802_11_authentication_mode authmode); u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep); u8 rtw_set_802_11_disassociate(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/wlan_bssdef.h b/drivers/staging/rtl8723bs/include/wlan_bssdef.h index f4c1456f1476..ff2cee2f3b99 100644 --- a/drivers/staging/rtl8723bs/include/wlan_bssdef.h +++ b/drivers/staging/rtl8723bs/include/wlan_bssdef.h @@ -12,10 +12,8 @@ #define NDIS_802_11_LENGTH_SSID 32 -#define NDIS_802_11_LENGTH_RATES 8 #define NDIS_802_11_LENGTH_RATES_EX 16 -typedef unsigned char NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; /* Set of 8 data rates */ typedef unsigned char NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; /* Set of 16 data rates */ struct ndis_802_11_ssid { From c71186e538b76e55ef40dd13822385af8b1485b4 Mon Sep 17 00:00:00 2001 From: Malathi A Date: Tue, 18 Aug 2026 09:55:35 +0000 Subject: [PATCH 040/145] staging: rtl8723bs: remove unusual 'NDIS_802_11_RATES_EX' type Remove the 'NDIS_802_11_RATES_EX' type and replace the variables of this type with an array of 'u8', which makes the code more understandable and gets rid of an unnecessary 'typedef'. 'u8' and the 'unsigned char' the typedef expanded to are the same type and the array length is unchanged, so there is no functional change. Also update the comment in wlan_bssdef.h that referred to the removed type. Signed-off-by: Malathi A Link: https://patch.msgid.link/20260818095535.1230025-2-malathi.a2000@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/rtw_mlme_ext.h | 2 +- drivers/staging/rtl8723bs/include/wlan_bssdef.h | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index a66256f63df7..40f55bfa8810 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -253,7 +253,7 @@ struct FW_Sta_Info { u32 status; u32 rx_pkt; u32 retry; - NDIS_802_11_RATES_EX SupportedRates; + u8 SupportedRates[NDIS_802_11_LENGTH_RATES_EX]; }; /* diff --git a/drivers/staging/rtl8723bs/include/wlan_bssdef.h b/drivers/staging/rtl8723bs/include/wlan_bssdef.h index ff2cee2f3b99..9137057726ef 100644 --- a/drivers/staging/rtl8723bs/include/wlan_bssdef.h +++ b/drivers/staging/rtl8723bs/include/wlan_bssdef.h @@ -14,8 +14,6 @@ #define NDIS_802_11_LENGTH_SSID 32 #define NDIS_802_11_LENGTH_RATES_EX 16 -typedef unsigned char NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; /* Set of 16 data rates */ - struct ndis_802_11_ssid { u32 ssid_length; u8 ssid[32]; @@ -48,7 +46,7 @@ struct ndis_80211_var_ie { * ETH_ALEN + 2 + * sizeof (struct ndis_802_11_ssid) + sizeof (u32) + * sizeof (long) + - * sizeof (struct ndis_802_11_conf) + sizeof (NDIS_802_11_RATES_EX) + ie_length + * sizeof (struct ndis_802_11_conf) + NDIS_802_11_LENGTH_RATES_EX + ie_length * * Except for ie_length, all other fields are fixed length. Therefore, we can * define a macro to present the partial sum. @@ -140,7 +138,7 @@ struct wlan_bssid_ex { long rssi;/* in dBM, raw data , get from PHY) */ struct ndis_802_11_conf configuration; enum nl80211_iftype infrastructure_mode; - NDIS_802_11_RATES_EX supported_rates; + u8 supported_rates[NDIS_802_11_LENGTH_RATES_EX]; struct wlan_phy_info phy_info; u32 ie_length; u8 ies[MAX_IE_SZ]; /* timestamp, beacon interval, and capability information) */ From 3278529bb8ddbfaa4eeaea5602ff29d8499b4b2b Mon Sep 17 00:00:00 2001 From: Dhanush Muralidharan Date: Wed, 19 Aug 2026 20:56:12 +0530 Subject: [PATCH 041/145] staging: rtl8723bs: remove extern from function declarations in header files Function declarations in header files are implicitly extern. Remove the redundant extern keyword to clean up the code. Signed-off-by: Dhanush Muralidharan Link: https://patch.msgid.link/20260819152612.41350-1-dhanushmuralidharan@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/cmd_osdep.h | 6 +- .../staging/rtl8723bs/include/osdep_service.h | 4 +- .../rtl8723bs/include/osdep_service_linux.h | 2 +- drivers/staging/rtl8723bs/include/rtw_cmd.h | 58 +++++++------- drivers/staging/rtl8723bs/include/rtw_io.h | 14 ++-- drivers/staging/rtl8723bs/include/rtw_mlme.h | 78 +++++++++---------- .../staging/rtl8723bs/include/rtw_mlme_ext.h | 18 ++--- .../staging/rtl8723bs/include/rtw_pwrctrl.h | 20 ++--- drivers/staging/rtl8723bs/include/sdio_ops.h | 20 ++--- .../staging/rtl8723bs/include/xmit_osdep.h | 14 ++-- 10 files changed, 117 insertions(+), 117 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/cmd_osdep.h b/drivers/staging/rtl8723bs/include/cmd_osdep.h index 91d933d71945..a7b526a658a9 100644 --- a/drivers/staging/rtl8723bs/include/cmd_osdep.h +++ b/drivers/staging/rtl8723bs/include/cmd_osdep.h @@ -9,8 +9,8 @@ int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv); int rtw_init_evt_priv(struct evt_priv *pevtpriv); -extern void _rtw_free_evt_priv(struct evt_priv *pevtpriv); -extern void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv); -extern struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue); +void _rtw_free_evt_priv(struct evt_priv *pevtpriv); +void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv); +struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue); #endif diff --git a/drivers/staging/rtl8723bs/include/osdep_service.h b/drivers/staging/rtl8723bs/include/osdep_service.h index 2f5011a8210c..e2eebd46cb5c 100644 --- a/drivers/staging/rtl8723bs/include/osdep_service.h +++ b/drivers/staging/rtl8723bs/include/osdep_service.h @@ -15,7 +15,7 @@ #include -extern int RTW_STATUS_CODE(int error_code); +int RTW_STATUS_CODE(int error_code); int _rtw_netif_rx(struct net_device *ndev, struct sk_buff *skb); @@ -29,7 +29,7 @@ static inline void flush_signals_thread(void) #define _RND(sz, r) ((((sz)+((r)-1))/(r))*(r)) -extern void rtw_free_netdev(struct net_device *netdev); +void rtw_free_netdev(struct net_device *netdev); /* Macros for handling unaligned memory accesses */ diff --git a/drivers/staging/rtl8723bs/include/osdep_service_linux.h b/drivers/staging/rtl8723bs/include/osdep_service_linux.h index c8274da940ff..cc5eaf6a2c61 100644 --- a/drivers/staging/rtl8723bs/include/osdep_service_linux.h +++ b/drivers/staging/rtl8723bs/include/osdep_service_linux.h @@ -113,6 +113,6 @@ static inline struct adapter *rtw_netdev_priv(struct net_device *netdev) } struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_priv); -extern struct net_device *rtw_alloc_etherdev(int sizeof_priv); +struct net_device *rtw_alloc_etherdev(int sizeof_priv); #endif diff --git a/drivers/staging/rtl8723bs/include/rtw_cmd.h b/drivers/staging/rtl8723bs/include/rtw_cmd.h index 2e791da7e815..58a5ec39ce76 100644 --- a/drivers/staging/rtl8723bs/include/rtw_cmd.h +++ b/drivers/staging/rtl8723bs/include/rtw_cmd.h @@ -107,16 +107,16 @@ struct c2h_evt_hdr_88xx { #define c2h_evt_valid(c2h_evt) ((c2h_evt)->id || (c2h_evt)->plen) int rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *obj); -extern struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv); -extern void rtw_free_cmd_obj(struct cmd_obj *pcmd); +struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv); +void rtw_free_cmd_obj(struct cmd_obj *pcmd); void rtw_stop_cmd_thread(struct adapter *adapter); int rtw_cmd_thread(void *context); -extern void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv); +void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv); -extern void rtw_free_evt_priv(struct evt_priv *pevtpriv); -extern void rtw_evt_notify_isr(struct evt_priv *pevtpriv); +void rtw_free_evt_priv(struct evt_priv *pevtpriv); +void rtw_evt_notify_isr(struct evt_priv *pevtpriv); enum { NONE_WK_CID, @@ -573,50 +573,50 @@ struct RunInThread_param { #define H2C_RESERVED 0x07 u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, int ssid_num, struct rtw_ieee80211_channel *ch, int ch_num); -extern u8 rtw_createbss_cmd(struct adapter *padapter); +u8 rtw_createbss_cmd(struct adapter *padapter); int rtw_startbss_cmd(struct adapter *padapter, int flags); struct sta_info; -extern u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_key, bool enqueue); -extern u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueue); +u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_key, bool enqueue); +u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueue); -extern u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork); +u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork); u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue); -extern u8 rtw_setopmode_cmd(struct adapter *padapter, enum nl80211_iftype networktype, bool enqueue); -extern u8 rtw_setrfintfs_cmd(struct adapter *padapter, u8 mode); +u8 rtw_setopmode_cmd(struct adapter *padapter, enum nl80211_iftype networktype, bool enqueue); +u8 rtw_setrfintfs_cmd(struct adapter *padapter, u8 mode); -extern u8 rtw_gettssi_cmd(struct adapter *padapter, u8 offset, u8 *pval); -extern u8 rtw_setfwdig_cmd(struct adapter *padapter, u8 type); -extern u8 rtw_setfwra_cmd(struct adapter *padapter, u8 type); +u8 rtw_gettssi_cmd(struct adapter *padapter, u8 offset, u8 *pval); +u8 rtw_setfwdig_cmd(struct adapter *padapter, u8 type); +u8 rtw_setfwra_cmd(struct adapter *padapter, u8 type); -extern u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr); -extern u8 rtw_reset_securitypriv_cmd(struct adapter *padapter); -extern u8 rtw_free_assoc_resources_cmd(struct adapter *padapter); -extern u8 rtw_dynamic_chk_wk_cmd(struct adapter *adapter); +u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr); +u8 rtw_reset_securitypriv_cmd(struct adapter *padapter); +u8 rtw_free_assoc_resources_cmd(struct adapter *padapter); +u8 rtw_dynamic_chk_wk_cmd(struct adapter *adapter); u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue); u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter); u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, u8 *psta); -extern u8 rtw_ps_cmd(struct adapter *padapter); +u8 rtw_ps_cmd(struct adapter *padapter); u8 rtw_chk_hi_queue_cmd(struct adapter *padapter); -extern u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, u8 *pbuf, u16 length); -extern u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt); +u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, u8 *pbuf, u16 length); +u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt); u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf); -extern void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_getrttbl_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_getrttbl_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); struct _cmd_callback { diff --git a/drivers/staging/rtl8723bs/include/rtw_io.h b/drivers/staging/rtl8723bs/include/rtw_io.h index 3c99a2bc19bd..55bedd912993 100644 --- a/drivers/staging/rtl8723bs/include/rtw_io.h +++ b/drivers/staging/rtl8723bs/include/rtw_io.h @@ -43,15 +43,15 @@ struct io_priv { }; -extern u8 rtw_read8(struct adapter *adapter, u32 addr); -extern u16 rtw_read16(struct adapter *adapter, u32 addr); -extern u32 rtw_read32(struct adapter *adapter, u32 addr); +u8 rtw_read8(struct adapter *adapter, u32 addr); +u16 rtw_read16(struct adapter *adapter, u32 addr); +u32 rtw_read32(struct adapter *adapter, u32 addr); -extern int rtw_write8(struct adapter *adapter, u32 addr, u8 val); -extern int rtw_write16(struct adapter *adapter, u32 addr, u16 val); -extern int rtw_write32(struct adapter *adapter, u32 addr, u32 val); +int rtw_write8(struct adapter *adapter, u32 addr, u8 val); +int rtw_write16(struct adapter *adapter, u32 addr, u16 val); +int rtw_write32(struct adapter *adapter, u32 addr, u32 val); -extern u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); +u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); int rtw_init_io_priv(struct adapter *padapter, void (*set_intf_ops)(struct adapter *padapter, struct _io_ops *pops)); diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme.h b/drivers/staging/rtl8723bs/include/rtw_mlme.h index 6faa13535b62..7709d5fd77a3 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme.h @@ -249,32 +249,32 @@ struct hostapd_priv { struct adapter *padapter; }; -extern int hostapd_mode_init(struct adapter *padapter); -extern void hostapd_mode_unload(struct adapter *padapter); +int hostapd_mode_init(struct adapter *padapter); +void hostapd_mode_unload(struct adapter *padapter); -extern void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf); -extern void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_cpwm_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf); +void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf); +void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_cpwm_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf); -extern void rtw_join_timeout_handler(struct timer_list *t); -extern void _rtw_scan_timeout_handler(struct timer_list *t); +void rtw_join_timeout_handler(struct timer_list *t); +void _rtw_scan_timeout_handler(struct timer_list *t); int event_thread(void *context); -extern void rtw_free_network_queue(struct adapter *adapter, u8 isfreeall); -extern int rtw_init_mlme_priv(struct adapter *adapter);/* (struct mlme_priv *pmlmepriv); */ +void rtw_free_network_queue(struct adapter *adapter, u8 isfreeall); +int rtw_init_mlme_priv(struct adapter *adapter);/* (struct mlme_priv *pmlmepriv); */ -extern void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv); +void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv); -extern signed int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv); -extern signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, signed int keyid, u8 set_tx, bool enqueue); -extern signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecuritypriv); +signed int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv); +signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, signed int keyid, u8 set_tx, bool enqueue); +signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecuritypriv); static inline u8 *get_bssid(struct mlme_priv *pmlmepriv) { /* if sta_mode:pmlmepriv->cur_network.network.mac_address => bssid */ @@ -318,48 +318,48 @@ static inline void _clr_fwstate_(struct mlme_priv *pmlmepriv, signed int state) pmlmepriv->bScanInProcess = false; } -extern u16 rtw_get_capability(struct wlan_bssid_ex *bss); -extern void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target); -extern void rtw_disconnect_hdl_under_linked(struct adapter *adapter, struct sta_info *psta, u8 free_assoc); -extern void rtw_generate_random_ibss(u8 *pibss); -extern struct wlan_network *rtw_find_network(struct __queue *scanned_queue, u8 *addr); -extern struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue); +u16 rtw_get_capability(struct wlan_bssid_ex *bss); +void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target); +void rtw_disconnect_hdl_under_linked(struct adapter *adapter, struct sta_info *psta, u8 free_assoc); +void rtw_generate_random_ibss(u8 *pibss); +struct wlan_network *rtw_find_network(struct __queue *scanned_queue, u8 *addr); +struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue); struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue, struct wlan_network *network); -extern void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue); -extern void rtw_indicate_disconnect(struct adapter *adapter); -extern void rtw_indicate_connect(struct adapter *adapter); +void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue); +void rtw_indicate_disconnect(struct adapter *adapter); +void rtw_indicate_connect(struct adapter *adapter); void rtw_indicate_scan_done(struct adapter *padapter, bool aborted); void rtw_scan_abort(struct adapter *adapter); -extern int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len); -extern int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint initial_out_len); -extern void rtw_init_registrypriv_dev_network(struct adapter *adapter); +int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len); +int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint initial_out_len); +void rtw_init_registrypriv_dev_network(struct adapter *adapter); -extern void rtw_update_registrypriv_dev_network(struct adapter *adapter); +void rtw_update_registrypriv_dev_network(struct adapter *adapter); -extern void _rtw_join_timeout_handler(struct timer_list *t); -extern void rtw_scan_timeout_handler(struct timer_list *t); +void _rtw_join_timeout_handler(struct timer_list *t); +void rtw_scan_timeout_handler(struct timer_list *t); -extern void rtw_dynamic_check_timer_handler(struct adapter *adapter); +void rtw_dynamic_check_timer_handler(struct adapter *adapter); bool rtw_is_scan_deny(struct adapter *adapter); void rtw_clear_scan_deny(struct adapter *adapter); void rtw_set_scan_deny(struct adapter *adapter, u32 ms); void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv); -extern void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv); +void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv); /* extern struct wlan_network* _rtw_dequeue_network(struct __queue *queue); */ -extern struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv); +struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv); -extern void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork, u8 isfreeall); -extern void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork); +void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork, u8 isfreeall); +void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork); -extern struct wlan_network *_rtw_find_network(struct __queue *scanned_queue, u8 *addr); +struct wlan_network *_rtw_find_network(struct __queue *scanned_queue, u8 *addr); bool rtw_if_up(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index 40f55bfa8810..70fb161afd09 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -422,7 +422,7 @@ void init_mlme_default_rate_set(struct adapter *padapter); void init_mlme_ext_priv(struct adapter *padapter); void init_hw_mlme_ext(struct adapter *padapter); void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext); -extern struct xmit_frame *alloc_mgtxmitframe(struct xmit_priv *pxmitpriv); +struct xmit_frame *alloc_mgtxmitframe(struct xmit_priv *pxmitpriv); /* void fill_fwpriv(struct adapter *padapter, struct fw_priv *pfwpriv); */ @@ -516,8 +516,8 @@ s16 rtw_camid_search(struct adapter *adapter, u8 *addr, s16 kid); s16 rtw_camid_alloc(struct adapter *adapter, struct sta_info *sta, u8 kid); void rtw_camid_free(struct adapter *adapter, u8 cam_id); -extern void rtw_alloc_macid(struct adapter *padapter, struct sta_info *psta); -extern void rtw_release_macid(struct adapter *padapter, struct sta_info *psta); +void rtw_alloc_macid(struct adapter *padapter, struct sta_info *psta); +void rtw_release_macid(struct adapter *padapter, struct sta_info *psta); void report_join_res(struct adapter *padapter, int res); void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame); @@ -527,7 +527,7 @@ void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int void report_wmm_edca_update(struct adapter *padapter); u8 chk_bmc_sleepq_cmd(struct adapter *padapter); -extern u8 set_tx_beacon_cmd(struct adapter *padapter); +u8 set_tx_beacon_cmd(struct adapter *padapter); unsigned int setup_beacon_frame(struct adapter *padapter, unsigned char *beacon_frame); void update_mgnt_tx_rate(struct adapter *padapter, u8 rate); void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattrib); @@ -606,12 +606,12 @@ void sa_query_timer_hdl(struct timer_list *t); _set_timer(&(mlmeext)->sa_query_timer, (ms)); \ } while (0) -extern void process_addba_req(struct adapter *padapter, u8 *paddba_req, u8 *addr); +void process_addba_req(struct adapter *padapter, u8 *paddba_req, u8 *addr); -extern void update_TSF(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len); -extern void correct_TSF(struct adapter *padapter, struct mlme_ext_priv *pmlmeext); -extern void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len); -extern bool traffic_status_watchdog(struct adapter *padapter, bool from_timer); +void update_TSF(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len); +void correct_TSF(struct adapter *padapter, struct mlme_ext_priv *pmlmeext); +void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len); +bool traffic_status_watchdog(struct adapter *padapter, bool from_timer); int rtw_chk_start_clnt_join(struct adapter *padapter, u8 *ch, u8 *bw, u8 *offset); diff --git a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h index 182b8c88ccc8..49f19b6ee329 100644 --- a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h +++ b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h @@ -212,20 +212,20 @@ struct pwrctrl_priv { _set_timer(&(pwrctl)->pwr_state_check_timer, (ms)); \ } while (0) -extern void rtw_init_pwrctrl_priv(struct adapter *adapter); -extern void rtw_free_pwrctrl_priv(struct adapter *adapter); +void rtw_init_pwrctrl_priv(struct adapter *adapter); +void rtw_free_pwrctrl_priv(struct adapter *adapter); s32 rtw_register_task_alive(struct adapter *adapter, u32 task); void rtw_unregister_task_alive(struct adapter *adapter, u32 task); -extern s32 rtw_register_tx_alive(struct adapter *padapter); -extern void rtw_unregister_tx_alive(struct adapter *padapter); -extern s32 rtw_register_cmd_alive(struct adapter *padapter); -extern void rtw_unregister_cmd_alive(struct adapter *padapter); -extern void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportpwrstate); -extern void LPS_Leave_check(struct adapter *padapter); +s32 rtw_register_tx_alive(struct adapter *padapter); +void rtw_unregister_tx_alive(struct adapter *padapter); +s32 rtw_register_cmd_alive(struct adapter *padapter); +void rtw_unregister_cmd_alive(struct adapter *padapter); +void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportpwrstate); +void LPS_Leave_check(struct adapter *padapter); -extern void LeaveAllPowerSaveMode(struct adapter *Adapter); -extern void LeaveAllPowerSaveModeDirect(struct adapter *Adapter); +void LeaveAllPowerSaveMode(struct adapter *Adapter); +void LeaveAllPowerSaveModeDirect(struct adapter *Adapter); void _ips_enter(struct adapter *padapter); void ips_enter(struct adapter *padapter); int _ips_leave(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/sdio_ops.h b/drivers/staging/rtl8723bs/include/sdio_ops.h index 71a45b989fa5..f939263495df 100644 --- a/drivers/staging/rtl8723bs/include/sdio_ops.h +++ b/drivers/staging/rtl8723bs/include/sdio_ops.h @@ -9,24 +9,24 @@ #include -extern void sdio_set_intf_ops(struct adapter *padapter, struct _io_ops *pops); +void sdio_set_intf_ops(struct adapter *padapter, struct _io_ops *pops); /* extern void sdio_func1cmd52_read(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem); */ /* extern void sdio_func1cmd52_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem); */ -extern u8 SdioLocalCmd52Read1Byte(struct adapter *padapter, u32 addr); -extern void SdioLocalCmd52Write1Byte(struct adapter *padapter, u32 addr, u8 v); -extern s32 sdio_local_read(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf); -extern s32 sdio_local_write(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf); +u8 SdioLocalCmd52Read1Byte(struct adapter *padapter, u32 addr); +void SdioLocalCmd52Write1Byte(struct adapter *padapter, u32 addr, u8 v); +s32 sdio_local_read(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf); +s32 sdio_local_write(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf); u32 _sdio_read32(struct adapter *padapter, u32 addr); s32 _sdio_write32(struct adapter *padapter, u32 addr, u32 val); -extern void sd_int_hdl(struct adapter *padapter); -extern u8 CheckIPSStatus(struct adapter *padapter); +void sd_int_hdl(struct adapter *padapter); +u8 CheckIPSStatus(struct adapter *padapter); -extern void InitInterrupt8723BSdio(struct adapter *padapter); +void InitInterrupt8723BSdio(struct adapter *padapter); void rtw_sdio_enable_interrupt(struct adapter *padapter); void rtw_sdio_disable_interrupt(struct adapter *padapter); -extern u8 HalQueryTxBufferStatus8723BSdio(struct adapter *padapter); -extern void HalQueryTxOQTBufferStatus8723BSdio(struct adapter *padapter); +u8 HalQueryTxBufferStatus8723BSdio(struct adapter *padapter); +void HalQueryTxOQTBufferStatus8723BSdio(struct adapter *padapter); #endif /* !__SDIO_OPS_H__ */ diff --git a/drivers/staging/rtl8723bs/include/xmit_osdep.h b/drivers/staging/rtl8723bs/include/xmit_osdep.h index ee6616880d41..85c42fa06dbd 100644 --- a/drivers/staging/rtl8723bs/include/xmit_osdep.h +++ b/drivers/staging/rtl8723bs/include/xmit_osdep.h @@ -25,19 +25,19 @@ struct sta_xmit_priv; struct xmit_frame; struct xmit_buf; -extern void _rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev); -extern netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev); +void _rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev); +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev); void rtw_os_xmit_schedule(struct adapter *padapter); void rtw_os_xmit_resource_free(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag); -extern unsigned int rtw_remainder_len(struct pkt_file *pfile); -extern void _rtw_open_pktfile(struct sk_buff *pkt, struct pkt_file *pfile); +unsigned int rtw_remainder_len(struct pkt_file *pfile); +void _rtw_open_pktfile(struct sk_buff *pkt, struct pkt_file *pfile); int _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, unsigned int rlen); -extern signed int rtw_endofpktfile(struct pkt_file *pfile); +signed int rtw_endofpktfile(struct pkt_file *pfile); -extern void rtw_os_pkt_complete(struct adapter *padapter, struct sk_buff *pkt); -extern void rtw_os_xmit_complete(struct adapter *padapter, struct xmit_frame *pxframe); +void rtw_os_pkt_complete(struct adapter *padapter, struct sk_buff *pkt); +void rtw_os_xmit_complete(struct adapter *padapter, struct xmit_frame *pxframe); #endif /* __XMIT_OSDEP_H_ */ From 754bbe68712f7eac5df54982fa4f5c09ea581f38 Mon Sep 17 00:00:00 2001 From: Tiago Panizio Gottardo Date: Fri, 21 Aug 2026 11:53:39 -0300 Subject: [PATCH 042/145] staging: rtl8723bs: use bool for PMKSA flags The inserted and matched variables only track boolean state in the PMKSA helpers. Use bool instead of u8 and give the variables clearer names. No functional changes intended. Signed-off-by: Tiago Panizio Gottardo Link: https://patch.msgid.link/CPYP284MB0854D9AB7B360D108DFC7116FFA32@CPYP284MB0854.BRAP284.PROD.OUTLOOK.COM Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index 3468d4114f60..f7396dbb5d3c 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -1830,27 +1830,26 @@ static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy, struct net_device *ndev, struct cfg80211_pmksa *pmksa) { - u8 index, blInserted = false; + bool inserted = false; + u8 index; struct adapter *padapter = rtw_netdev_priv(ndev); struct security_priv *psecuritypriv = &padapter->securitypriv; if (is_zero_ether_addr((u8 *)pmksa->bssid)) return -EINVAL; - blInserted = false; - /* overwrite PMKID */ for (index = 0 ; index < NUM_PMKID_CACHE; index++) { if (!memcmp(psecuritypriv->PMKIDList[index].Bssid, (u8 *)pmksa->bssid, ETH_ALEN)) { memcpy(psecuritypriv->PMKIDList[index].PMKID, (u8 *)pmksa->pmkid, WLAN_PMKID_LEN); psecuritypriv->PMKIDList[index].bUsed = true; psecuritypriv->PMKIDIndex = index + 1; - blInserted = true; + inserted = true; break; } } - if (!blInserted) { + if (!inserted) { memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].Bssid, (u8 *)pmksa->bssid, ETH_ALEN); memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].PMKID, (u8 *)pmksa->pmkid, WLAN_PMKID_LEN); @@ -1867,7 +1866,8 @@ static int cfg80211_rtw_del_pmksa(struct wiphy *wiphy, struct net_device *ndev, struct cfg80211_pmksa *pmksa) { - u8 index, bMatched = false; + bool matched = false; + u8 index; struct adapter *padapter = rtw_netdev_priv(ndev); struct security_priv *psecuritypriv = &padapter->securitypriv; @@ -1880,12 +1880,12 @@ static int cfg80211_rtw_del_pmksa(struct wiphy *wiphy, eth_zero_addr(psecuritypriv->PMKIDList[index].Bssid); memset(psecuritypriv->PMKIDList[index].PMKID, 0x00, WLAN_PMKID_LEN); psecuritypriv->PMKIDList[index].bUsed = false; - bMatched = true; + matched = true; break; } } - if (!bMatched) + if (!matched) return -EINVAL; return 0; From 427c477e8e557d155f6a58638b2edd881a9a7d83 Mon Sep 17 00:00:00 2001 From: Hungyu Lin Date: Tue, 25 Aug 2026 12:54:05 +0000 Subject: [PATCH 043/145] staging: rtl8723bs: make rtw_free_xmitbuf_ext() return void The return value of rtw_free_xmitbuf_ext() is never checked. Change its return type to void and remove the redundant _SUCCESS and _FAIL return values. Also remove the unnecessary extern keyword from its declaration. Signed-off-by: Hungyu Lin Link: https://patch.msgid.link/20260825125406.1710-2-dennylin0707@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_xmit.c | 6 ++---- drivers/staging/rtl8723bs/include/rtw_xmit.h | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index 68b7be427818..1364936d5f29 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -1535,13 +1535,13 @@ struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv) return pxmitbuf; } -s32 rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) +void rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) { unsigned long irqL; struct __queue *pfree_queue = &pxmitpriv->free_xmit_extbuf_queue; if (!pxmitbuf) - return _FAIL; + return; spin_lock_irqsave(&pfree_queue->lock, irqL); @@ -1551,8 +1551,6 @@ s32 rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) pxmitpriv->free_xmit_extbuf_cnt++; spin_unlock_irqrestore(&pfree_queue->lock, irqL); - - return _SUCCESS; } struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv) diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h index 2d1cc6dd19b9..6df4b1834e1c 100644 --- a/drivers/staging/rtl8723bs/include/rtw_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h @@ -403,7 +403,7 @@ extern struct xmit_frame *__rtw_alloc_cmdxmitframe(struct xmit_priv *pxmitpriv, #define rtw_alloc_bcnxmitframe(p) __rtw_alloc_cmdxmitframe(p, CMDBUF_BEACON) extern struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv); -extern s32 rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); +void rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); extern struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv); extern s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); From 2d09104a22ae34ca70ec5fc5ab6409b71ef55ae9 Mon Sep 17 00:00:00 2001 From: Hungyu Lin Date: Tue, 25 Aug 2026 12:54:06 +0000 Subject: [PATCH 044/145] staging: rtl8723bs: make rtw_free_xmitbuf() return void The return value of rtw_free_xmitbuf() is never checked. Change its return type to void and remove the redundant _SUCCESS and _FAIL return values. Also remove the unnecessary extern keyword from its declaration. Signed-off-by: Hungyu Lin Link: https://patch.msgid.link/20260825125406.1710-3-dennylin0707@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_xmit.c | 5 ++--- drivers/staging/rtl8723bs/include/rtw_xmit.h | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index 1364936d5f29..95350fd6a94f 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -1594,13 +1594,13 @@ struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv) return pxmitbuf; } -s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) +void rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) { unsigned long irqL; struct __queue *pfree_xmitbuf_queue = &pxmitpriv->free_xmitbuf_queue; if (!pxmitbuf) - return _FAIL; + return; if (pxmitbuf->sctx) rtw_sctx_done_err(&pxmitbuf->sctx, RTW_SCTX_DONE_BUF_FREE); @@ -1619,7 +1619,6 @@ s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) pxmitpriv->free_xmitbuf_cnt++; spin_unlock_irqrestore(&pfree_xmitbuf_queue->lock, irqL); } - return _SUCCESS; } static void rtw_init_xmitframe(struct xmit_frame *pxframe) diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h index 6df4b1834e1c..873807fcd0dd 100644 --- a/drivers/staging/rtl8723bs/include/rtw_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h @@ -406,7 +406,7 @@ extern struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv); void rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); extern struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv); -extern s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); +void rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz); extern void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len); From d685d1dfaf0270e98011a0c5d2547c9988e587ea Mon Sep 17 00:00:00 2001 From: Romeu Gomes Date: Fri, 28 Aug 2026 11:17:01 +0100 Subject: [PATCH 045/145] staging: rtl8723bs: remove unnecessary parentheses in ioctl_cfg80211.c Remove unnecessary parentheses around the right-hand side of assignments and around function arguments. This clears up all "Unnecessary parentheses" warnings reported by checkpatch.pl. Signed-off-by: Romeu Gomes Link: https://patch.msgid.link/20260828101701.18750-1-asm.artisan256@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index f7396dbb5d3c..4416d0ec1db9 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -216,7 +216,7 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl struct wireless_dev *wdev = padapter->rtw_wdev; struct wiphy *wiphy = wdev->wiphy; - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; bssinf_len = pnetwork->network.ie_length + sizeof(struct ieee80211_hdr_3addr); if (bssinf_len > MAX_BSSINFO_LEN) @@ -281,7 +281,7 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl pbuf = buf; pwlanhdr = (struct ieee80211_hdr *)pbuf; - fctrl = &(pwlanhdr->frame_control); + fctrl = &pwlanhdr->frame_control; *(fctrl) = 0; SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/); @@ -291,7 +291,7 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl eth_broadcast_addr(pwlanhdr->addr1); SetFrameSubType(pbuf, WIFI_BEACON); } else { - memcpy(pwlanhdr->addr1, myid(&(padapter->eeprompriv)), ETH_ALEN); + memcpy(pwlanhdr->addr1, myid(&padapter->eeprompriv), ETH_ALEN); SetFrameSubType(pbuf, WIFI_PROBERSP); } @@ -328,7 +328,7 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl */ int rtw_cfg80211_check_bss(struct adapter *padapter) { - struct wlan_bssid_ex *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network); + struct wlan_bssid_ex *pnetwork = &padapter->mlmeextpriv.mlmext_info.network; struct cfg80211_bss *bss = NULL; struct ieee80211_channel *notify_channel = NULL; u32 freq; @@ -352,7 +352,7 @@ int rtw_cfg80211_check_bss(struct adapter *padapter) void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter) { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct wlan_network *cur_network = &(pmlmepriv->cur_network); + struct wlan_network *cur_network = &pmlmepriv->cur_network; struct wireless_dev *pwdev = padapter->rtw_wdev; struct wiphy *wiphy = pwdev->wiphy; int freq = (int)cur_network->network.configuration.ds_config; @@ -362,7 +362,7 @@ void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter) return; if (!rtw_cfg80211_check_bss(padapter)) { - struct wlan_bssid_ex *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network); + struct wlan_bssid_ex *pnetwork = &padapter->mlmeextpriv.mlmext_info.network; struct wlan_network *scanned = pmlmepriv->cur_network_scanned; if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) { @@ -394,7 +394,7 @@ void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter) void rtw_cfg80211_indicate_connect(struct adapter *padapter) { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct wlan_network *cur_network = &(pmlmepriv->cur_network); + struct wlan_network *cur_network = &pmlmepriv->cur_network; struct wireless_dev *pwdev = padapter->rtw_wdev; if (pwdev->iftype != NL80211_IFTYPE_STATION @@ -407,7 +407,7 @@ void rtw_cfg80211_indicate_connect(struct adapter *padapter) return; { - struct wlan_bssid_ex *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network); + struct wlan_bssid_ex *pnetwork = &padapter->mlmeextpriv.mlmext_info.network; struct wlan_network *scanned = pmlmepriv->cur_network_scanned; if (!scanned) { @@ -493,7 +493,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa struct sta_info *psta = NULL, *pbcmc_sta = NULL; struct adapter *padapter = rtw_netdev_priv(dev); struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct security_priv *psecuritypriv = &(padapter->securitypriv); + struct security_priv *psecuritypriv = &padapter->securitypriv; struct sta_priv *pstapriv = &padapter->stapriv; char *grpkey = padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey; char *txkey = padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey; @@ -552,7 +552,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx; } - memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len); + memcpy(&psecuritypriv->dot11DefKey[wep_key_idx].skey[0], param->u.crypt.key, wep_key_len); psecuritypriv->dot11DefKeylen[wep_key_idx] = wep_key_len; @@ -578,8 +578,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); /* set mic key */ - memcpy(txkey, &(param->u.crypt.key[16]), 8); - memcpy(rxkey, &(param->u.crypt.key[24]), 8); + memcpy(txkey, ¶m->u.crypt.key[16], 8); + memcpy(rxkey, ¶m->u.crypt.key[24], 8); psecuritypriv->busetkipkey = true; @@ -622,8 +622,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa psta->dot118021XPrivacy = _TKIP_; /* set mic key */ - memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8); - memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8); + memcpy(psta->dot11tkiptxmickey.skey, ¶m->u.crypt.key[16], 8); + memcpy(psta->dot11tkiprxmickey.skey, ¶m->u.crypt.key[24], 8); psecuritypriv->busetkipkey = true; @@ -652,8 +652,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); /* set mic key */ - memcpy(txkey, &(param->u.crypt.key[16]), 8); - memcpy(rxkey, &(param->u.crypt.key[24]), 8); + memcpy(txkey, ¶m->u.crypt.key[16], 8); + memcpy(rxkey, ¶m->u.crypt.key[24], 8); psecuritypriv->busetkipkey = true; @@ -748,7 +748,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx; } - memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len); + memcpy(&psecuritypriv->dot11DefKey[wep_key_idx].skey[0], param->u.crypt.key, wep_key_len); psecuritypriv->dot11DefKeylen[wep_key_idx] = wep_key_len; @@ -778,8 +778,8 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); if (strcmp(param->u.crypt.alg, "TKIP") == 0) { /* set mic key */ - memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8); - memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8); + memcpy(psta->dot11tkiptxmickey.skey, ¶m->u.crypt.key[16], 8); + memcpy(psta->dot11tkiprxmickey.skey, ¶m->u.crypt.key[24], 8); padapter->securitypriv.busetkipkey = false; /* _set_timer(&padapter->securitypriv.tkip_timer, 50); */ @@ -789,8 +789,8 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param } else { /* group key */ if (strcmp(param->u.crypt.alg, "TKIP") == 0 || strcmp(param->u.crypt.alg, "CCMP") == 0) { memcpy(padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); - memcpy(padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[16]), 8); - memcpy(padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[24]), 8); + memcpy(padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey, ¶m->u.crypt.key[16], 8); + memcpy(padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey, ¶m->u.crypt.key[24], 8); padapter->securitypriv.binstallGrpkey = true; padapter->securitypriv.dot118021XGrpKeyid = param->u.crypt.idx; @@ -981,7 +981,7 @@ static int cfg80211_rtw_get_station(struct wiphy *wiphy, /* for infra./P2PClient mode */ if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) && check_fwstate(pmlmepriv, _FW_LINKED)) { - struct wlan_network *cur_network = &(pmlmepriv->cur_network); + struct wlan_network *cur_network = &pmlmepriv->cur_network; if (memcmp((u8 *)mac, cur_network->network.mac_address, ETH_ALEN)) { ret = -ENOENT; @@ -1022,7 +1022,7 @@ static int cfg80211_rtw_change_iface(struct wiphy *wiphy, enum nl80211_iftype old_type; struct adapter *padapter = rtw_netdev_priv(ndev); struct wireless_dev *rtw_wdev = padapter->rtw_wdev; - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); + struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; int ret = 0; if (adapter_to_dvobj(padapter)->processing_dev_remove) { @@ -1111,11 +1111,11 @@ void rtw_cfg80211_unlink_bss(struct adapter *padapter, struct wlan_network *pnet void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter) { struct list_head *plist, *phead; - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); - struct __queue *queue = &(pmlmepriv->scanned_queue); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct __queue *queue = &pmlmepriv->scanned_queue; struct wlan_network *pnetwork = NULL; - spin_lock_bh(&(pmlmepriv->scanned_queue.lock)); + spin_lock_bh(&pmlmepriv->scanned_queue.lock); phead = get_list_head(queue); list_for_each(plist, phead) @@ -1124,13 +1124,13 @@ void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter) /* report network only if the current channel set contains the channel to which this network belongs */ if (rtw_ch_set_search_ch(padapter->mlmeextpriv.channel_set, pnetwork->network.configuration.ds_config) >= 0 - && true == rtw_validate_ssid(&(pnetwork->network.ssid))) { + && true == rtw_validate_ssid(&pnetwork->network.ssid)) { /* ev =translate_scan(padapter, a, pnetwork, ev, stop); */ rtw_cfg80211_inform_bss(padapter, pnetwork); } } - spin_unlock_bh(&(pmlmepriv->scanned_queue.lock)); + spin_unlock_bh(&pmlmepriv->scanned_queue.lock); } static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *buf, int len) @@ -1138,7 +1138,7 @@ static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *b int ret = 0; unsigned int wps_ielen = 0; u8 *wps_ie; - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; if (len > 0) { wps_ie = rtw_get_wps_ie(buf, len, NULL, &wps_ielen); @@ -2058,8 +2058,8 @@ static netdev_tx_t rtw_cfg80211_monitor_if_xmit_entry(struct sk_buff *skb, struc /* u8 category, action, OUI_Subtype, dialogToken = 0; */ /* unsigned char *frame_body; */ struct ieee80211_hdr *pwlanhdr; - struct xmit_priv *pxmitpriv = &(padapter->xmitpriv); - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); + struct xmit_priv *pxmitpriv = &padapter->xmitpriv; + struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; u8 *buf = skb->data; u32 len = skb->len; u8 category, action; @@ -2244,7 +2244,7 @@ static int rtw_add_beacon(struct adapter *adapter, const u8 *head, size_t head_l int ret = 0; u8 *pbuf = NULL; unsigned int len, wps_ielen = 0; - struct mlme_priv *pmlmepriv = &(adapter->mlmepriv); + struct mlme_priv *pmlmepriv = &adapter->mlmepriv; if (!check_fwstate(pmlmepriv, WIFI_AP_STATE)) return -EINVAL; @@ -2336,7 +2336,7 @@ static int cfg80211_rtw_del_station(struct wiphy *wiphy, u8 updated = false; struct sta_info *psta = NULL; struct adapter *padapter = rtw_netdev_priv(wdev->netdev); - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct sta_priv *pstapriv = &padapter->stapriv; const u8 *mac = params->mac; @@ -2461,8 +2461,8 @@ static int _cfg80211_rtw_mgmt_tx(struct adapter *padapter, u8 tx_ch, const u8 *b int ret = _FAIL; bool __maybe_unused ack = true; struct ieee80211_hdr *pwlanhdr; - struct xmit_priv *pxmitpriv = &(padapter->xmitpriv); - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); + struct xmit_priv *pxmitpriv = &padapter->xmitpriv; + struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; rtw_set_scan_deny(padapter, 1000); From bb2b72ecf863484ea2242225e2e1b89795efa1ad Mon Sep 17 00:00:00 2001 From: Mirza Ishan Beg Date: Sat, 29 Aug 2026 21:18:38 +0530 Subject: [PATCH 046/145] staging: rtl8723bs: refactor traffic_stat access in collect_traffic_statistics Replace repetitive `pdvobjpriv->traffic_stat.` dereferencing with a local pointer `ts` to improve readability and reduce line length. This resolves multiple checkpatch line-length warnings without manual wrapping. Suggested-by: Nikolay Kulikov Signed-off-by: Mirza Ishan Beg Link: https://lore.kernel.org/linux-staging/agDaGJ5UKndFUNPY@archlinux/ Link: https://patch.msgid.link/20260829154838.4533-1-seedandsyntax@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_cmd.c | 25 ++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl8723bs/core/rtw_cmd.c index ce3dfa1fee26..59f13f6b85ad 100644 --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c @@ -1109,25 +1109,26 @@ u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter) static void collect_traffic_statistics(struct adapter *padapter) { struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter); + struct rtw_traffic_statistics *ts = &pdvobjpriv->traffic_stat; /* Tx */ - pdvobjpriv->traffic_stat.tx_bytes = padapter->xmitpriv.tx_bytes; - pdvobjpriv->traffic_stat.tx_pkts = padapter->xmitpriv.tx_pkts; - pdvobjpriv->traffic_stat.tx_drop = padapter->xmitpriv.tx_drop; + ts->tx_bytes = padapter->xmitpriv.tx_bytes; + ts->tx_pkts = padapter->xmitpriv.tx_pkts; + ts->tx_drop = padapter->xmitpriv.tx_drop; /* Rx */ - pdvobjpriv->traffic_stat.rx_bytes = padapter->recvpriv.rx_bytes; - pdvobjpriv->traffic_stat.rx_pkts = padapter->recvpriv.rx_pkts; - pdvobjpriv->traffic_stat.rx_drop = padapter->recvpriv.rx_drop; + ts->rx_bytes = padapter->recvpriv.rx_bytes; + ts->rx_pkts = padapter->recvpriv.rx_pkts; + ts->rx_drop = padapter->recvpriv.rx_drop; /* Calculate throughput in last interval */ - pdvobjpriv->traffic_stat.cur_tx_bytes = pdvobjpriv->traffic_stat.tx_bytes - pdvobjpriv->traffic_stat.last_tx_bytes; - pdvobjpriv->traffic_stat.cur_rx_bytes = pdvobjpriv->traffic_stat.rx_bytes - pdvobjpriv->traffic_stat.last_rx_bytes; - pdvobjpriv->traffic_stat.last_tx_bytes = pdvobjpriv->traffic_stat.tx_bytes; - pdvobjpriv->traffic_stat.last_rx_bytes = pdvobjpriv->traffic_stat.rx_bytes; + ts->cur_tx_bytes = ts->tx_bytes - ts->last_tx_bytes; + ts->cur_rx_bytes = ts->rx_bytes - ts->last_rx_bytes; + ts->last_tx_bytes = ts->tx_bytes; + ts->last_rx_bytes = ts->rx_bytes; - pdvobjpriv->traffic_stat.cur_tx_tp = (u32)(pdvobjpriv->traffic_stat.cur_tx_bytes * 8 / 2 / 1024 / 1024); - pdvobjpriv->traffic_stat.cur_rx_tp = (u32)(pdvobjpriv->traffic_stat.cur_rx_bytes * 8 / 2 / 1024 / 1024); + ts->cur_tx_tp = (u32)(ts->cur_tx_bytes * 8 / 2 / 1024 / 1024); + ts->cur_rx_tp = (u32)(ts->cur_rx_bytes * 8 / 2 / 1024 / 1024); } bool traffic_status_watchdog(struct adapter *padapter, bool from_timer) From bb7638662f1c39bcfba9790d72ed23054c7b713a Mon Sep 17 00:00:00 2001 From: Adriano Cordova Date: Sun, 30 Aug 2026 22:05:56 -0400 Subject: [PATCH 047/145] staging: rtl8723bs: remove dead beamforming code The beamforming declarations are guarded by #if (BEAMFORMING_SUPPORT == 1) but BEAMFORMING_SUPPORT is defined to 0, so they are never compiled. The types they use (RT_BEAMFORMING_INFO, BEAMFORMING_CAP, PMGNT_INFO) are not defined anywhere either. Remove the dead declarations and the now unused macro. Signed-off-by: Adriano Cordova Link: https://patch.msgid.link/20260831020557.1235504-2-adrianox@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/odm.h | 8 -------- drivers/staging/rtl8723bs/hal/odm_precomp.h | 1 - 2 files changed, 9 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h index a20b48660e63..d29eaba41dcb 100644 --- a/drivers/staging/rtl8723bs/hal/odm.h +++ b/drivers/staging/rtl8723bs/hal/odm.h @@ -936,10 +936,6 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ struct timer_list FastAntTrainingTimer; /* ODM relative workitem. */ - - #if (BEAMFORMING_SUPPORT == 1) - RT_BEAMFORMING_INFO BeamformingInfo; - #endif }; enum ODM_BB_Config_Type { @@ -1068,10 +1064,6 @@ u32 ODM_Get_Rate_Bitmap( u8 rssi_level ); -#if (BEAMFORMING_SUPPORT == 1) -BEAMFORMING_CAP Beamforming_GetEntryBeamCapByMacId(PMGNT_INFO pMgntInfo, u8 MacId); -#endif - void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm); void ODM_DMInit(struct dm_odm_t *pDM_Odm); diff --git a/drivers/staging/rtl8723bs/hal/odm_precomp.h b/drivers/staging/rtl8723bs/hal/odm_precomp.h index 2987857a8761..d4390fd203f1 100644 --- a/drivers/staging/rtl8723bs/hal/odm_precomp.h +++ b/drivers/staging/rtl8723bs/hal/odm_precomp.h @@ -19,7 +19,6 @@ /* include */ /* include */ /* include */ -#define BEAMFORMING_SUPPORT 0 /* 2 Hardware Parameter Files */ From 17aead0e02891270c6c45cab9fbb7bded274c16a Mon Sep 17 00:00:00 2001 From: Adriano Cordova Date: Sun, 30 Aug 2026 22:05:57 -0400 Subject: [PATCH 048/145] staging: rtl8723bs: remove unused chip-type enums and defines Remove enums and defines left over from other Realtek chips: - the RF_8225, RF_8256, RF_8258, RF_6052 and RF_PSEUDO_11N RF-type enum - TX_2S, TX_3S and TX_4S - RF_PATH_MAX_92C_88E and RF_PATH_MAX_90_8812 - TX_POWER_NEAR_FIELD_THRESH_8812 - ODM_ITRF_ALL None of them is referenced anywhere in the driver. Signed-off-by: Adriano Cordova Link: https://patch.msgid.link/20260831020557.1235504-3-adrianox@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/odm.h | 1 - .../staging/rtl8723bs/hal/odm_DynamicTxPower.h | 1 - drivers/staging/rtl8723bs/include/hal_phy.h | 16 ---------------- 3 files changed, 18 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h index d29eaba41dcb..b123df98fa22 100644 --- a/drivers/staging/rtl8723bs/hal/odm.h +++ b/drivers/staging/rtl8723bs/hal/odm.h @@ -382,7 +382,6 @@ enum { /* _ODM_Support_Ability_Definition */ /* ODM_CMNINFO_INTERFACE */ enum { /* tag_ODM_Support_Interface_Definition */ ODM_ITRF_SDIO = 0x4, - ODM_ITRF_ALL = 0x7, }; /* ODM_CMNINFO_IC_TYPE */ diff --git a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h index e2d244324ebe..4431a3ddf175 100644 --- a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h +++ b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h @@ -11,7 +11,6 @@ #define TX_POWER_NEAR_FIELD_THRESH_LVL2 74 #define TX_POWER_NEAR_FIELD_THRESH_LVL1 67 #define TX_POWER_NEAR_FIELD_THRESH_AP 0x3F -#define TX_POWER_NEAR_FIELD_THRESH_8812 60 #define TxHighPwrLevel_Normal 0 #define TxHighPwrLevel_Level1 1 diff --git a/drivers/staging/rtl8723bs/include/hal_phy.h b/drivers/staging/rtl8723bs/include/hal_phy.h index abc0f27fdaa4..ec9bc47816db 100644 --- a/drivers/staging/rtl8723bs/include/hal_phy.h +++ b/drivers/staging/rtl8723bs/include/hal_phy.h @@ -17,16 +17,6 @@ /*--------------------------Define Parameters-------------------------------*/ -enum { - RF_TYPE_MIN = 0, /* 0 */ - RF_8225 = 1, /* 1 11b/g RF for verification only */ - RF_8256 = 2, /* 2 11b/g/n */ - RF_8258 = 3, /* 3 11a/b/g/n RF */ - RF_6052 = 4, /* 4 11b/g/n RF */ - RF_PSEUDO_11N = 5, /* 5, It is a temporality RF. */ - RF_TYPE_MAX -}; - enum rf_path { RF_PATH_A = 0, RF_PATH_B, @@ -34,12 +24,6 @@ enum rf_path { }; #define TX_1S 0 -#define TX_2S 1 -#define TX_3S 2 -#define TX_4S 3 - -#define RF_PATH_MAX_92C_88E 2 -#define RF_PATH_MAX_90_8812 4 /* Max RF number 90 support */ enum wireless_mode { WIRELESS_MODE_UNKNOWN = 0x00, From 758be99c46265b74476d5e1173d781abe325533e Mon Sep 17 00:00:00 2001 From: Philip Nielsen Date: Tue, 1 Sep 2026 12:39:19 +0200 Subject: [PATCH 049/145] staging: rtl8723bs: avoid CamelCase in rtw_efuse Avoid CamelCase naming for local variables, function parameters, and static helper functions in rtw_efuse.c as well as associated prototypes in rtw_efuse.h to adhere to the Linux kernel coding style and clear checkpatch.pl checks. Signed-off-by: Philip Nielsen Link: https://patch.msgid.link/20260901103919.20245-1-philipnielsen64@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_efuse.c | 72 +++++++++---------- drivers/staging/rtl8723bs/include/rtw_efuse.h | 4 +- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c index 7e215c9845f6..b2d22307b115 100644 --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c @@ -41,48 +41,48 @@ rtw_efuse_calculate_word_counts(u8 word_en) * 09/23/2008 MHC Copy from WMAC. * */ -u8 rtw_efuse_read_1_byte(struct adapter *Adapter, u16 Address) +u8 rtw_efuse_read_1_byte(struct adapter *adapter, u16 address) { - u8 Bytetemp = {0x00}; + u8 byte_temp = {0x00}; u8 temp = {0x00}; u32 k = 0; - u16 contentLen = 0; + u16 content_len = 0; - Hal_GetEfuseDefinition(Adapter, EFUSE_WIFI, TYPE_EFUSE_REAL_CONTENT_LEN, &contentLen); + Hal_GetEfuseDefinition(adapter, EFUSE_WIFI, TYPE_EFUSE_REAL_CONTENT_LEN, &content_len); - if (Address < contentLen) {/* E-fuse 512Byte */ + if (address < content_len) {/* E-fuse 512Byte */ /* Write E-fuse Register address bit0~7 */ - temp = Address & 0xFF; - rtw_write8(Adapter, EFUSE_CTRL + 1, temp); - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 2); + temp = address & 0xFF; + rtw_write8(adapter, EFUSE_CTRL + 1, temp); + byte_temp = rtw_read8(adapter, EFUSE_CTRL + 2); /* Write E-fuse Register address bit8~9 */ - temp = ((Address >> 8) & 0x03) | (Bytetemp & 0xFC); - rtw_write8(Adapter, EFUSE_CTRL + 2, temp); + temp = ((address >> 8) & 0x03) | (byte_temp & 0xFC); + rtw_write8(adapter, EFUSE_CTRL + 2, temp); /* Write 0x30[31]= 0 */ - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 3); - temp = Bytetemp & 0x7F; - rtw_write8(Adapter, EFUSE_CTRL + 3, temp); + byte_temp = rtw_read8(adapter, EFUSE_CTRL + 3); + temp = byte_temp & 0x7F; + rtw_write8(adapter, EFUSE_CTRL + 3, temp); /* Wait Write-ready (0x30[31]= 1) */ - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 3); - while (!(Bytetemp & 0x80)) { - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 3); + byte_temp = rtw_read8(adapter, EFUSE_CTRL + 3); + while (!(byte_temp & 0x80)) { + byte_temp = rtw_read8(adapter, EFUSE_CTRL + 3); k++; if (k == 1000) break; } - return rtw_read8(Adapter, EFUSE_CTRL); + return rtw_read8(adapter, EFUSE_CTRL); } else { return 0xFF; } } /* rtw_efuse_read_1_byte */ -/* 11/16/2008 MH Read one byte from real Efuse. */ +/* 11/16/2008 MH Read one byte from real efuse. */ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data) { u32 tmpidx = 0; - u8 bResult; + u8 b_result; u8 readbyte; /* <20130121, Kordan> For SMIC EFUSE specificatoin. */ @@ -107,19 +107,19 @@ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data) } if (tmpidx < 100) { *data = rtw_read8(padapter, EFUSE_CTRL); - bResult = true; + b_result = true; } else { *data = 0xff; - bResult = false; + b_result = false; } - return bResult; + return b_result; } /*----------------------------------------------------------------------------- - * Function: Efuse_ReadAllMap + * Function: efuse_read_all_map * - * Overview: Read All Efuse content + * Overview: Read All efuse content * * Input: NONE * @@ -132,15 +132,15 @@ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data) * 11/11/2008 MHC Create Version 0. * */ -static void Efuse_ReadAllMap(struct adapter *padapter, u8 efuseType, u8 *Efuse) +static void efuse_read_all_map(struct adapter *padapter, u8 efuse_type, u8 *efuse) { - u16 mapLen = 0; + u16 map_len = 0; Hal_EfusePowerSwitch(padapter, true); - Hal_GetEfuseDefinition(padapter, efuseType, TYPE_EFUSE_MAP_LEN, &mapLen); + Hal_GetEfuseDefinition(padapter, efuse_type, TYPE_EFUSE_MAP_LEN, &map_len); - Hal_ReadEFuse(padapter, efuseType, 0, mapLen, Efuse); + Hal_ReadEFuse(padapter, efuse_type, 0, map_len, efuse); Hal_EfusePowerSwitch(padapter, false); } @@ -161,18 +161,18 @@ static void Efuse_ReadAllMap(struct adapter *padapter, u8 efuseType, u8 *Efuse) * 11/13/2008 MHC Create Version 0. * */ -void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuseType) +void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuse_type) { - struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - u16 mapLen = 0; + struct eeprom_priv *eeprom = GET_EEPROM_EFUSE_PRIV(padapter); + u16 map_len = 0; - Hal_GetEfuseDefinition(padapter, efuseType, TYPE_EFUSE_MAP_LEN, &mapLen); + Hal_GetEfuseDefinition(padapter, efuse_type, TYPE_EFUSE_MAP_LEN, &map_len); - if (pEEPROM->bautoload_fail_flag) - memset(pEEPROM->efuse_eeprom_data, 0xFF, mapLen); + if (eeprom->bautoload_fail_flag) + memset(eeprom->efuse_eeprom_data, 0xFF, map_len); else - Efuse_ReadAllMap(padapter, efuseType, pEEPROM->efuse_eeprom_data); + efuse_read_all_map(padapter, efuse_type, eeprom->efuse_eeprom_data); /* PlatformMoveMemory((void *)&pHalData->EfuseMap[EFUSE_MODIFY_MAP][0], */ - /* void *)&pHalData->EfuseMap[EFUSE_INIT_MAP][0], mapLen); */ + /* void *)&pHalData->EfuseMap[EFUSE_INIT_MAP][0], map_len); */ } /* rtw_efuse_shadow_map_update */ diff --git a/drivers/staging/rtl8723bs/include/rtw_efuse.h b/drivers/staging/rtl8723bs/include/rtw_efuse.h index a60e05cf699c..1e5d61f4587b 100644 --- a/drivers/staging/rtl8723bs/include/rtw_efuse.h +++ b/drivers/staging/rtl8723bs/include/rtw_efuse.h @@ -71,7 +71,7 @@ struct efuse_hal { u8 rtw_efuse_calculate_word_counts(u8 word_en); u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data); -u8 rtw_efuse_read_1_byte(struct adapter *padapter, u16 Address); -void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuseType); +u8 rtw_efuse_read_1_byte(struct adapter *padapter, u16 address); +void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuse_type); #endif From ee84a0bf829a20ee7762266f972b3a7eb22b4c6b Mon Sep 17 00:00:00 2001 From: Ivy Lopez Date: Tue, 1 Sep 2026 19:48:32 -0600 Subject: [PATCH 050/145] staging: rtl8723bs: define EEPROM_DEFAULT_DIFF as -2 directly EEPROM_DEFAULT_DIFF is defined as the bare integer literal 0xFE (254) but is only ever assigned into s8 (signed char) fields used to store signed TX power calibration offsets. The value -2 is the intended default offset; expressing it as -2 directly instead of 0xFE avoids relying on implicit truncation of an unsigned-looking hex literal into a signed field. No functional change. Signed-off-by: Ivy Lopez Link: https://patch.msgid.link/20260902014832.17625-1-skunkolee@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/hal_pg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/include/hal_pg.h b/drivers/staging/rtl8723bs/include/hal_pg.h index 32e66fe451b0..6f8c8307eaa7 100644 --- a/drivers/staging/rtl8723bs/include/hal_pg.h +++ b/drivers/staging/rtl8723bs/include/hal_pg.h @@ -38,7 +38,7 @@ #define EEPROM_RF_BOARD_OPTION_8723B 0xC1 #define EEPROM_RF_BT_SETTING_8723B 0xC3 -#define EEPROM_DEFAULT_DIFF 0XFE +#define EEPROM_DEFAULT_DIFF -2 /* RTL8723BS */ #define EEPROM_MAC_ADDR_8723BS 0x11A From 194ffecc0d6a0f25ac4e2cc612fbad01e09bb351 Mon Sep 17 00:00:00 2001 From: Ivy Lopez Date: Tue, 1 Sep 2026 19:53:14 -0600 Subject: [PATCH 051/145] staging: rtl8723bs: use kfree_sensitive() for key material in rtw_set_key() psetkeyparm holds WEP/TKIP/AES key material copied in via memcpy from psecuritypriv before being freed. Use kfree_sensitive() instead of kfree() so the key bytes are zeroed before the memory is released, consistent with how psetstakey_para is already handled elsewhere in this driver. Signed-off-by: Ivy Lopez Link: https://patch.msgid.link/20260902015314.21525-1-skunkolee@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index e30bf2fe38e8..13409becd264 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -1923,14 +1923,14 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp break; default: res = _FAIL; - kfree(psetkeyparm); + kfree_sensitive(psetkeyparm); goto exit; } if (enqueue) { pcmd = kzalloc_obj(*pcmd); if (!pcmd) { - kfree(psetkeyparm); + kfree_sensitive(psetkeyparm); res = _FAIL; /* try again */ goto exit; } @@ -1946,7 +1946,7 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp res = rtw_enqueue_cmd(pcmdpriv, pcmd); } else { setkey_hdl(adapter, (u8 *)psetkeyparm); - kfree(psetkeyparm); + kfree_sensitive(psetkeyparm); } exit: return res; From d03ddece7edef9eebe657a4780441532b5ec8e4b Mon Sep 17 00:00:00 2001 From: Hank Yang Date: Thu, 3 Sep 2026 01:39:01 +0800 Subject: [PATCH 052/145] staging: rtl8723bs: rename CamelCase variables in rtw_mlme.c Rename several CamelCase variables to snake_case to comply with kernel coding style, as flagged by checkpatch.pl: CHECK: Avoid CamelCase: CHECK: Avoid CamelCase: CHECK: Avoid CamelCase: CHECK: Avoid CamelCase: CHECK: Avoid CamelCase: Signed-off-by: Hank Yang Link: https://patch.msgid.link/20260902173901.50435-1-s950343@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 36 +++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 13409becd264..e22e33c364bb 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -1080,12 +1080,12 @@ static void rtw_joinbss_update_network(struct adapter *adapter, struct wlan_netw rtw_update_ht_cap(adapter, cur_network->network.ies, cur_network->network.ie_length, (u8) cur_network->network.configuration.ds_config); } -static struct rt_pmkid_list backupPMKIDList[NUM_PMKID_CACHE]; +static struct rt_pmkid_list backup_pmkid_list[NUM_PMKID_CACHE]; void rtw_reset_securitypriv(struct adapter *adapter) { - u8 backupPMKIDIndex = 0; - u8 backupTKIPCountermeasure = 0x00; - u32 backupTKIPcountermeasure_time = 0; + u8 backup_pmkid_index = 0; + u8 backup_tkip_countermeasure = 0x00; + u32 backup_tkip_countermeasure_time = 0; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; spin_lock_bh(&adapter->security_key_mutex); @@ -1098,10 +1098,10 @@ void rtw_reset_securitypriv(struct adapter *adapter) /* Backup the btkip_countermeasure information. */ /* When the countermeasure is trigger, the driver have to disconnect with AP for 60 seconds. */ - memcpy(&backupPMKIDList[0], &adapter->securitypriv.PMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE); - backupPMKIDIndex = adapter->securitypriv.PMKIDIndex; - backupTKIPCountermeasure = adapter->securitypriv.btkip_countermeasure; - backupTKIPcountermeasure_time = adapter->securitypriv.btkip_countermeasure_time; + memcpy(&backup_pmkid_list[0], &adapter->securitypriv.PMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE); + backup_pmkid_index = adapter->securitypriv.PMKIDIndex; + backup_tkip_countermeasure = adapter->securitypriv.btkip_countermeasure; + backup_tkip_countermeasure_time = adapter->securitypriv.btkip_countermeasure_time; /* reset RX BIP packet number */ pmlmeext->mgnt_80211w_IPN_rx = 0; @@ -1110,10 +1110,10 @@ void rtw_reset_securitypriv(struct adapter *adapter) /* Added by Albert 2009/02/18 */ /* Restore the PMK information to securitypriv structure for the following connection. */ - memcpy(&adapter->securitypriv.PMKIDList[0], &backupPMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE); - adapter->securitypriv.PMKIDIndex = backupPMKIDIndex; - adapter->securitypriv.btkip_countermeasure = backupTKIPCountermeasure; - adapter->securitypriv.btkip_countermeasure_time = backupTKIPcountermeasure_time; + memcpy(&adapter->securitypriv.PMKIDList[0], &backup_pmkid_list[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE); + adapter->securitypriv.PMKIDIndex = backup_pmkid_index; + adapter->securitypriv.btkip_countermeasure = backup_tkip_countermeasure; + adapter->securitypriv.btkip_countermeasure_time = backup_tkip_countermeasure_time; adapter->securitypriv.ndisauthtype = Ndis802_11AuthModeOpen; adapter->securitypriv.ndisencryptstatus = Ndis802_11WEPDisabled; @@ -2016,7 +2016,7 @@ static int SecIsInPMKIDList(struct adapter *Adapter, u8 *bssid) /* 13th element in the array is the IE length */ /* */ -static int rtw_append_pmkid(struct adapter *Adapter, int iEntry, u8 *ie, uint ie_len) +static int rtw_append_pmkid(struct adapter *Adapter, int pmkid_idx, u8 *ie, uint ie_len) { struct security_priv *psecuritypriv = &Adapter->securitypriv; @@ -2026,7 +2026,7 @@ static int rtw_append_pmkid(struct adapter *Adapter, int iEntry, u8 *ie, uint ie ie_len++; ie[ie_len] = 0; /* PMKID count = 0x0100 */ ie_len++; - memcpy(&ie[ie_len], &psecuritypriv->PMKIDList[iEntry].PMKID, 16); + memcpy(&ie[ie_len], &psecuritypriv->PMKIDList[pmkid_idx].PMKID, 16); ie_len += 16; ie[13] += 18;/* PMKID length = 2+16 */ } @@ -2070,7 +2070,7 @@ signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, u { u8 authmode = 0x0; uint ielength; - int iEntry; + int pmkid_idx; struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct security_priv *psecuritypriv = &adapter->securitypriv; @@ -2095,12 +2095,12 @@ signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, u rtw_report_sec_ie(adapter, authmode, psecuritypriv->supplicant_ie); } - iEntry = SecIsInPMKIDList(adapter, mlme_priv->assoc_bssid); - if (iEntry < 0) + pmkid_idx = SecIsInPMKIDList(adapter, mlme_priv->assoc_bssid); + if (pmkid_idx < 0) return ielength; if (authmode == WLAN_EID_RSN) - ielength = rtw_append_pmkid(adapter, iEntry, out_ie, ielength); + ielength = rtw_append_pmkid(adapter, pmkid_idx, out_ie, ielength); return ielength; } From 4bce2289cdffa8a0d1acc9f87325e9a98ac5e2fe Mon Sep 17 00:00:00 2001 From: Leonardo Martins Martins Date: Thu, 3 Sep 2026 02:18:07 -0300 Subject: [PATCH 053/145] staging: rtl8723bs: remove invariant parameters from issue_probereq_ex() The parameters ch, append_wps, try_cnt and wait_ms are 0 in all usages of issue_probereq_ex(), remove them. With try_cnt always being 0, the condition (i < try_cnt) is always false, so the do-while statement is redundant and the msleep() call is unreachable, (wait_ms > 0) is also always false, and without the do-while and msleep() the conditional break is also redundant, remove all this dead code. Signed-off-by: Leonardo Martins Martins Link: https://patch.msgid.link/20260903-issue_probereq-v1-1-82f153d157a1@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 33 +++++-------------- .../staging/rtl8723bs/include/rtw_mlme_ext.h | 2 +- 2 files changed, 10 insertions(+), 25 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index 0c00be09fbf3..4bdd2ae24d27 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -2499,25 +2499,11 @@ inline void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *ps _issue_probereq(padapter, pssid, da, 0, 1, false); } -int issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, u8 ch, bool append_wps, - int try_cnt, int wait_ms) +int issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da) { int ret; - int i = 0; - do { - ret = _issue_probereq(padapter, pssid, da, ch, append_wps, - wait_ms > 0); - - i++; - - if (padapter->driver_stopped || padapter->bSurpriseRemoved) - break; - - if (i < try_cnt && wait_ms > 0 && ret == _FAIL) - msleep(wait_ms); - - } while ((i < try_cnt) && ((ret == _FAIL) || (wait_ms == 0))); + ret = _issue_probereq(padapter, pssid, da, 0, 0, false); if (ret != _FAIL) { ret = _SUCCESS; @@ -3768,7 +3754,9 @@ void site_survey(struct adapter *padapter) if (padapter->registrypriv.wifi_spec) issue_probereq(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL); else - issue_probereq_ex(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL, 0, 0, 0, 0); + issue_probereq_ex(padapter, + &pmlmeext->sitesurvey_res.ssid[i], + NULL); issue_probereq(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL); } @@ -3778,7 +3766,7 @@ void site_survey(struct adapter *padapter) if (padapter->registrypriv.wifi_spec) issue_probereq(padapter, NULL, NULL); else - issue_probereq_ex(padapter, NULL, NULL, 0, 0, 0, 0); + issue_probereq_ex(padapter, NULL, NULL); issue_probereq(padapter, NULL, NULL); } } @@ -4899,16 +4887,13 @@ void linked_status_chk(struct adapter *padapter) if (pmlmeext->retry == 0) { issue_probereq_ex(padapter, &pmlmeinfo->network.ssid, - pmlmeinfo->network.mac_address, - 0, 0, 0, 0); + pmlmeinfo->network.mac_address); issue_probereq_ex(padapter, &pmlmeinfo->network.ssid, - pmlmeinfo->network.mac_address, - 0, 0, 0, 0); + pmlmeinfo->network.mac_address); issue_probereq_ex(padapter, &pmlmeinfo->network.ssid, - pmlmeinfo->network.mac_address, - 0, 0, 0, 0); + pmlmeinfo->network.mac_address); } } diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index 70fb161afd09..acea9cef7756 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -542,7 +542,7 @@ void issue_assocreq(struct adapter *padapter); void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_info *pstat, int pkt_type); void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short status); void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da); -s32 issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, u8 ch, bool append_wps, int try_cnt, int wait_ms); +s32 issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da); int issue_nulldata(struct adapter *padapter, unsigned char *da, unsigned int power_mode, int try_cnt, int wait_ms); s32 issue_nulldata_in_interrupt(struct adapter *padapter, u8 *da); int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int try_cnt, int wait_ms); From 01f505c93457b72e2b7698091b68eca9744d9851 Mon Sep 17 00:00:00 2001 From: Leonardo Martins Martins Date: Thu, 3 Sep 2026 02:18:08 -0300 Subject: [PATCH 054/145] staging: rtl8723bs: change issue_probereq return types to void The return values of issue_probereq_ex() and _issue_probereq() are never used anywhere, change their return types to void to reflect this. Signed-off-by: Leonardo Martins Martins Link: https://patch.msgid.link/20260903-issue_probereq-v1-2-82f153d157a1@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 31 +++++-------------- .../staging/rtl8723bs/include/rtw_mlme_ext.h | 2 +- 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index 4bdd2ae24d27..d3c87d25fab1 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -2401,11 +2401,10 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p dump_mgntframe(padapter, pmgntframe); } -static int _issue_probereq(struct adapter *padapter, - struct ndis_802_11_ssid *pssid, - u8 *da, u8 ch, bool append_wps, bool wait_ack) +static void _issue_probereq(struct adapter *padapter, + struct ndis_802_11_ssid *pssid, + u8 *da, u8 ch, bool append_wps, bool wait_ack) { - int ret = _FAIL; struct xmit_frame *pmgntframe; struct pkt_attrib *pattrib; unsigned char *pframe; @@ -2420,7 +2419,7 @@ static int _issue_probereq(struct adapter *padapter, pmgntframe = alloc_mgtxmitframe(pxmitpriv); if (!pmgntframe) - goto exit; + return; /* update attribute */ pattrib = &pmgntframe->attrib; @@ -2484,14 +2483,10 @@ static int _issue_probereq(struct adapter *padapter, pattrib->last_txcmdsz = pattrib->pktlen; if (wait_ack) { - ret = dump_mgntframe_and_wait_ack(padapter, pmgntframe); + dump_mgntframe_and_wait_ack(padapter, pmgntframe); } else { dump_mgntframe(padapter, pmgntframe); - ret = _SUCCESS; } - -exit: - return ret; } inline void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da) @@ -2499,21 +2494,9 @@ inline void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *ps _issue_probereq(padapter, pssid, da, 0, 1, false); } -int issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da) +void issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da) { - int ret; - - ret = _issue_probereq(padapter, pssid, da, 0, 0, false); - - if (ret != _FAIL) { - ret = _SUCCESS; - #ifndef DBG_XMIT_ACK - goto exit; - #endif - } - -exit: - return ret; + _issue_probereq(padapter, pssid, da, 0, 0, false); } /* if psta == NULL, indicate we are station(client) now... */ diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index acea9cef7756..8e35aabb0ccf 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -542,7 +542,7 @@ void issue_assocreq(struct adapter *padapter); void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_info *pstat, int pkt_type); void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short status); void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da); -s32 issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da); +void issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da); int issue_nulldata(struct adapter *padapter, unsigned char *da, unsigned int power_mode, int try_cnt, int wait_ms); s32 issue_nulldata_in_interrupt(struct adapter *padapter, u8 *da); int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int try_cnt, int wait_ms); From b5d8eb5d1f82d91cceb537a74780f619bc97ab62 Mon Sep 17 00:00:00 2001 From: Leonardo Martins Martins Date: Thu, 3 Sep 2026 02:18:09 -0300 Subject: [PATCH 055/145] staging: rtl8723bs: remove invariant parameters from _issue_probereq() The parameters ch and wait_ack in _issue_probereq() are always 0 and false respectively, remove them and remove unreachable code that depends on them not being these values. Signed-off-by: Leonardo Martins Martins Link: https://patch.msgid.link/20260903-issue_probereq-v1-3-82f153d157a1@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index d3c87d25fab1..b3642c5021a2 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -2401,9 +2401,8 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p dump_mgntframe(padapter, pmgntframe); } -static void _issue_probereq(struct adapter *padapter, - struct ndis_802_11_ssid *pssid, - u8 *da, u8 ch, bool append_wps, bool wait_ack) +static void _issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, + bool append_wps) { struct xmit_frame *pmgntframe; struct pkt_attrib *pattrib; @@ -2468,9 +2467,6 @@ static void _issue_probereq(struct adapter *padapter, pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, bssrate_len, bssrate, &(pattrib->pktlen)); } - if (ch) - pframe = rtw_set_ie(pframe, WLAN_EID_DS_PARAMS, 1, &ch, &pattrib->pktlen); - if (append_wps) { /* add wps_ie for wps2.0 */ if (pmlmepriv->wps_probe_req_ie_len > 0 && pmlmepriv->wps_probe_req_ie) { @@ -2482,21 +2478,17 @@ static void _issue_probereq(struct adapter *padapter, pattrib->last_txcmdsz = pattrib->pktlen; - if (wait_ack) { - dump_mgntframe_and_wait_ack(padapter, pmgntframe); - } else { - dump_mgntframe(padapter, pmgntframe); - } + dump_mgntframe(padapter, pmgntframe); } inline void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da) { - _issue_probereq(padapter, pssid, da, 0, 1, false); + _issue_probereq(padapter, pssid, da, 1); } void issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da) { - _issue_probereq(padapter, pssid, da, 0, 0, false); + _issue_probereq(padapter, pssid, da, 0); } /* if psta == NULL, indicate we are station(client) now... */ From b97531666f66fe8d1871b0e7faebaf1319700b61 Mon Sep 17 00:00:00 2001 From: Leonardo Martins Martins Date: Thu, 3 Sep 2026 02:18:10 -0300 Subject: [PATCH 056/145] staging: rtl8723bs: coalesce issue_probereq functions into a single one The function _issue_probereq() and its wrappers issue_probereq() and issue_probereq_ex() have a difference of a single parameter in how they're called, which is the value of append_wps - 0 for issue_probereq_ex() and 1 for issue_probereq() - meaning that these wrappers don't bring much value, remove both of them, rename _issue_probereq() to issue_probereq(), and replace the usages of the wrappers with the unified function (with the value of append_wps added, with true and false instead of 1 and 0 since it's a bool). issue_probereq() and issue_probereq_ex() are not used in any other file so the unified function was not added to the header file and kept the static type. Signed-off-by: Leonardo Martins Martins Link: https://patch.msgid.link/20260903-issue_probereq-v1-4-82f153d157a1@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 54 +++++++++---------- .../staging/rtl8723bs/include/rtw_mlme_ext.h | 2 - 2 files changed, 25 insertions(+), 31 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index b3642c5021a2..c39fb142302e 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -2401,8 +2401,8 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p dump_mgntframe(padapter, pmgntframe); } -static void _issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, - bool append_wps) +static void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, + bool append_wps) { struct xmit_frame *pmgntframe; struct pkt_attrib *pattrib; @@ -2481,16 +2481,6 @@ static void _issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *p dump_mgntframe(padapter, pmgntframe); } -inline void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da) -{ - _issue_probereq(padapter, pssid, da, 1); -} - -void issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da) -{ - _issue_probereq(padapter, pssid, da, 0); -} - /* if psta == NULL, indicate we are station(client) now... */ void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short status) { @@ -3727,22 +3717,25 @@ void site_survey(struct adapter *padapter) /* IOT issue, When wifi_spec is not set, send one probe req without WPS IE. */ if (padapter->registrypriv.wifi_spec) - issue_probereq(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL); + issue_probereq(padapter, + &pmlmeext->sitesurvey_res.ssid[i], + NULL, true); else - issue_probereq_ex(padapter, - &pmlmeext->sitesurvey_res.ssid[i], - NULL); + issue_probereq(padapter, + &pmlmeext->sitesurvey_res.ssid[i], + NULL, false); - issue_probereq(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL); + issue_probereq(padapter, &pmlmeext->sitesurvey_res.ssid[i], + NULL, true); } if (pmlmeext->sitesurvey_res.scan_mode == SCAN_ACTIVE) { /* IOT issue, When wifi_spec is not set, send one probe req without WPS IE. */ if (padapter->registrypriv.wifi_spec) - issue_probereq(padapter, NULL, NULL); + issue_probereq(padapter, NULL, NULL, true); else - issue_probereq_ex(padapter, NULL, NULL); - issue_probereq(padapter, NULL, NULL); + issue_probereq(padapter, NULL, NULL, false); + issue_probereq(padapter, NULL, NULL, true); } } } @@ -4860,15 +4853,18 @@ void linked_status_chk(struct adapter *padapter) { if (rx_chk != _SUCCESS) { if (pmlmeext->retry == 0) { - issue_probereq_ex(padapter, - &pmlmeinfo->network.ssid, - pmlmeinfo->network.mac_address); - issue_probereq_ex(padapter, - &pmlmeinfo->network.ssid, - pmlmeinfo->network.mac_address); - issue_probereq_ex(padapter, - &pmlmeinfo->network.ssid, - pmlmeinfo->network.mac_address); + issue_probereq(padapter, + &pmlmeinfo->network.ssid, + pmlmeinfo->network.mac_address, + false); + issue_probereq(padapter, + &pmlmeinfo->network.ssid, + pmlmeinfo->network.mac_address, + false); + issue_probereq(padapter, + &pmlmeinfo->network.ssid, + pmlmeinfo->network.mac_address, + false); } } diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index 8e35aabb0ccf..d486cd462509 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -541,8 +541,6 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p void issue_assocreq(struct adapter *padapter); void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_info *pstat, int pkt_type); void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short status); -void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da); -void issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da); int issue_nulldata(struct adapter *padapter, unsigned char *da, unsigned int power_mode, int try_cnt, int wait_ms); s32 issue_nulldata_in_interrupt(struct adapter *padapter, u8 *da); int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int try_cnt, int wait_ms); From 803428226cdecbb8bd56e35e5b68fa7200cfa50a Mon Sep 17 00:00:00 2001 From: Miguel Garcia Date: Thu, 3 Sep 2026 17:34:23 +0200 Subject: [PATCH 057/145] staging: rtl8723bs: remove unused phal variable Removing SdioTxFIFOFreePageLock also removed the only use of phal in rtl8723bs_init_xmit_priv(), leaving the variable set but unused. Remove the dead declaration and assignment. Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202608310749.mheatdIW-lkp@intel.com/ Signed-off-by: Miguel Garcia Link: https://patch.msgid.link/20260903153423.1814932-1-miguelgarciaroman8@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c index 7f55448d544e..0441e84ea87d 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c @@ -525,9 +525,6 @@ s32 rtl8723bs_hal_xmitframe_enqueue( s32 rtl8723bs_init_xmit_priv(struct adapter *padapter) { struct xmit_priv *xmitpriv = &padapter->xmitpriv; - struct hal_com_data *phal; - - phal = GET_HAL_DATA(padapter); init_completion(&xmitpriv->SdioXmitStart); init_completion(&xmitpriv->SdioXmitTerminate); From f1fec455c7dcb659fd4120086b2e53a533fc63b0 Mon Sep 17 00:00:00 2001 From: Adriano Cordova Date: Fri, 4 Sep 2026 08:36:22 -0400 Subject: [PATCH 058/145] staging: rtl8723bs: remove unused AMPDU burst mode AMPDUBurstMode is never written anywhere in the driver. HalData is vzalloc'd, so the field is always 0, and the sole read in _InitBurstPktLen_8723BS() is therefore always false. The only use of REG_AMPDU_BURST_MODE_8723B is the guarded rtw_write8() that this branch protects, so that register write never executes. Remove the field, its enum and the dead branch. Signed-off-by: Adriano Cordova Link: https://patch.msgid.link/20260904123623.175042-1-adrianox@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c | 2 -- drivers/staging/rtl8723bs/include/hal_data.h | 13 ------------- 2 files changed, 15 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c index 6a4a13544ca1..1389e5598d3e 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c @@ -868,8 +868,6 @@ void _InitBurstPktLen_8723BS(struct adapter *Adapter) rtw_write8(Adapter, REG_MAX_AGGR_NUM_8723B, 0x1F); rtw_write8(Adapter, REG_PIFS_8723B, 0x00); rtw_write8(Adapter, REG_FWHW_TXQ_CTRL_8723B, rtw_read8(Adapter, REG_FWHW_TXQ_CTRL)&(~BIT(7))); - if (pHalData->AMPDUBurstMode) - rtw_write8(Adapter, REG_AMPDU_BURST_MODE_8723B, 0x5F); rtw_write8(Adapter, REG_AMPDU_MAX_TIME_8723B, 0x70); /* ARFB table 9 for 11ac 5G 2SS */ diff --git a/drivers/staging/rtl8723bs/include/hal_data.h b/drivers/staging/rtl8723bs/include/hal_data.h index 57a18da67fc9..614fd885451b 100644 --- a/drivers/staging/rtl8723bs/include/hal_data.h +++ b/drivers/staging/rtl8723bs/include/hal_data.h @@ -12,17 +12,6 @@ #include -enum rt_ampdu_burst { - RT_AMPDU_BURST_NONE = 0, - RT_AMPDU_BURST_92D = 1, - RT_AMPDU_BURST_88E = 2, - RT_AMPDU_BURST_8812_4 = 3, - RT_AMPDU_BURST_8812_8 = 4, - RT_AMPDU_BURST_8812_12 = 5, - RT_AMPDU_BURST_8812_15 = 6, - RT_AMPDU_BURST_8723B = 7, -}; - #define CHANNEL_MAX_NUMBER (14) /* 14 is the max channel number */ #define CHANNEL_MAX_NUMBER_2G 14 #define MAX_PG_GROUP 13 @@ -240,8 +229,6 @@ struct hal_com_data { /* Auto FSM to Turn On, include clock, isolation, power control for MAC only */ u8 bMacPwrCtrlOn; - enum rt_ampdu_burst AMPDUBurstMode; /* 92C maybe not use, but for compile successfully */ - u32 sdio_himr; u32 sdio_hisr; From 061bc7316a7857cecbbc61814549d158e72e913b Mon Sep 17 00:00:00 2001 From: Adriano Cordova Date: Fri, 4 Sep 2026 08:36:23 -0400 Subject: [PATCH 059/145] staging: rtl8723bs: remove unused field in false alarm statistics Cnt_Ofdm_fail_pre is never used, so remove it. Signed-off-by: Adriano Cordova Link: https://patch.msgid.link/20260904123623.175042-2-adrianox@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/odm_DIG.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/hal/odm_DIG.h b/drivers/staging/rtl8723bs/hal/odm_DIG.h index 5517ef79bdf5..1482290b263f 100644 --- a/drivers/staging/rtl8723bs/hal/odm_DIG.h +++ b/drivers/staging/rtl8723bs/hal/odm_DIG.h @@ -65,7 +65,6 @@ struct false_ALARM_STATISTICS { u32 Cnt_Crc8_fail; u32 Cnt_Mcs_fail; u32 Cnt_Ofdm_fail; - u32 Cnt_Ofdm_fail_pre; /* For RTL8881A */ u32 Cnt_Cck_fail; u32 Cnt_all; u32 Cnt_Fast_Fsync; From b114505f068559d8316d8cefb34e1f8776909207 Mon Sep 17 00:00:00 2001 From: JunHyeok Seo Date: Sat, 5 Sep 2026 16:20:33 +0900 Subject: [PATCH 060/145] staging: rtl8723bs: align AES function parameters with open parenthesis Align the continuation lines of the aes_cipher() parameter lists with their opening parenthesis, and replace the stray tab between the uint type and the hdrlen argument with a single space. This addresses the "Alignment should match open parenthesis" check reported by checkpatch.pl --strict. No functional change. Signed-off-by: JunHyeok Seo Link: https://patch.msgid.link/20260905072033.54813-1-starlights2283@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_security.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 2217cffac5f2..3de102a27517 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -765,8 +765,8 @@ static void construct_ctr_preload(u8 *ctr_preload, ctr_preload[15] = (unsigned char)(c % 256); } -static signed int aes_cipher(u8 *key, uint hdrlen, - u8 *pframe, uint plen) +static signed int aes_cipher(u8 *key, uint hdrlen, + u8 *pframe, uint plen) { uint qc_exists, a4_exists, i, j, payload_remainder, num_blocks, payload_index; From d71e07075f750adda8d886d78d900a3e9adeeddb Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Sat, 5 Sep 2026 22:46:01 -0700 Subject: [PATCH 061/145] staging: rtl8723bs: remove commented-out code in HalPhyRf_8723B.c Remove all commented-out code in this file. Remove adjacent comment where applicable. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260906054601.6602-1-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/hal/HalPhyRf_8723B.c | 75 ------------------- 1 file changed, 75 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c index 6c5f56d5a1f4..ae01560dc8dd 100644 --- a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c +++ b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c @@ -359,9 +359,6 @@ static u8 phy_PathA_IQK_8723B( PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0003f); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xc7f87); - /* disable path B PA in TXIQK mode */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, bRFRegOffsetMask, 0x00020); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x40ec1); */ /* 1 Tx IQK */ /* IQK setting */ @@ -372,7 +369,6 @@ static u8 phy_PathA_IQK_8723B( PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); -/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x8214010a); */ PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x821303ea); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); @@ -400,7 +396,6 @@ static u8 phy_PathA_IQK_8723B( PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_8723B*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -458,7 +453,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); /* LNA2 off, PA on for Dcut */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7fb7); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */ PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000); /* IQK setting */ @@ -471,7 +465,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); -/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82160c1f); */ PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82130ff0); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); @@ -499,7 +492,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_8723B*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -542,7 +534,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); /* LAN2 on, PA off for Dcut */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7d77); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */ /* PA, PAD setting */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0xf80); @@ -558,7 +549,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82110000); -/* PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x281604c2); */ PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x2813001f); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); @@ -585,7 +575,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_8723B*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -637,11 +626,6 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter) /* leave IQK mode */ PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); - /* in TXIQK mode */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x20000); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0003f); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xc7f87); */ /* enable path B PA in TXIQK mode */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30fc1); @@ -656,7 +640,6 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter) PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); -/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82140114); */ PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x821303ea); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); @@ -670,7 +653,6 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter) /* switch to path B */ PHY_SetBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch, bMaskDWord, 0x00000280); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */ /* GNT_BT = 0 */ PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); @@ -680,7 +662,6 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter) PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_88E*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -748,7 +729,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); -/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82160c1f); */ PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82130ff0); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); @@ -762,7 +742,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) /* switch to path B */ PHY_SetBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch, bMaskDWord, 0x00000280); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */ /* GNT_BT = 0 */ PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); @@ -772,7 +751,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_88E*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -815,16 +793,11 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7d77); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */ /* open PA S1 & close SMIXER */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30ebd); - /* PA, PAD setting */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0xf80); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x56, bRFRegOffsetMask, 0x51000); */ - /* IQK setting */ PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800); @@ -835,7 +808,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82110000); -/* PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x281604c2); */ PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x2813001f); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); @@ -848,7 +820,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) /* switch to path B */ PHY_SetBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch, bMaskDWord, 0x00000280); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */ /* GNT_BT = 0 */ PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); @@ -858,7 +829,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_88E*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -873,11 +843,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord); regEA4 = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord); - /* PA/PAD controlled by 0x0 */ - /* leave IQK mode */ -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, 0xffffff00, 0x00000000); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, 0xdf, bRFRegOffsetMask, 0x180); */ - /* Allen 20131125 */ tmp = (regEAC & 0x03FF0000)>>16; if ((tmp & 0x200) > 0) @@ -948,7 +913,6 @@ static void _PHY_PathAFillIQKMatrix8723B( pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta; pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][VAL] = 0xfffffff & PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord); pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][KEY] = rOFDM0_XARxIQImbalance; -/* pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, bMaskDWord); */ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] = 0x40000100; return; } @@ -1008,8 +972,6 @@ static void _PHY_PathBFillIQKMatrix8723B( /* 2 Tx IQC */ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, 0xF0000000, ((TX1_C&0x3C0)>>6)); -/* pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC9C][KEY] = rOFDM0_XDTxAFE; */ -/* pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC9C][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskDWord); */ pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][KEY] = rOFDM0_XCTxAFE; pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskDWord); @@ -1023,7 +985,6 @@ static void _PHY_PathBFillIQKMatrix8723B( if (bTxOnly) { pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][KEY] = rOFDM0_XARxIQImbalance; -/* pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, bMaskDWord); */ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = 0x40000100; pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta; pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] = 0x0fffffff & PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord); @@ -1039,7 +1000,6 @@ static void _PHY_PathBFillIQKMatrix8723B( pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance, bMaskDWord); reg = (result[final_candidate][7] >> 6) & 0xF; -/* PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_AGCRSSITable, 0x0000F000, reg); */ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta; pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] = (reg << 28)|(PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord)&0x0fffffff); } @@ -1324,8 +1284,6 @@ static void phy_IQCalibrate_8723B( /* Note: IQ calibration must be performed after loading */ /* PHY_REG.txt , and radio_a, radio_b.txt */ - /* u32 bbvalue; */ - if (t == 0) { /* Save ADDA parameters, turn Path A ADDA on */ @@ -1338,25 +1296,15 @@ static void phy_IQCalibrate_8723B( /* no serial mode */ - /* save RF path for 8723B */ -/* Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); */ -/* Path_SEL_RF = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff); */ - /* MAC settings */ _PHY_MACSettingCalibration8723B(padapter, IQK_MAC_REG, pDM_Odm->RFCalibrateInfo.IQK_MAC_backup); /* BB setting */ - /* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_RFMOD, BIT24, 0x00); */ PHY_SetBBReg(pDM_Odm->Adapter, rCCK0_AFESetting, 0x0f000000, 0xf); PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_TRxPathEnable, bMaskDWord, 0x03a05600); PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_TRMuxPar, bMaskDWord, 0x000800e4); PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XCD_RFInterfaceSW, bMaskDWord, 0x22204000); -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 0x01); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 0x01); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XA_RFInterfaceOE, BIT10, 0x00); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0x00); */ - /* RX IQ calibration setting for 8723B D cut large current issue when leaving IPS */ PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); @@ -1388,8 +1336,6 @@ static void phy_IQCalibrate_8723B( for (i = 0 ; i < retryCount ; i++) { PathAOK = phy_PathA_RxIQK8723B(padapter, is2T, RF_Path); if (PathAOK == 0x03) { -/* result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>16; */ -/* result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; */ result[t][2] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord)&0x3FF0000)>>16; result[t][3] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord)&0x3FF0000)>>16; break; @@ -1417,8 +1363,6 @@ static void phy_IQCalibrate_8723B( for (i = 0 ; i < retryCount ; i++) { PathBOK = phy_PathB_RxIQK8723B(padapter, is2T); if (PathBOK == 0x03) { -/* result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>16; */ -/* result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; */ result[t][6] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord)&0x3FF0000)>>16; result[t][7] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord)&0x3FF0000)>>16; break; @@ -1440,10 +1384,6 @@ static void phy_IQCalibrate_8723B( _PHY_ReloadADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM); - /* Reload RF path */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff, Path_SEL_RF); */ - /* Allen initial gain 0xc50 */ /* Restore RX initial gain */ PHY_SetBBReg(pDM_Odm->Adapter, 0xc50, bMaskByte0, 0x50); @@ -1553,7 +1493,6 @@ void PHY_IQCalibrate_8723B( rOFDM0_XDTxAFE, rOFDM0_RxIQExtAnta }; -/* u32 Path_SEL_BB = 0; */ u32 GNT_BT_default; if (!ODM_CheckPowerStatus(padapter)) @@ -1618,13 +1557,6 @@ void PHY_IQCalibrate_8723B( /* save default GNT_BT */ GNT_BT_default = PHY_QueryBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord); - /* Save RF Path */ -/* Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); */ -/* Path_SEL_RF = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff); */ - - /* set GNT_BT = 0, pause BT traffic */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT12, 0x0); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT11, 0x1); */ for (i = 0; i < 8; i++) { result[0][i] = 0; @@ -1716,9 +1648,6 @@ void PHY_IQCalibrate_8723B( /* restore GNT_BT */ PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, GNT_BT_default); - /* Restore RF Path */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff, Path_SEL_RF); */ /* Resotr RX mode table parameter */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); @@ -1728,10 +1657,6 @@ void PHY_IQCalibrate_8723B( PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x300bd); - /* set GNT_BT = HW control */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT12, 0x0); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT11, 0x0); */ - if (Is2ant) { if (RF_Path == 0x0) /* S1 */ ODM_SetIQCbyRFpath(pDM_Odm, 0); From c79b8b6033f4ea35deefafb383a958b3ed0ed08d Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Sat, 5 Sep 2026 22:58:14 -0700 Subject: [PATCH 062/145] staging: rtl8723bs: remove commented-out code in HalPhyRf.c Remove this commented out else block. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260906055814.6988-1-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/HalPhyRf.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf.c b/drivers/staging/rtl8723bs/hal/HalPhyRf.c index 449db21e8a0b..16a47197037e 100644 --- a/drivers/staging/rtl8723bs/hal/HalPhyRf.c +++ b/drivers/staging/rtl8723bs/hal/HalPhyRf.c @@ -225,8 +225,6 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter) } if (pDM_Odm->RFCalibrateInfo.CCK_index > c.SwingTableSize_CCK - 1) pDM_Odm->RFCalibrateInfo.CCK_index = c.SwingTableSize_CCK - 1; - /* else if (pDM_Odm->RFCalibrateInfo.CCK_index < 0) */ - /* pDM_Odm->RFCalibrateInfo.CCK_index = 0; */ } else { for (p = RF_PATH_A; p < c.RfPathCount; p++) pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = 0; From 8444548bd905f22093729065408284a6b46f7eee Mon Sep 17 00:00:00 2001 From: Gabriel Windlin Date: Mon, 7 Sep 2026 01:10:29 +0200 Subject: [PATCH 063/145] staging: rtl8723bs: remove unused SSIZE_PTR definition The SSIZE_PTR macro is defined as __kernel_ssize_t in basic_types.h but is never referenced anywhere in this driver or the rest of the kernel tree. Remove this unused definition to clean up dead code as noted in the driver's TODO file. Signed-off-by: Gabriel Windlin Link: https://patch.msgid.link/20260906231037.915883-1-gawindlin@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/basic_types.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h index a9924a6fa0e9..aaa1e60f4295 100644 --- a/drivers/staging/rtl8723bs/include/basic_types.h +++ b/drivers/staging/rtl8723bs/include/basic_types.h @@ -14,7 +14,6 @@ #include #define SIZE_PTR __kernel_size_t -#define SSIZE_PTR __kernel_ssize_t /* port from fw by thomas */ /* TODO: Belows are Sync from SD7-Driver. It is necessary to check correctness */ From b7c885194b81a0376d1fdb457eac40d21d6fb65f Mon Sep 17 00:00:00 2001 From: Lucas Costa <2000.costalucas@gmail.com> Date: Tue, 22 Sep 2026 11:28:51 -0300 Subject: [PATCH 064/145] staging: sm750fb: free cmap on framebuffer release The cmap is allocated by lynxfb_set_fbinfo() but never freed, so it is leaked when the framebuffer is torn down. This happens on every unbind, and on the register_framebuffer() error path in sm750fb_framebuffer_alloc(). Add a lynxfb_unset_fbinfo() cleanup counterpart to lynxfb_set_fbinfo() which deallocates the cmap, and call it on teardown. In the alloc error path it is only called once lynxfb_set_fbinfo() has succeeded, so the cmap is only freed when it was actually allocated. Fixes: 81dee67e215b ("staging: sm750fb: add sm750 to staging") Suggested-by: Dan Carpenter Signed-off-by: Lucas Costa <2000.costalucas@gmail.com> Link: https://patch.msgid.link/20260922142851.46724-1-2000.costalucas@gmail.com Reviewed-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman --- drivers/staging/sm750fb/sm750.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 1ea3dd8b8f28..21e310274330 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -825,6 +825,11 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index) return ret; } +static void lynxfb_unset_fbinfo(struct fb_info *info) +{ + fb_dealloc_cmap(&info->cmap); +} + /* chip specific g_option configuration routine */ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src) { @@ -910,6 +915,7 @@ static void sm750fb_framebuffer_release(struct sm750_dev *sm750_dev) while (sm750_dev->fb_count) { fb_info = sm750_dev->fbinfo[sm750_dev->fb_count - 1]; unregister_framebuffer(fb_info); + lynxfb_unset_fbinfo(fb_info); framebuffer_release(fb_info); sm750_dev->fb_count--; } @@ -936,12 +942,14 @@ static int sm750fb_framebuffer_alloc(struct sm750_dev *sm750_dev, int fbidx) err = register_framebuffer(fb_info); if (err < 0) - goto release_fb; + goto unset_fb; sm750_dev->fb_count++; return 0; +unset_fb: + lynxfb_unset_fbinfo(fb_info); release_fb: framebuffer_release(fb_info); return err; From 969abbcac034e5764ddce4d542c3d17d8c8f5764 Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Mon, 7 Sep 2026 10:43:09 -0700 Subject: [PATCH 065/145] staging: rtl8723bs: remove commented-out code in hal/ header file Remove commented out code in HalBtcOutSrc.h Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260907174310.5924-2-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman Link: https://patch.msgid.link/20260907174310.5924-2-guojy.bj@gmail.com --- drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h index 36b0f429dd4c..0583a7aaa974 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h +++ b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h @@ -81,7 +81,6 @@ struct btc_board_info { u8 btdmAntNum; /* ant number for btdm */ u8 btdmAntPos; /* Bryant Add to indicate Antenna Position for (pgAntNum = 2) && (btdmAntNum = 1) (DPDT+1Ant case) */ u8 singleAntPath; /* current used for 8723b only, 1 =>s0, 0 =>s1 */ - /* bool bBtExist; */ }; enum { From 79e730c92c16252278ed181cf9d343f53ecdc128 Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Mon, 7 Sep 2026 10:43:10 -0700 Subject: [PATCH 066/145] staging: rtl8723bs: remove commented-out code in include/ files Remove all commented-out code in the include/ header files. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260907174310.5924-3-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman Link: https://patch.msgid.link/20260907174310.5924-3-guojy.bj@gmail.com --- drivers/staging/rtl8723bs/include/drv_types.h | 1 - drivers/staging/rtl8723bs/include/hal_data.h | 6 ----- drivers/staging/rtl8723bs/include/ieee80211.h | 10 ------- .../staging/rtl8723bs/include/rtl8723b_cmd.h | 1 - drivers/staging/rtl8723bs/include/rtw_ap.h | 1 - drivers/staging/rtl8723bs/include/rtw_cmd.h | 1 - drivers/staging/rtl8723bs/include/rtw_ht.h | 2 -- drivers/staging/rtl8723bs/include/rtw_mlme.h | 11 -------- .../staging/rtl8723bs/include/rtw_mlme_ext.h | 6 ----- .../staging/rtl8723bs/include/rtw_pwrctrl.h | 1 - drivers/staging/rtl8723bs/include/rtw_recv.h | 14 ---------- .../staging/rtl8723bs/include/rtw_security.h | 1 - drivers/staging/rtl8723bs/include/rtw_xmit.h | 26 ------------------- drivers/staging/rtl8723bs/include/sdio_ops.h | 2 -- drivers/staging/rtl8723bs/include/sta_info.h | 1 - 15 files changed, 84 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h index 20265770ed77..bd8a03b04e4c 100644 --- a/drivers/staging/rtl8723bs/include/drv_types.h +++ b/drivers/staging/rtl8723bs/include/drv_types.h @@ -277,7 +277,6 @@ struct adapter { struct mlme_ext_priv mlmeextpriv; struct cmd_priv cmdpriv; struct evt_priv evtpriv; - /* struct io_queue *pio_queue; */ struct io_priv iopriv; struct xmit_priv xmitpriv; struct recv_priv recvpriv; diff --git a/drivers/staging/rtl8723bs/include/hal_data.h b/drivers/staging/rtl8723bs/include/hal_data.h index 614fd885451b..7e41a379dd57 100644 --- a/drivers/staging/rtl8723bs/include/hal_data.h +++ b/drivers/staging/rtl8723bs/include/hal_data.h @@ -47,7 +47,6 @@ struct dm_priv { u8 DMFlag; u8 InitDMFlag; - /* u8 RSVD_1; */ u32 InitODMFlag; /* Upper and Lower Signal threshold for Rate Adaptive */ @@ -79,7 +78,6 @@ struct dm_priv { u8 ThermalValue_IQK; u8 ThermalValue_DPK; u8 bRfPiEnable; - /* u8 RSVD_2; */ /* for APK */ u32 APKoutput[2][2]; /* path A/B; output1_1a/output1_2a */ @@ -88,9 +86,6 @@ struct dm_priv { u8 bDPdone; u8 bDPPathAOK; u8 bDPPathBOK; - /* u8 RSVD_3; */ - /* u8 RSVD_4; */ - /* u8 RSVD_5; */ /* for IQK */ u32 ADDA_backup[IQK_ADDA_REG_NUM]; @@ -109,7 +104,6 @@ struct dm_priv { u8 OFDM_index_HP[2]; u8 ThermalValue_HP[HP_THERMAL_NUM]; u8 ThermalValue_HP_index; - /* u8 RSVD_6; */ /* for TxPwrTracking2 */ s32 RegE94; diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h index 9f421e4875b7..9767013887af 100644 --- a/drivers/staging/rtl8723bs/include/ieee80211.h +++ b/drivers/staging/rtl8723bs/include/ieee80211.h @@ -22,7 +22,6 @@ enum { RTL871X_HOSTAPD_ADD_STA = 2, RTL871X_HOSTAPD_REMOVE_STA = 3, RTL871X_HOSTAPD_GET_INFO_STA = 4, - /* REMOVED: PRISM2_HOSTAPD_RESET_TXEXC_STA = 5, */ RTL871X_HOSTAPD_GET_WPAIE_STA = 5, RTL871X_SET_ENCRYPTION = 6, RTL871X_GET_ENCRYPTION = 7, @@ -610,17 +609,8 @@ enum rtw_ieee80211_channel_flags { /* Represent channel details, subset of ieee80211_channel */ struct rtw_ieee80211_channel { - /* enum nl80211_band band; */ - /* u16 center_freq; */ u16 hw_value; u32 flags; - /* int max_antenna_gain; */ - /* int max_power; */ - /* int max_reg_power; */ - /* bool beacon_found; */ - /* u32 orig_flags; */ - /* int orig_mag; */ - /* int orig_mpwr; */ }; /* Parsed Information Elements */ diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h index 6b2d79e19088..d59c538748f2 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h @@ -168,7 +168,6 @@ void rtl8723b_set_FwJoinBssRpt_cmd(struct adapter *padapter, u8 mstatus); void rtl8723b_set_rssi_cmd(struct adapter *padapter, u8 *param); void rtl8723b_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 *arg, u8 rssi_level); void rtl8723b_fw_try_ap_cmd(struct adapter *padapter, u32 need_ack); -/* s32 rtl8723b_set_lowpwr_lps_cmd(struct adapter *padapter, u8 enable); */ void rtl8723b_set_FwPsTuneParam_cmd(struct adapter *padapter); void rtl8723b_set_FwMacIdConfig_cmd(struct adapter *padapter, u8 mac_id, u8 raid, u8 bw, u8 sgi, u32 mask); void rtl8723b_set_FwMediaStatusRpt_cmd(struct adapter *padapter, u8 mstatus, u8 macid); diff --git a/drivers/staging/rtl8723bs/include/rtw_ap.h b/drivers/staging/rtl8723bs/include/rtw_ap.h index 866aa8386931..07f092fd54d9 100644 --- a/drivers/staging/rtl8723bs/include/rtw_ap.h +++ b/drivers/staging/rtl8723bs/include/rtw_ap.h @@ -9,7 +9,6 @@ void init_mlme_ap_info(struct adapter *padapter); void free_mlme_ap_info(struct adapter *padapter); -/* void update_BCNTIM(struct adapter *padapter); */ void update_beacon(struct adapter *padapter, u8 ie_id, u8 tx); void add_ratid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level); void expire_timeout_chk(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/rtw_cmd.h b/drivers/staging/rtl8723bs/include/rtw_cmd.h index 58a5ec39ce76..3b4cb95225f8 100644 --- a/drivers/staging/rtl8723bs/include/rtw_cmd.h +++ b/drivers/staging/rtl8723bs/include/rtw_cmd.h @@ -49,7 +49,6 @@ u32 cmd_done_cnt; u32 rsp_cnt; atomic_t cmdthd_running; - /* u8 cmdthd_running; */ u8 stop_req; struct adapter *padapter; struct mutex sctx_mutex; diff --git a/drivers/staging/rtl8723bs/include/rtw_ht.h b/drivers/staging/rtl8723bs/include/rtw_ht.h index da3efba7112a..e1c35fb450d0 100644 --- a/drivers/staging/rtl8723bs/include/rtw_ht.h +++ b/drivers/staging/rtl8723bs/include/rtw_ht.h @@ -14,7 +14,6 @@ struct ht_priv { u8 tx_amsdu_enable;/* for enable Tx A-MSDU */ u8 bss_coexist;/* for 20/40 Bss coexist */ - /* u8 baddbareq_issued[16]; */ u32 tx_amsdu_maxlen; /* 1: 8k, 0:4k ; default:8k, for tx */ u32 rx_ampdu_maxlen; /* for rx reordering ctrl win_sz, updated when join_callback. */ @@ -26,7 +25,6 @@ struct ht_priv { /* for processing Tx A-MPDU */ u8 agg_enable_bitmap; - /* u8 ADDBA_retry_count; */ u8 candidate_tid_bitmap; u8 ldpc_cap; diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme.h b/drivers/staging/rtl8723bs/include/rtw_mlme.h index 7709d5fd77a3..4962eedc7410 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme.h @@ -164,10 +164,6 @@ struct mlme_priv { /* Number of non-HT AP/stations */ int num_sta_no_ht; - /* Number of HT AP/stations 20 MHz */ - /* int num_sta_ht_20mhz; */ - - int num_FortyMHzIntolerant; struct ht_priv htpriv; @@ -198,9 +194,6 @@ struct mlme_priv { /* Number of HT associated stations that do not support greenfield */ int num_sta_ht_no_gf; - /* Number of associated non-HT stations */ - /* int num_sta_no_ht; */ - /* Number of HT associated stations 20 MHz */ int num_sta_ht_20mhz; @@ -215,12 +208,10 @@ struct mlme_priv { u32 assoc_rsp_len; u8 *wps_beacon_ie; - /* u8 *wps_probe_req_ie; */ u8 *wps_probe_resp_ie; u8 *wps_assoc_resp_ie; /* this IE could include p2p ie / wfd ie */ u32 wps_beacon_ie_len; - /* u32 wps_probe_req_ie_len; */ u32 wps_probe_resp_ie_len; u32 wps_assoc_resp_ie_len; /* this IE len could include p2p ie / wfd ie */ @@ -350,8 +341,6 @@ void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv); void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv); -/* extern struct wlan_network* _rtw_dequeue_network(struct __queue *queue); */ - struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv); diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index d486cd462509..b7d38fbf33cf 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -369,7 +369,6 @@ struct mlme_ext_priv { u16 sa_query_seq; u64 mgnt_80211w_IPN; u64 mgnt_80211w_IPN_rx; - /* struct fw_priv fwpriv; */ unsigned char cur_channel; unsigned char cur_bwmode; @@ -389,7 +388,6 @@ struct mlme_ext_priv { struct timer_list survey_timer; struct timer_list link_timer; struct timer_list sa_query_timer; - /* struct timer_list ADDBA_timer; */ u16 chan_scan_time; unsigned long last_scan_time; u8 scan_abort; @@ -424,8 +422,6 @@ void init_hw_mlme_ext(struct adapter *padapter); void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext); struct xmit_frame *alloc_mgtxmitframe(struct xmit_priv *pxmitpriv); -/* void fill_fwpriv(struct adapter *padapter, struct fw_priv *pfwpriv); */ - u8 networktype_to_raid_ex(struct adapter *adapter, struct sta_info *psta); void get_rate_set(struct adapter *padapter, unsigned char *pbssrate, int *bssrate_len); @@ -587,8 +583,6 @@ void survey_timer_hdl(struct timer_list *t); void link_timer_hdl(struct timer_list *t); void addba_timer_hdl(struct timer_list *t); void sa_query_timer_hdl(struct timer_list *t); -/* void reauth_timer_hdl(struct adapter *padapter); */ -/* void reassoc_timer_hdl(struct adapter *padapter); */ #define set_survey_timer(mlmeext, ms) \ do { \ diff --git a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h index 49f19b6ee329..c308fcedd632 100644 --- a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h +++ b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h @@ -192,7 +192,6 @@ struct pwrctrl_priv { int ps_flag; /* used by autosuspend */ enum rt_rf_power_state rf_pwrstate;/* cur power state, only for IPS */ - /* rt_rf_power_state current_rfpwrstate; */ enum rt_rf_power_state change_rfpwrstate; u8 bHWPowerdown; /* power down mode selection. 0:radio off, 1:power down */ diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h index 5c197bd6915f..34a19673e913 100644 --- a/drivers/staging/rtl8723bs/include/rtw_recv.h +++ b/drivers/staging/rtl8723bs/include/rtw_recv.h @@ -206,15 +206,10 @@ struct recv_priv { u8 signal_strength; u8 signal_qual; s8 rssi; /* translate_percentage_to_dbm(ptarget_wlan->network.PhyInfo.SignalStrength); */ - /* s8 rxpwdb; */ s16 noise; - /* int RxSNRdB[2]; */ - /* s8 RxRssi[2]; */ - /* int FalseAlmCnt_all; */ struct timer_list signal_stat_timer; u32 signal_stat_sampling_interval; - /* u32 signal_stat_converging_constant; */ struct signal_stat signal_qual_data; struct signal_stat signal_strength_data; }; @@ -226,15 +221,9 @@ struct sta_recv_priv { spinlock_t lock; signed int option; - /* struct __queue blk_strms[MAX_RX_NUMBLKS]; */ struct __queue defrag_q; /* keeping the fragment frame until defrag */ struct stainfo_rxcache rxcache; - - /* uint sta_rx_bytes; */ - /* uint sta_rx_pkts; */ - /* uint sta_rx_fail; */ - }; struct recv_buf { @@ -310,9 +299,6 @@ union recv_frame { struct recv_frame_hdr hdr; uint mem[RECVFRAME_HDR_ALIGN>>2]; } u; - - /* uint mem[MAX_RXSZ>>2]; */ - }; enum { diff --git a/drivers/staging/rtl8723bs/include/rtw_security.h b/drivers/staging/rtl8723bs/include/rtw_security.h index a3bbc605e2ba..791528aa9b3e 100644 --- a/drivers/staging/rtl8723bs/include/rtw_security.h +++ b/drivers/staging/rtl8723bs/include/rtw_security.h @@ -129,7 +129,6 @@ struct security_priv { u8 binstallGrpkey; u8 binstallBIPkey; u8 busetkipkey; - /* _timer tkip_timer; */ u8 bcheck_grpkey; u8 bgrpkey_handshake; diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h index 873807fcd0dd..866e9d5f4aa6 100644 --- a/drivers/staging/rtl8723bs/include/rtw_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h @@ -106,11 +106,7 @@ union txdesc { }; struct hw_xmit { - /* spinlock_t xmit_lock; */ - /* struct list_head pending; */ struct __queue *sta_queue; - /* struct hw_txqueue *phwtxqueue; */ - /* signed int txcmdcnt; */ int accnt; }; @@ -166,7 +162,6 @@ struct pkt_attrib { u8 rtsen; u8 cts2self; union Keytype dot11tkiptxmickey; - /* union Keytype dot11tkiprxmickey; */ union Keytype dot118021x_UncstKey; u8 icmp_pkt; @@ -281,7 +276,6 @@ struct sta_xmit_priv { signed int apsd_setting; /* When bit mask is on, the associated edca queue supports APSD. */ - /* struct tx_servq blk_q[MAX_NUMBLKS]; */ struct tx_servq be_q; /* priority == 0, 3 */ struct tx_servq bk_q; /* priority == 1, 2 */ struct tx_servq vi_q; /* priority == 4, 5 */ @@ -290,12 +284,6 @@ struct sta_xmit_priv { struct list_head apsd; u16 txseq_tid[16]; - - /* uint sta_tx_bytes; */ - /* u64 sta_tx_pkts; */ - /* uint sta_tx_fail; */ - - }; @@ -323,35 +311,22 @@ struct xmit_priv { struct completion xmit_comp; struct completion terminate_xmitthread_comp; - /* struct __queue blk_strms[MAX_NUMBLKS]; */ struct __queue be_pending; struct __queue bk_pending; struct __queue vi_pending; struct __queue vo_pending; struct __queue bm_pending; - /* struct __queue legacy_dz_queue; */ - /* struct __queue apsd_queue; */ - u8 *pallocated_frame_buf; u8 *pxmit_frame_buf; uint free_xmitframe_cnt; struct __queue free_xmit_queue; - /* uint mapping_addr; */ - /* uint pkt_sz; */ - u8 *xframe_ext_alloc_addr; u8 *xframe_ext; uint free_xframe_ext_cnt; struct __queue free_xframe_ext_queue; - /* struct hw_txqueue be_txqueue; */ - /* struct hw_txqueue bk_txqueue; */ - /* struct hw_txqueue vi_txqueue; */ - /* struct hw_txqueue vo_txqueue; */ - /* struct hw_txqueue bmc_txqueue; */ - uint frag_len; struct adapter *adapter; @@ -359,7 +334,6 @@ struct xmit_priv { u8 vcs_setting; u8 vcs; u8 vcs_type; - /* u16 rts_thresh; */ u64 tx_bytes; u64 tx_pkts; diff --git a/drivers/staging/rtl8723bs/include/sdio_ops.h b/drivers/staging/rtl8723bs/include/sdio_ops.h index f939263495df..d9510aa598fc 100644 --- a/drivers/staging/rtl8723bs/include/sdio_ops.h +++ b/drivers/staging/rtl8723bs/include/sdio_ops.h @@ -11,8 +11,6 @@ void sdio_set_intf_ops(struct adapter *padapter, struct _io_ops *pops); -/* extern void sdio_func1cmd52_read(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem); */ -/* extern void sdio_func1cmd52_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem); */ u8 SdioLocalCmd52Read1Byte(struct adapter *padapter, u32 addr); void SdioLocalCmd52Write1Byte(struct adapter *padapter, u32 addr, u8 v); s32 sdio_local_read(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf); diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h index bc78c32192c0..30fa070cd4d3 100644 --- a/drivers/staging/rtl8723bs/include/sta_info.h +++ b/drivers/staging/rtl8723bs/include/sta_info.h @@ -121,7 +121,6 @@ struct sta_info { struct recv_reorder_ctrl recvreorder_ctrl[16]; /* for A-MPDU Tx */ - /* unsigned char ampdu_txen_bitmap; */ u16 BA_starting_seqctrl[16]; struct ht_priv htpriv; From e94cda6551d4716b17353fc458baa9e85ddea9ff Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Mon, 7 Sep 2026 11:53:05 +0200 Subject: [PATCH 067/145] staging: greybus: uart: fix racy TIOCMIWAIT implementation Check the wakeup condition after adding the task to the waitqueue and updating the task state to avoid missing a racing modem status update or disconnect. Store the old icount on entry and do not update it in the completion handler to avoid missing events or reporting spurious ones (due to modem status changes before TIOCMIWAIT was called). Fixes: e68453ed28c5 ("greybus: uart-gb: now builds, more framework added") Cc: stable@kernel.org # 4.9 Cc: Greg Kroah-Hartman Signed-off-by: Johan Hovold Link: https://patch.msgid.link/20260907095305.130762-1-johan@kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/uart.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/drivers/staging/greybus/uart.c b/drivers/staging/greybus/uart.c index 24b4dab069c3..d47f00751e7a 100644 --- a/drivers/staging/greybus/uart.c +++ b/drivers/staging/greybus/uart.c @@ -53,7 +53,6 @@ struct gb_tty { spinlock_t read_lock; spinlock_t write_lock; struct async_icount iocount; - struct async_icount oldcount; wait_queue_head_t wioctl; struct mutex mutex; u8 ctrlin; /* input control lines */ @@ -643,11 +642,16 @@ static int wait_serial_change(struct gb_tty *gb_tty, unsigned long arg) if (!(arg & (TIOCM_DSR | TIOCM_RI | TIOCM_CD))) return -EINVAL; - do { + spin_lock_irq(&gb_tty->read_lock); + old = gb_tty->iocount; + spin_unlock_irq(&gb_tty->read_lock); + + add_wait_queue(&gb_tty->wioctl, &wait); + for (;;) { + set_current_state(TASK_INTERRUPTIBLE); + spin_lock_irq(&gb_tty->read_lock); - old = gb_tty->oldcount; new = gb_tty->iocount; - gb_tty->oldcount = new; spin_unlock_irq(&gb_tty->read_lock); if ((arg & TIOCM_DSR) && (old.dsr != new.dsr)) @@ -657,18 +661,20 @@ static int wait_serial_change(struct gb_tty *gb_tty, unsigned long arg) if ((arg & TIOCM_RI) && (old.rng != new.rng)) break; - add_wait_queue(&gb_tty->wioctl, &wait); - set_current_state(TASK_INTERRUPTIBLE); - schedule(); - remove_wait_queue(&gb_tty->wioctl, &wait); if (gb_tty->disconnected) { - if (arg & TIOCM_CD) - break; retval = -ENODEV; - } else if (signal_pending(current)) { - retval = -ERESTARTSYS; + break; } - } while (!retval); + + schedule(); + + if (signal_pending(current)) { + retval = -ERESTARTSYS; + break; + } + } + __set_current_state(TASK_RUNNING); + remove_wait_queue(&gb_tty->wioctl, &wait); return retval; } From 1372c8614d687b5239aae372fbd197fecab9127e Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Tue, 8 Sep 2026 09:39:17 -0700 Subject: [PATCH 068/145] staging: rtl8723bs: remove commented out code in rtw_recv.c Remove all commented-out code in this file. Remove adjacent comment where applicable. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260908163919.72100-2-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_recv.c | 69 ----------------------- 1 file changed, 69 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index 3c82012fdc6c..dde66b68d5e3 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -54,8 +54,6 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada } precvpriv->precv_frame_buf = PTR_ALIGN(precvpriv->pallocated_frame_buf, RXFRAME_ALIGN_SZ); - /* precvpriv->precv_frame_buf = precvpriv->pallocated_frame_buf + RXFRAME_ALIGN_SZ - */ - /* ((SIZE_PTR) (precvpriv->pallocated_frame_buf) &(RXFRAME_ALIGN_SZ-1)); */ precvframe = (union recv_frame *)precvpriv->precv_frame_buf; @@ -181,7 +179,6 @@ signed int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue * struct adapter *padapter = precvframe->u.hdr.adapter; struct recv_priv *precvpriv = &padapter->recvpriv; - /* INIT_LIST_HEAD(&(precvframe->u.hdr.list)); */ list_del_init(&(precvframe->u.hdr.list)); list_add_tail(&(precvframe->u.hdr.list), get_list_head(queue)); @@ -197,10 +194,8 @@ signed int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *q { signed int ret; - /* _spinlock(&pfree_recv_queue->lock); */ spin_lock_bh(&queue->lock); ret = _rtw_enqueue_recvframe(precvframe, queue); - /* spin_unlock(&pfree_recv_queue->lock); */ spin_unlock_bh(&queue->lock); return ret; @@ -347,7 +342,6 @@ static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *p u8 bmic_err = false, brpt_micerror = true; u8 *pframe, *payload, *pframemic; u8 *mickey; - /* u8 *iv, rxdata_key_idx = 0; */ struct sta_info *stainfo; struct rx_pkt_attrib *prxattrib = &precvframe->u.hdr.attrib; struct security_priv *psecuritypriv = &adapter->securitypriv; @@ -361,13 +355,8 @@ static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *p /* calculate mic code */ if (stainfo) { if (is_multicast_ether_addr(prxattrib->ra)) { - /* mickey =&psecuritypriv->dot118021XGrprxmickey.skey[0]; */ - /* iv = precvframe->u.hdr.rx_data+prxattrib->hdrlen; */ - /* rxdata_key_idx =(((iv[3])>>6)&0x3) ; */ mickey = &psecuritypriv->dot118021XGrprxmickey[prxattrib->key_index].skey[0]; - /* psecuritypriv->dot118021XGrpKeyid, pmlmeinfo->key_index, rxdata_key_idx); */ - if (!psecuritypriv->binstallGrpkey) { res = _FAIL; goto exit; @@ -531,16 +520,7 @@ static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *pre } else { /* allowed */ /* check decryption status, and decrypt the frame if needed */ - prtnframe = precv_frame; - /* check is the EAPOL frame or not (Rekey) */ - /* if (ether_type == eapol_type) { */ - /* check Rekey */ - - /* prtnframe =precv_frame; */ - /* */ - /* else { */ - /* */ } } else { prtnframe = precv_frame; @@ -584,16 +564,10 @@ static void process_pwrbit_data(struct adapter *padapter, union recv_frame *prec if (psta) { if (pwrbit) { if (!(psta->state & WIFI_SLEEP_STATE)) { - /* psta->state |= WIFI_SLEEP_STATE; */ - /* pstapriv->sta_dz_bitmap |= BIT(psta->aid); */ - stop_sta_xmit(padapter, psta); } } else { if (psta->state & WIFI_SLEEP_STATE) { - /* psta->state ^= WIFI_SLEEP_STATE; */ - /* pstapriv->sta_dz_bitmap &= ~BIT(psta->aid); */ - wakeup_sta_to_xmit(padapter, psta); } } @@ -924,7 +898,6 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ struct sta_priv *pstapriv = &padapter->stapriv; u8 *pframe = precv_frame->u.hdr.rx_data; struct sta_info *psta = NULL; - /* uint len = precv_frame->u.hdr.len; */ if (GetFrameType(pframe) != WIFI_CTRL_TYPE) return _FAIL; @@ -982,7 +955,6 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ struct xmit_frame *pxmitframe = NULL; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - /* spin_lock_bh(&psta->sleep_q.lock); */ spin_lock_bh(&pxmitpriv->lock); xmitframe_phead = get_list_head(&psta->sleep_q); @@ -1010,15 +982,12 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ pstapriv->tim_bitmap &= ~BIT(psta->aid); /* update BCN for TIM IE */ - /* update_BCNTIM(padapter); */ update_beacon(padapter, WLAN_EID_TIM, true); } - /* spin_unlock_bh(&psta->sleep_q.lock); */ spin_unlock_bh(&pxmitpriv->lock); } else { - /* spin_unlock_bh(&psta->sleep_q.lock); */ spin_unlock_bh(&pxmitpriv->lock); if (pstapriv->tim_bitmap & BIT(psta->aid)) { @@ -1032,7 +1001,6 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ pstapriv->tim_bitmap &= ~BIT(psta->aid); /* update BCN for TIM IE */ - /* update_BCNTIM(padapter); */ update_beacon(padapter, WLAN_EID_TIM, true); } } @@ -1171,10 +1139,8 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re /* Then enqueue the 0~(n-1) fragment into the defrag_q */ - /* spin_lock(&pdefrag_q->lock); */ phead = get_list_head(pdefrag_q); list_add_tail(&pfhdr->list, phead); - /* spin_unlock(&pdefrag_q->lock); */ prtnframe = NULL; @@ -1189,10 +1155,8 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re /* the last fragment frame */ /* enqueue the last fragment */ if (pdefrag_q) { - /* spin_lock(&pdefrag_q->lock); */ phead = get_list_head(pdefrag_q); list_add_tail(&pfhdr->list, phead); - /* spin_unlock(&pdefrag_q->lock); */ /* call recvframe_defrag to defrag */ precv_frame = recvframe_defrag(padapter, pdefrag_q); @@ -1320,8 +1284,6 @@ static signed int validate_recv_data_frame(struct adapter *adapter, union recv_f goto exit; } - /* psta->rssi = prxcmd->rssi; */ - /* psta->signal_quality = prxcmd->sq; */ precv_frame->u.hdr.psta = psta; pattrib->amsdu = 0; @@ -1527,7 +1489,6 @@ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) psnap = (struct ieee80211_snap_hdr *)(ptr + pattrib->hdrlen + pattrib->iv_len); psnap_type = ptr + pattrib->hdrlen + pattrib->iv_len + SNAP_SIZE; /* convert hdr + possible LLC headers into Ethernet header */ - /* eth_type = (psnap_type[0] << 8) | psnap_type[1]; */ if ((!memcmp(psnap, rfc1042_header, SNAP_SIZE) && (memcmp(psnap_type, SNAP_ETH_TYPE_IPX, 2)) && (memcmp(psnap_type, SNAP_ETH_TYPE_APPLETALK_AARP, 2))) || @@ -1638,7 +1599,6 @@ static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, if (psta) { struct net_device *pnetdev = (struct net_device *)padapter->pnetdev; - /* skb->ip_summed = CHECKSUM_NONE; */ pkt->dev = pnetdev; skb_set_queue_mapping(pkt, rtw_recv_select_queue(pkt)); @@ -1773,9 +1733,6 @@ static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, un union recv_frame *pnextrframe; struct rx_pkt_attrib *pnextattrib; - /* spin_lock_irqsave(&ppending_recvframe_queue->lock, irql); */ - /* spin_lock(&ppending_recvframe_queue->lock); */ - phead = get_list_head(ppending_recvframe_queue); plist = get_next(phead); @@ -1787,22 +1744,15 @@ static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, un plist = get_next(plist); else if (SN_EQUAL(pnextattrib->seq_num, pattrib->seq_num)) /* Duplicate entry is found!! Do not insert current entry. */ - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ return false; else break; } - /* spin_lock_irqsave(&ppending_recvframe_queue->lock, irql); */ - /* spin_lock(&ppending_recvframe_queue->lock); */ - list_del_init(&(prframe->u.hdr.list)); list_add_tail(&(prframe->u.hdr.list), plist); - /* spin_unlock(&ppending_recvframe_queue->lock); */ - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ - return true; } @@ -1848,22 +1798,16 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor struct list_head *phead, *plist; union recv_frame *prframe; struct rx_pkt_attrib *pattrib; - /* u8 index = 0; */ int bPktInBuf = false; struct recv_priv *precvpriv = &padapter->recvpriv; struct __queue *ppending_recvframe_queue = &preorder_ctrl->pending_recvframe_queue; - /* spin_lock_irqsave(&ppending_recvframe_queue->lock, irql); */ - /* spin_lock(&ppending_recvframe_queue->lock); */ - phead = get_list_head(ppending_recvframe_queue); plist = get_next(phead); /* Handling some condition for forced indicate case. */ if (bforced) { if (list_empty(phead)) { - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ - /* spin_unlock(&ppending_recvframe_queue->lock); */ return true; } @@ -1886,9 +1830,6 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor if (SN_EQUAL(preorder_ctrl->indicate_seq, pattrib->seq_num)) preorder_ctrl->indicate_seq = (preorder_ctrl->indicate_seq + 1) % 4096u; - /* Set this as a lock to make sure that only one thread is indicating packet. */ - /* pTS->RxIndicateState = RXTS_INDICATE_PROCESSING; */ - /* Indicate packets */ /* indicate this recv_frame */ @@ -1914,9 +1855,6 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor } } - /* spin_unlock(&ppending_recvframe_queue->lock); */ - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ - return bPktInBuf; } @@ -1971,8 +1909,6 @@ static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame * /* s3. Insert all packet into Reorder Queue to maintain its ordering. */ if (!enqueue_reorder_recvframe(preorder_ctrl, prframe)) { - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ - /* return _FAIL; */ goto _err_exit; } @@ -1986,7 +1922,6 @@ static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame * /* 2. All packets with SeqNum larger than or equal to WinStart => Buffer it. */ /* */ - /* recv_indicatepkts_in_order(padapter, preorder_ctrl, true); */ if (recv_indicatepkts_in_order(padapter, preorder_ctrl, false)) { _set_timer(&preorder_ctrl->reordering_ctrl_timer, REORDER_WAIT_TIME); spin_unlock_bh(&ppending_recvframe_queue->lock); @@ -2024,14 +1959,10 @@ void rtw_reordering_ctrl_timeout_handler(struct timer_list *t) static int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe) { int retval = _SUCCESS; - /* struct recv_priv *precvpriv = &padapter->recvpriv; */ - /* struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; */ struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct ht_priv *phtpriv = &pmlmepriv->htpriv; if (phtpriv->ht_option) { /* B/G/N Mode */ - /* prframe->u.hdr.preorder_ctrl = &precvpriv->recvreorder_ctrl[pattrib->priority]; */ - if (recv_indicatepkt_reorder(padapter, prframe) != _SUCCESS) { /* including perform A-MPDU Rx Ordering Buffer Control */ if (!padapter->driver_stopped && From 99a7a783d9d99ee1e77edfbea82bbddf3e1f6f9c Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Tue, 8 Sep 2026 09:39:18 -0700 Subject: [PATCH 069/145] staging: rtl8723bs: remove commented out code in os_dep/ files Remove commented out code in all source files in os_dep/ Remove adjacent comment where applicable. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260908163919.72100-3-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 19 ------------ drivers/staging/rtl8723bs/os_dep/os_intfs.c | 29 ++----------------- .../staging/rtl8723bs/os_dep/sdio_ops_linux.c | 1 - drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 1 - 4 files changed, 2 insertions(+), 48 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index 4416d0ec1db9..d94095cae0b4 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -204,7 +204,6 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl { struct ieee80211_channel *notify_channel; struct cfg80211_bss *bss = NULL; - /* struct ieee80211_supported_band *band; */ u16 channel; u32 freq; u64 notify_timestamp; @@ -232,7 +231,6 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl } /* To reduce PBC Overlap rate */ - /* spin_lock_bh(&pwdev_priv->scan_req_lock); */ if (adapter_wdev_data(padapter)->scan_request) { u8 *psr = NULL, sr = 0; struct ndis_802_11_ssid *pssid = &pnetwork->network.ssid; @@ -258,7 +256,6 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl } } } - /* spin_unlock_bh(&pwdev_priv->scan_req_lock); */ channel = pnetwork->network.configuration.ds_config; freq = rtw_ieee80211_channel_to_frequency(channel); @@ -285,7 +282,6 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl *(fctrl) = 0; SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/); - /* pmlmeext->mgnt_seq++; */ if (pnetwork->network.reserved[0] == 1) { /* WIFI_BEACON */ eth_broadcast_addr(pwlanhdr->addr1); @@ -517,7 +513,6 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa } else { psta = rtw_get_stainfo(pstapriv, param->sta_addr); if (!psta) - /* ret = -EINVAL; */ goto exit; } @@ -782,7 +777,6 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param memcpy(psta->dot11tkiprxmickey.skey, ¶m->u.crypt.key[24], 8); padapter->securitypriv.busetkipkey = false; - /* _set_timer(&padapter->securitypriv.tkip_timer, 50); */ } rtw_setstakey_cmd(padapter, psta, true, true); @@ -846,8 +840,6 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct wireless_dev *wdev, switch (params->cipher) { case IW_AUTH_CIPHER_NONE: - /* todo: remove key */ - /* remove = 1; */ alg_name = "none"; break; case WLAN_CIPHER_SUITE_WEP40: @@ -1125,7 +1117,6 @@ void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter) /* report network only if the current channel set contains the channel to which this network belongs */ if (rtw_ch_set_search_ch(padapter->mlmeextpriv.channel_set, pnetwork->network.configuration.ds_config) >= 0 && true == rtw_validate_ssid(&pnetwork->network.ssid)) { - /* ev =translate_scan(padapter, a, pnetwork, ev, stop); */ rtw_cfg80211_inform_bss(padapter, pnetwork); } } @@ -1330,7 +1321,6 @@ static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv, break; default: psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_open; - /* return -ENOTSUPP; */ } return 0; @@ -1376,9 +1366,6 @@ static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 ciph if (ucast) { psecuritypriv->ndisencryptstatus = ndisencryptstatus; - - /* if (psecuritypriv->dot11_privacy_algrthm >= _AES_) */ - /* psecuritypriv->ndisauthtype = Ndis802_11AuthModeWPA2PSK; */ } return 0; @@ -1387,7 +1374,6 @@ static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 ciph static int rtw_cfg80211_set_key_mgt(struct security_priv *psecuritypriv, u32 key_mgt) { if (key_mgt == WLAN_AKM_SUITE_8021X) - /* auth_type = UMAC_AUTH_TYPE_8021X; */ psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_8021x; else if (key_mgt == WLAN_AKM_SUITE_PSK) { psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_8021x; @@ -1752,8 +1738,6 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev, authmode = psecuritypriv->ndisauthtype; rtw_set_802_11_authentication_mode(padapter, authmode); - /* rtw_set_802_11_encryption_mode(padapter, padapter->securitypriv.ndisencryptstatus); */ - if (!rtw_set_802_11_connect(padapter, (u8 *)sme->bssid, &ndis_ssid)) { ret = -1; goto exit; @@ -2055,8 +2039,6 @@ static netdev_tx_t rtw_cfg80211_monitor_if_xmit_entry(struct sk_buff *skb, struc struct xmit_frame *pmgntframe; struct pkt_attrib *pattrib; unsigned char *pframe; - /* u8 category, action, OUI_Subtype, dialogToken = 0; */ - /* unsigned char *frame_body; */ struct ieee80211_hdr *pwlanhdr; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; @@ -2476,7 +2458,6 @@ static int _cfg80211_rtw_mgmt_tx(struct adapter *padapter, u8 tx_ch, const u8 *b /* starting alloc mgmt frame to dump it */ pmgntframe = alloc_mgtxmitframe(pxmitpriv); if (!pmgntframe) { - /* ret = -ENOMEM; */ ret = _FAIL; goto exit; } diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index c15056ee207c..f8b0fc1c4bec 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -20,7 +20,6 @@ static int rtw_lbkmode;/* RTL8712_AIR_TRX; */ static int rtw_network_mode = NL80211_IFTYPE_ADHOC;/* infra, ad-hoc, auto */ -/* struct ndis_802_11_ssid ssid; */ static int rtw_channel = 1;/* ad-hoc support requirement */ static int rtw_wireless_mode = WIRELESS_11BG_24N; static int rtw_vrtl_carrier_sense = AUTO_VCS; @@ -31,7 +30,6 @@ static int rtw_preamble = PREAMBLE_LONG;/* long, short, auto */ static int rtw_scan_mode = 1;/* active, passive */ static int rtw_adhoc_tx_pwr = 1; static int rtw_soft_ap; -/* int smart_ps = 1; */ static int rtw_power_mgnt = 1; static int rtw_ips_mode = IPS_NORMAL; module_param(rtw_ips_mode, int, 0644); @@ -48,7 +46,6 @@ static int rtw_radio_enable = 1; static int rtw_long_retry_lmt = 7; static int rtw_short_retry_lmt = 7; static int rtw_busy_thresh = 40; -/* int qos_enable = 0; */ static int rtw_ack_policy = NORMAL_ACK; static int rtw_software_encrypt; @@ -182,7 +179,6 @@ static void loadparam(struct adapter *padapter) registry_par->chip_version = (u8)rtw_chip_version; registry_par->rfintfs = (u8)rtw_rfintfs; registry_par->lbkmode = (u8)rtw_lbkmode; - /* registry_par->hci = (u8)hci; */ registry_par->network_mode = (u8)rtw_network_mode; memcpy(registry_par->ssid.ssid, "ANY", 3); @@ -207,7 +203,6 @@ static void loadparam(struct adapter *padapter) registry_par->long_retry_lmt = (u8)rtw_long_retry_lmt; registry_par->short_retry_lmt = (u8)rtw_short_retry_lmt; registry_par->busy_thresh = (u16)rtw_busy_thresh; - /* registry_par->qos_enable = (u8)rtw_qos_enable; */ registry_par->ack_policy = (u8)rtw_ack_policy; registry_par->software_encrypt = (u8)rtw_software_encrypt; registry_par->software_decrypt = (u8)rtw_software_decrypt; @@ -274,10 +269,7 @@ static int rtw_net_set_mac_address(struct net_device *pnetdev, void *p) struct sockaddr *addr = p; if (!padapter->bup) { - /* addr->sa_data[4], addr->sa_data[5]); */ memcpy(padapter->eeprompriv.mac_addr, addr->sa_data, ETH_ALEN); - /* eth_hw_addr_set(pnetdev, addr->sa_data); */ - /* padapter->bset_hwaddr = true; */ } return 0; @@ -289,8 +281,8 @@ static struct net_device_stats *rtw_net_get_stats(struct net_device *pnetdev) struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct recv_priv *precvpriv = &padapter->recvpriv; - padapter->stats.tx_packets = pxmitpriv->tx_pkts;/* pxmitpriv->tx_pkts++; */ - padapter->stats.rx_packets = precvpriv->rx_pkts;/* precvpriv->rx_pkts++; */ + padapter->stats.tx_packets = pxmitpriv->tx_pkts; + padapter->stats.rx_packets = precvpriv->rx_pkts; padapter->stats.tx_dropped = pxmitpriv->tx_drop; padapter->stats.rx_dropped = precvpriv->rx_drop; padapter->stats.tx_bytes = pxmitpriv->tx_bytes; @@ -409,7 +401,6 @@ int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname) return 1; } netif_carrier_off(pnetdev); - /* rtw_netif_stop_queue(pnetdev); */ return 0; } @@ -431,11 +422,8 @@ struct net_device *rtw_init_netdev(struct adapter *old_padapter) padapter = rtw_netdev_priv(pnetdev); padapter->pnetdev = pnetdev; - /* pnetdev->init = NULL; */ - pnetdev->netdev_ops = &rtw_netdev_ops; - /* pnetdev->tx_timeout = NULL; */ pnetdev->watchdog_timeo = HZ * 3; /* 3 second timeout */ /* step 2. */ @@ -512,7 +500,6 @@ static void rtw_init_default_value(struct adapter *padapter) pxmitpriv->vcs_setting = pregistrypriv->vrtl_carrier_sense; pxmitpriv->vcs = pregistrypriv->vcs_type; pxmitpriv->vcs_type = pregistrypriv->vcs_type; - /* pxmitpriv->rts_thresh = pregistrypriv->rts_thresh; */ pxmitpriv->frag_len = pregistrypriv->frag_thresh; /* recv_priv */ @@ -520,9 +507,6 @@ static void rtw_init_default_value(struct adapter *padapter) /* mlme_priv */ pmlmepriv->scan_mode = SCAN_ACTIVE; - /* qos_priv */ - /* pmlmepriv->qospriv.qos_option = pregistrypriv->wmm_enable; */ - /* ht_priv */ pmlmepriv->htpriv.ampdu_enable = false;/* set to disabled */ @@ -659,9 +643,6 @@ u8 rtw_init_drv_sw(struct adapter *padapter) goto free_xmit_priv; spin_lock_init(&padapter->security_key_mutex); - /* We don't need to memset padapter->XXX to zero, because adapter is allocated by vzalloc(). */ - /* memset((unsigned char *)&padapter->securitypriv, 0, sizeof (struct security_priv)); */ - if (_rtw_init_sta_priv(&padapter->stapriv) == _FAIL) goto free_recv_priv; @@ -730,8 +711,6 @@ u8 rtw_free_drv_sw(struct adapter *padapter) rtw_free_pwrctrl_priv(padapter); - /* kfree((void *)padapter); */ - rtw_hal_data_deinit(padapter); /* free the old_pnetdev */ @@ -862,13 +841,11 @@ int netdev_open(struct net_device *pnetdev) static int ips_netdrv_open(struct adapter *padapter) { int status = _SUCCESS; - /* struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter); */ padapter->net_closed = false; padapter->driver_stopped = false; padapter->bCardDisableWOHSM = false; - /* padapter->bup = true; */ status = rtw_hal_init(padapter); if (status == _FAIL) @@ -930,7 +907,6 @@ static int netdev_close(struct net_device *pnetdev) struct pwrctrl_priv *pwrctl = adapter_to_pwrctl(padapter); if (pwrctl->bInternalAutoSuspend) { - /* rtw_pwr_wakeup(padapter); */ if (pwrctl->rf_pwrstate == rf_off) pwrctl->ps_flag = true; } @@ -1068,7 +1044,6 @@ static void rtw_suspend_normal(struct adapter *padapter) rtw_dev_unload(padapter); - /* sdio_deinit(adapter_to_dvobj(padapter)); */ if (padapter->intf_deinit) padapter->intf_deinit(adapter_to_dvobj(padapter)); } diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c b/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c index e9a2f3f7ec74..15a55c05bdb4 100644 --- a/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c +++ b/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c @@ -433,7 +433,6 @@ s32 _sd_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, void *pdata) return err; func = psdio->func; -/* size = sdio_align_size(func, cnt); */ if (unlikely((cnt == 1) || (cnt == 2))) { int i; diff --git a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c index 3b6029c20d50..ad73b528d220 100644 --- a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c +++ b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c @@ -165,7 +165,6 @@ static int rtw_mlcst2unicst(struct adapter *padapter, struct sk_buff *skb) } } else { pxmitpriv->tx_drop++; - /* dev_kfree_skb_any(skb); */ return false; /* Caller shall tx this multicast frame via normal way. */ } } From b91144fb9a206ee0aa7b718489e67a0e36a064ff Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Tue, 8 Sep 2026 09:39:19 -0700 Subject: [PATCH 070/145] staging: rtl8723bs: remove commented out code in hal/ files Remove commented out code in a bunch of hal/ source files Remove adjacent comment where applicable. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260908163919.72100-4-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/hal_btcoex.c | 39 ---------------- drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c | 2 - drivers/staging/rtl8723bs/hal/rtl8723b_dm.c | 10 ----- .../staging/rtl8723bs/hal/rtl8723b_hal_init.c | 44 ++----------------- .../staging/rtl8723bs/hal/rtl8723b_phycfg.c | 2 - .../staging/rtl8723bs/hal/rtl8723b_rf6052.c | 8 ++-- .../staging/rtl8723bs/hal/rtl8723b_rxdesc.c | 6 --- .../staging/rtl8723bs/hal/rtl8723bs_recv.c | 6 --- .../staging/rtl8723bs/hal/rtl8723bs_xmit.c | 5 --- drivers/staging/rtl8723bs/hal/sdio_halinit.c | 1 - 10 files changed, 7 insertions(+), 116 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/hal_btcoex.c b/drivers/staging/rtl8723bs/hal/hal_btcoex.c index 61cdc27a64ac..afdde1f2ec0c 100644 --- a/drivers/staging/rtl8723bs/hal/hal_btcoex.c +++ b/drivers/staging/rtl8723bs/hal/hal_btcoex.c @@ -783,8 +783,6 @@ void hal_btcoex_Initialize(void *padapter) pBtCoexist = &GLBtCoexist; - /* pBtCoexist->statistics.cntBind++; */ - pBtCoexist->chipInterface = BTC_INTF_SDIO; EXhalbtcoutsrc_BindBtCoexWithAdapter(padapter); @@ -874,15 +872,10 @@ void EXhalbtcoutsrc_IpsNotify(struct btc_coexist *pBtCoexist, u8 type) else ipsType = BTC_IPS_ENTER; - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_IpsNotify(pBtCoexist, ipsType); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_IpsNotify(pBtCoexist, ipsType); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_LpsNotify(struct btc_coexist *pBtCoexist, u8 type) @@ -925,15 +918,10 @@ void EXhalbtcoutsrc_ScanNotify(struct btc_coexist *pBtCoexist, u8 type) GLBtcWiFiInScanState = false; } - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_ScanNotify(pBtCoexist, scanType); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_ScanNotify(pBtCoexist, scanType); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_ConnectNotify(struct btc_coexist *pBtCoexist, u8 action) @@ -951,15 +939,10 @@ void EXhalbtcoutsrc_ConnectNotify(struct btc_coexist *pBtCoexist, u8 action) else assoType = BTC_ASSOCIATE_FINISH; - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_ConnectNotify(pBtCoexist, assoType); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_ConnectNotify(pBtCoexist, assoType); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_MediaStatusNotify(struct btc_coexist *pBtCoexist, enum @@ -979,15 +962,10 @@ void EXhalbtcoutsrc_MediaStatusNotify(struct btc_coexist *pBtCoexist, enum else mStatus = BTC_MEDIA_DISCONNECT; - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_MediaStatusNotify(pBtCoexist, mStatus); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_MediaStatusNotify(pBtCoexist, mStatus); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 pktType) @@ -1010,15 +988,10 @@ void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 pktTy return; } - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_SpecialPacketNotify(pBtCoexist, packetType); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_SpecialPacketNotify(pBtCoexist, packetType); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 length) @@ -1028,15 +1001,10 @@ void EXhalbtcoutsrc_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 pBtCoexist->statistics.cntBtInfoNotify++; - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_BtInfoNotify(pBtCoexist, tmpBuf, length); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_BtInfoNotify(pBtCoexist, tmpBuf, length); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_HaltNotify(struct btc_coexist *pBtCoexist) @@ -1075,15 +1043,10 @@ void EXhalbtcoutsrc_Periodical(struct btc_coexist *pBtCoexist) pBtCoexist->statistics.cntPeriodical++; /* Periodical should be called in cmd thread, */ - /* don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_Periodical(pBtCoexist); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_Periodical(pBtCoexist); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_SetAntNum(u8 type, u8 antNum) @@ -1093,10 +1056,8 @@ void EXhalbtcoutsrc_SetAntNum(u8 type, u8 antNum) GLBtCoexist.boardInfo.btdmAntNum = antNum; } else if (type == BT_COEX_ANT_TYPE_ANTDIV) { GLBtCoexist.boardInfo.btdmAntNum = antNum; - /* GLBtCoexist.boardInfo.btdmAntPos = BTC_ANTENNA_AT_MAIN_PORT; */ } else if (type == BT_COEX_ANT_TYPE_DETECTED) { GLBtCoexist.boardInfo.btdmAntNum = antNum; - /* GLBtCoexist.boardInfo.btdmAntPos = BTC_ANTENNA_AT_MAIN_PORT; */ } } diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c index d2b44ad60a4c..734fb9bb1867 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c @@ -635,7 +635,6 @@ void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus) DLBcnCount++; do { yield(); - /* mdelay(10); */ /* check rsvd page download OK. */ rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID, (u8 *)(&bcn_valid)); poll++; @@ -895,7 +894,6 @@ void rtl8723b_download_BTCoex_AP_mode_rsvd_page(struct adapter *padapter) DLBcnCount++; do { yield(); -/* mdelay(10); */ /* check rsvd page download OK. */ rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID, &bcn_valid); poll++; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c index 13efbfa5b58a..5f31e89bb1c4 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c @@ -76,12 +76,6 @@ static void Update_ODM_ComInfo_8723b(struct adapter *Adapter) | ODM_RF_CALIBRATION ; - /* */ - /* Pointer reference */ - /* */ - /* ODM_CMNINFO_MAC_PHY_MODE pHalData->MacPhyMode92D */ - /* ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_MAC_PHY_MODE,&(pDM_Odm->u8_temp)); */ - ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_ABILITY, pdmpriv->InitODMFlag); ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_TX_UNI, &(dvobj->traffic_stat.tx_bytes)); @@ -155,8 +149,6 @@ void rtl8723b_HalDmWatchDog(struct adapter *Adapter) ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_LINK, bLinked); ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_STATION_STATE, bsta_state); - /* ODM_CmnInfoUpdate(&pHalData->odmpriv , ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM); */ - bBtDisabled = hal_btcoex_IsBtDisabled(Adapter); ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_BT_ENABLED, @@ -216,7 +208,6 @@ void rtl8723b_HalDmWatchDog_in_LPS(struct adapter *Adapter) if (!(pDM_Odm->SupportAbility & ODM_BB_RSSI_MONITOR)) goto skip_lps_dm; - /* ODM_DMWatchdog(&pHalData->odmpriv); */ /* Do DIG by RSSI In LPS-32K */ /* 1 Find MIN-RSSI */ @@ -233,7 +224,6 @@ void rtl8723b_HalDmWatchDog_in_LPS(struct adapter *Adapter) pDM_Odm->RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM; - /* if (pDM_DigTable->CurIGValue != pDM_Odm->RSSI_Min) */ if ( (pDM_DigTable->CurIGValue > pDM_Odm->RSSI_Min + 5) || (pDM_DigTable->CurIGValue < pDM_Odm->RSSI_Min - 5) diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c index 1389e5598d3e..af688b7139cd 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c @@ -430,9 +430,6 @@ void rtl8723b_InitializeFirmwareVars(struct adapter *padapter) /* Init H2C counter. by tynli. 2009.12.09. */ pHalData->LastHMEBoxNum = 0; -/* pHalData->H2CQueueHead = 0; */ -/* pHalData->H2CQueueTail = 0; */ -/* pHalData->H2CStopInsertQueue = false; */ } /* */ @@ -1043,9 +1040,6 @@ void rtl8723b_init_default_value(struct adapter *padapter) /* init dm default value */ pdmpriv->TM_Trigger = 0;/* for IQK */ -/* pdmpriv->binitialized = false; */ -/* pdmpriv->prv_traffic_idx = 3; */ -/* pdmpriv->initialize = 0; */ pdmpriv->ThermalValue_HP_index = 0; for (i = 0; i < HP_THERMAL_NUM; i++) @@ -1152,7 +1146,6 @@ void Hal_InitPGData(struct adapter *padapter, u8 *PROMContent) void Hal_EfuseParseIDCode(struct adapter *padapter, u8 *hwinfo) { struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); -/* struct hal_com_data *pHalData = GET_HAL_DATA(padapter); */ u16 EEPROMId; /* Check 0x8129 again for making sure autoload status!! */ @@ -1332,8 +1325,6 @@ void Hal_EfuseParseBTCoexistInfo_8723B( tempval = hwinfo[EEPROM_RF_BT_SETTING_8723B]; if (tempval != 0xFF) { pHalData->EEPROMBluetoothAntNum = tempval & BIT(0); - /* EFUSE_0xC3[6] == 0, S1(Main)-RF_PATH_A; */ - /* EFUSE_0xC3[6] == 1, S0(Aux)-RF_PATH_B */ if (tempval & BIT(6)) pHalData->ant_path = RF_PATH_B; else @@ -1409,7 +1400,6 @@ void Hal_EfuseParseVoltage_8723B( { struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - /* memcpy(pEEPROM->adjuseVoltageVal, &hwinfo[EEPROM_Voltage_ADDR_8723B], 1); */ pEEPROM->adjuseVoltageVal = (hwinfo[EEPROM_Voltage_ADDR_8723B] & 0xf0) >> 4; } @@ -1491,9 +1481,6 @@ u8 BWMapping_8723B(struct adapter *Adapter, struct pkt_attrib *pattrib) } else BWSettingOfDesc = 0; - /* if (pTcb->bBTTxPacket) */ - /* BWSettingOfDesc = 0; */ - return BWSettingOfDesc; } @@ -1867,7 +1854,6 @@ static void hw_var_set_opmode(struct adapter *padapter, u8 variable, u8 *val) /* disable atim wnd */ rtw_write8(padapter, REG_BCN_CTRL, DIS_TSF_UDT|EN_BCN_FUNCTION|DIS_ATIM); - /* rtw_write8(padapter, REG_BCN_CTRL, 0x18); */ } else if (mode == _HW_STATE_ADHOC_) { ResumeTxBeacon(padapter); rtw_write8(padapter, REG_BCN_CTRL, DIS_TSF_UDT|EN_BCN_FUNCTION|DIS_BCNQ_SUB); @@ -1887,7 +1873,6 @@ static void hw_var_set_opmode(struct adapter *padapter, u8 variable, u8 *val) /* Beacon Control related register for first time */ rtw_write8(padapter, REG_BCNDMATIM, 0x02); /* 2ms */ - /* rtw_write8(padapter, REG_BCN_MAX_ERR, 0xFF); */ rtw_write8(padapter, REG_ATIMWND, 0x0a); /* 10ms */ rtw_write16(padapter, REG_BCNTCFG, 0x00); rtw_write16(padapter, REG_TBTT_PROHIBIT, 0xff04); @@ -1901,7 +1886,6 @@ static void hw_var_set_opmode(struct adapter *padapter, u8 variable, u8 *val) rtw_write8(padapter, REG_BCN_CTRL, (DIS_TSF_UDT|EN_BCN_FUNCTION|EN_TXBCN_RPT|DIS_BCNQ_SUB)); /* SW_BCN_SEL - Port0 */ - /* rtw_write8(Adapter, REG_DWBCN1_CTRL_8192E+2, rtw_read8(Adapter, REG_DWBCN1_CTRL_8192E+2) & ~BIT4); */ rtw_hal_set_hwreg(padapter, HW_VAR_DL_BCN_SEL, NULL); /* select BCN on port 0 */ @@ -1998,8 +1982,6 @@ static void hw_var_set_mlme_disconnect(struct adapter *padapter, u8 variable, u8 { u8 val8; - /* Set RCR to not to receive data frame when NO LINK state */ - /* rtw_write32(padapter, REG_RCR, rtw_read32(padapter, REG_RCR) & ~RCR_ADF); */ /* reject all data frames */ rtw_write16(padapter, REG_RXFLTMAP2, 0); @@ -2085,8 +2067,7 @@ static void hw_var_set_mlme_join(struct adapter *padapter, u8 variable, u8 *val) pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); if (type == 0) { /* prepare to join */ - /* enable to rx data frame.Accept all data frame */ - /* rtw_write32(padapter, REG_RCR, rtw_read32(padapter, REG_RCR)|RCR_ADF); */ + /* enable to rx data frame */ rtw_write16(padapter, REG_RXFLTMAP2, 0xFFFF); val32 = rtw_read32(padapter, REG_RCR); @@ -2164,11 +2145,9 @@ s32 c2h_handler_8723b(struct adapter *padapter, u8 *buf) break; case C2H_CCX_TX_RPT: -/* CCX_FwC2HTxRpt(padapter, QueueID, pC2hEvent->payload); */ break; case C2H_EXT_RA_RPT: -/* C2HExtRaRptHandler(padapter, pC2hEvent->payload, C2hEvent.CmdLen); */ break; case C2H_HW_INFO_EXCH: @@ -2182,10 +2161,6 @@ s32 c2h_handler_8723b(struct adapter *padapter, u8 *buf) break; } - /* Clear event to notify FW we have read the command. */ - /* Note: */ - /* If this field isn't clear, the FW won't update the next command message. */ -/* rtw_write8(padapter, REG_C2HEVT_CLEAR, C2H_EVT_HOST_CLOSE); */ exit: return ret; } @@ -2204,11 +2179,9 @@ static void process_c2h_event(struct adapter *padapter, struct c2h_evt_hdr_t *pC break; case C2H_CCX_TX_RPT: -/* CCX_FwC2HTxRpt(padapter, QueueID, tmpBuf); */ break; case C2H_EXT_RA_RPT: -/* C2HExtRaRptHandler(padapter, tmpBuf, C2hEvent.CmdLen); */ break; case C2H_HW_INFO_EXCH: @@ -2234,7 +2207,6 @@ void C2HPacketHandler_8723B(struct adapter *padapter, u8 *pbuffer, u16 length) tmpBuf = pbuffer+2; process_c2h_event(padapter, &C2hEvent, tmpBuf); - /* c2h_handler_8723b(padapter,&C2hEvent); */ } void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) @@ -2344,8 +2316,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) hal_btcoex_ConnectNotify(padapter, false); break; case 2: - /* sta add event callback */ -/* rtw_btcoex_MediaStatusNotify(padapter, RT_MEDIA_CONNECT); */ break; } break; @@ -2371,7 +2341,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) break; case HW_VAR_RESP_SIFS: - /* SIFS_Timer = 0x0a0a0808; */ /* RESP_SIFS for CCK */ rtw_write8(padapter, REG_RESP_SIFS_CCK, val[0]); /* SIFS_T2T_CCK (0x08) */ rtw_write8(padapter, REG_RESP_SIFS_CCK+1, val[1]); /* SIFS_R2T_CCK(0x08) */ @@ -2386,7 +2355,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) u8 bShortPreamble = *val; /* Joseph marked out for Netgear 3500 TKIP channel 7 issue.(Temporarily) */ - /* regTmp = (pHalData->nCur40MhzPrimeSC)<<5; */ if (bShortPreamble) regTmp |= 0x80; rtw_write8(padapter, REG_RRSR+2, regTmp); @@ -2405,7 +2373,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) /* filled id in CAM config 2 byte */ if (i == 0) { ulContent |= (ucIndex & 0x03) | ((u16)(ulEncAlgo)<<2); - /* ulContent |= CAM_VALID; */ } else ulContent = 0; @@ -2413,8 +2380,8 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) ulCommand = CAM_CONTENT_COUNT*ucIndex+i; ulCommand = ulCommand | CAM_POLLINIG | CAM_WRITE; /* write content 0 is equal to mark as invalid */ - rtw_write32(padapter, WCAMI, ulContent); /* mdelay(40); */ - rtw_write32(padapter, RWCAM, ulCommand); /* mdelay(40); */ + rtw_write32(padapter, WCAMI, ulContent); + rtw_write32(padapter, RWCAM, ulCommand); } } break; @@ -2496,11 +2463,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) if (psmode != PS_MODE_ACTIVE) ODM_RF_Saving(&pHalData->odmpriv, true); - /* if (psmode != PS_MODE_ACTIVE) { */ - /* rtl8723b_set_lowpwr_lps_cmd(padapter, true); */ - /* else { */ - /* rtl8723b_set_lowpwr_lps_cmd(padapter, false); */ - /* */ rtl8723b_set_FwPwrMode_cmd(padapter, psmode); } break; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c index 737e2a818c18..cdcad7ab2b40 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c @@ -67,7 +67,6 @@ void PHY_SetBBReg_8723B( u32 Data ) { - /* u16 BBWaitCounter = 0; */ u32 OriginalValue, BitShift; if (BitMask != bMaskDWord) { /* if not "double word" write */ @@ -685,7 +684,6 @@ static void PHY_HandleSwChnlAndSetBW8723B( u8 CenterFrequencyIndex1 ) { - /* static bool bInitialzed = false; */ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); u8 tmpChannel = pHalData->CurrentChannel; enum channel_width tmpBW = pHalData->CurrentChannelBW; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c index e4f047b14827..acbc67df4e48 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c @@ -95,18 +95,18 @@ static int phy_RF6052_Config_ParaFile(struct adapter *Adapter) /*----Set RF_ENV enable----*/ PHY_SetBBReg(Adapter, pPhyReg->rfintfe, bRFSI_RFENV << 16, 0x1); - udelay(1);/* PlatformStallExecution(1); */ + udelay(1); /*----Set RF_ENV output high----*/ PHY_SetBBReg(Adapter, pPhyReg->rfintfo, bRFSI_RFENV, 0x1); - udelay(1);/* PlatformStallExecution(1); */ + udelay(1); /* Set bit number of Address and Data for RF register */ PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireAddressLength, 0x0); /* Set 1 to 4 bits for 8255 */ - udelay(1);/* PlatformStallExecution(1); */ + udelay(1); PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireDataLength, 0x0); /* Set 0 to 12 bits for 8255 */ - udelay(1);/* PlatformStallExecution(1); */ + udelay(1); /*----Initialize RF fom connfiguration file----*/ ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv, CONFIG_RF_RADIO, RF_PATH_A); diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c index ac1249676794..90a851b50c9f 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c @@ -12,7 +12,6 @@ static void process_rssi(struct adapter *padapter, union recv_frame *prframe) struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; struct signal_stat *signal_stat = &padapter->recvpriv.signal_strength_data; - /* if (pRfd->Status.bPacketToSelf || pRfd->Status.bPacketBeacon) */ { if (signal_stat->update_req) { signal_stat->total_num = 0; @@ -56,12 +55,7 @@ void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe) /* Check RSSI */ /* */ process_rssi(padapter, precvframe); - /* */ - /* Check PWDB. */ - /* */ - /* process_PWDB(padapter, precvframe); */ - /* UpdateRxSignalStatistics8192C(Adapter, pRfd); */ /* */ /* Check EVM */ /* */ diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c index 706d58741dce..304fda3a3b5c 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c @@ -96,7 +96,6 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe, .is_beacon = false, }; - /* unsigned long irqL; */ struct sta_priv *pstapriv; struct sta_info *psta; @@ -125,13 +124,10 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe, pkt_info.data_rate = pattrib->data_rate; - /* rtl8723b_query_rx_phy_status(precvframe, pphy_status); */ - /* spin_lock_bh(&p_hal_data->odm_stainfo_lock); */ odm_phy_status_query(&p_hal_data->odmpriv, p_phy_info, (u8 *)pphy_status, &(pkt_info)); if (psta) psta->rssi = pattrib->phy_info.RecvSignalPower; - /* spin_unlock_bh(&p_hal_data->odm_stainfo_lock); */ precvframe->u.hdr.psta = NULL; if ( pkt_info.bssid_match && @@ -307,7 +303,6 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t) precvframe->u.hdr.rx_end = skb_end_pointer(pkt_copy); recvframe_put(precvframe, skb_len); - /* recvframe_pull(precvframe, drvinfo_sz + RXDESC_SIZE); */ if (p_hal_data->ReceiveConfig & RCR_APPFCS) recvframe_pull_tail(precvframe, IEEE80211_FCS_LEN); @@ -317,7 +312,6 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t) /* update drv info */ if (p_hal_data->ReceiveConfig & RCR_APP_BA_SSN) { - /* rtl8723s_update_bassn(padapter, pdrvinfo); */ ptr += 4; } diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c index 0441e84ea87d..dec9d4d53de7 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c @@ -24,7 +24,6 @@ static u8 rtw_sdio_wait_enough_TxOQT_space(struct adapter *padapter, u8 agg_num) if ((++n % 60) == 0) { msleep(1); - /* yield(); */ } } @@ -103,8 +102,6 @@ static s32 rtl8723_dequeue_writeport(struct adapter *padapter) rtw_hal_sdio_update_tx_freepage(pri_padapter, PageIdx, pxmitbuf->pg_num); free_xmitbuf: - /* rtw_free_xmitframe(pxmitpriv, pframe); */ - /* pxmitbuf->priv_data = NULL; */ rtw_free_xmitbuf(pxmitpriv, pxmitbuf); return _FAIL; @@ -248,8 +245,6 @@ static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv rtw_free_xmitframe(pxmitpriv, pframe); pxmitbuf->priv_data = NULL; enqueue_pending_xmitbuf(pxmitpriv, pxmitbuf); - /* can not yield under lock */ - /* yield(); */ } else rtw_free_xmitbuf(pxmitpriv, pxmitbuf); } diff --git a/drivers/staging/rtl8723bs/hal/sdio_halinit.c b/drivers/staging/rtl8723bs/hal/sdio_halinit.c index 001b4b32c02e..bd3a8ed15063 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_halinit.c +++ b/drivers/staging/rtl8723bs/hal/sdio_halinit.c @@ -171,7 +171,6 @@ static void _InitTxBufferBoundary(struct adapter *padapter) { struct registry_priv *pregistrypriv = &padapter->registrypriv; - /* u16 txdmactrl; */ u8 txpktbuf_bndy; if (!pregistrypriv->wifi_spec) { From d92301f372591e72ec02e6c716b2af076749a687 Mon Sep 17 00:00:00 2001 From: Dipesh Chaudhary Date: Sun, 13 Sep 2026 08:03:05 +0000 Subject: [PATCH 071/145] staging: rtl8723bs: remove unused EF2Byte and EF4Byte definitions The EF2Byte and EF4Byte macros are defined as le16_to_cpu and le32_to_cpu respectively in basic_types.h, but are never referenced anywhere in this driver or the rest of the kernel tree. Remove these unused definitions to clean up dead code as noted in the driver's TODO file. Signed-off-by: Dipesh Chaudhary Link: https://patch.msgid.link/20260913080305.10982-1-me@dipeshchaudhary.in Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/basic_types.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h index aaa1e60f4295..b4dde1fb4343 100644 --- a/drivers/staging/rtl8723bs/include/basic_types.h +++ b/drivers/staging/rtl8723bs/include/basic_types.h @@ -29,8 +29,6 @@ /* Byte Swapping routine. */ /* */ #define EF1Byte (u8) -#define EF2Byte le16_to_cpu -#define EF4Byte le32_to_cpu /* Convert little data endian to host ordering */ #define EF1BYTE(_val) \ From 10384f596649f4de26932846463d1b105d3a217a Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Mon, 7 Sep 2026 11:35:21 -0700 Subject: [PATCH 072/145] staging: rtl8723bs: remove commented out code in rtw_mlme_ext.c Remove all commented-out code in this file. Remove adjacent comment where applicable. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260907183521.68630-1-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 89 ------------------- 1 file changed, 89 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index c39fb142302e..7622f0ef0aba 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -384,8 +384,6 @@ void init_mlme_ext_priv(struct adapter *padapter) pmlmeext->padapter = padapter; - /* fill_fwpriv(padapter, &(pmlmeext->fwpriv)); */ - init_mlme_ext_priv_value(padapter); pmlmeinfo->accept_addba_req = pregistrypriv->accept_addba_req; @@ -411,7 +409,6 @@ void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext) if (padapter->driver_stopped) { timer_delete_sync(&pmlmeext->survey_timer); timer_delete_sync(&pmlmeext->link_timer); - /* timer_delete_sync(&pmlmeext->ADDBA_timer); */ } } @@ -483,7 +480,6 @@ void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame) _mgt_dispatcher(padapter, ptable, precv_frame); break; case WIFI_ACTION: - /* if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true) */ _mgt_dispatcher(padapter, ptable, precv_frame); break; default: @@ -743,9 +739,6 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame) pstat->state = WIFI_FW_AUTH_NULL; pstat->auth_seq = 0; - - /* pstat->flags = 0; */ - /* pstat->capability = 0; */ } else { spin_lock_bh(&pstapriv->asoc_list_lock); if (!list_empty(&pstat->asoc_list)) { @@ -872,7 +865,6 @@ unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_fram pmlmeinfo->auth_algo = dot11_auth_algrthm_open; else pmlmeinfo->auth_algo = dot11_auth_algrthm_shared; - /* pmlmeinfo->reauth_count = 0; */ } set_link_timer(pmlmeext, 1); @@ -915,8 +907,6 @@ unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_fram authclnt_fail: - /* pmlmeinfo->state &= ~(WIFI_FW_AUTH_STATE); */ - return _FAIL; } @@ -961,7 +951,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) } capab_info = get_unaligned_le16(pframe + WLAN_HDR_A3_LEN); - /* capab_info = le16_to_cpu(*(unsigned short *)(pframe + WLAN_HDR_A3_LEN)); */ left = pkt_len - (sizeof(struct ieee80211_hdr_3addr) + ie_offset); pos = pframe + (sizeof(struct ieee80211_hdr_3addr) + ie_offset); @@ -1013,10 +1002,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) /* check if the supported rate is ok */ p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, WLAN_EID_SUPP_RATES, &ie_len, pkt_len - WLAN_HDR_A3_LEN - ie_offset); if (!p) { - /* use our own rate set as statoin used */ - /* memcpy(supportRate, AP_BSSRATE, AP_BSSRATE_LEN); */ - /* support_rate_num = AP_BSSRATE_LEN; */ - status = WLAN_STATUS_CHALLENGE_FAIL; goto OnAssocReqFail; } else { @@ -1037,7 +1022,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) } /* todo: mask supportRate between AP & STA -> move to update raid */ - /* get_matched_rate(pmlmeext, supportRate, &support_rate_num, 0); */ /* update station supportRate */ pstat->bssratelen = support_rate_num; @@ -1232,8 +1216,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) if ((pstat->flags & WLAN_STA_HT) && ((pstat->wpa2_pairwise_cipher & WPA_CIPHER_TKIP) || (pstat->wpa_pairwise_cipher & WPA_CIPHER_TKIP))) { - /* status = WLAN_STATUS_CIPHER_SUITE_REJECTED; */ - /* goto OnAssocReqFail; */ } pstat->flags |= WLAN_STA_NONERP; for (i = 0; i < pstat->bssratelen; i++) { @@ -1260,7 +1242,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) if (!pstapriv->sta_aid[pstat->aid - 1]) break; - /* if (pstat->aid > NUM_STA) { */ if (pstat->aid > pstapriv->max_num_sta) { pstat->aid = 0; @@ -1344,7 +1325,6 @@ unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame) struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; - /* struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network); */ u8 *pframe = precv_frame->u.hdr.rx_data; uint pkt_len = precv_frame->u.hdr.len; @@ -1449,8 +1429,6 @@ unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame) struct sta_info *psta; struct sta_priv *pstapriv = &padapter->stapriv; - /* rtw_free_stainfo(padapter, psta); */ - netdev_dbg(padapter->pnetdev, "ap recv deauth reason code(%d) sta:%pM\n", reason, GetAddr2Ptr(pframe)); @@ -1519,8 +1497,6 @@ unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame) struct sta_info *psta; struct sta_priv *pstapriv = &padapter->stapriv; - /* rtw_free_stainfo(padapter, psta); */ - netdev_dbg(padapter->pnetdev, "ap recv disassoc reason code(%d) sta:%pM\n", reason, GetAddr2Ptr(pframe)); @@ -1630,7 +1606,6 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra case WLAN_ACTION_ADDBA_REQ: /* ADDBA request */ memcpy(&(pmlmeinfo->ADDBA_req), &(frame_body[2]), sizeof(struct ADDBA_request)); - /* process_addba_req(padapter, (u8 *)&(pmlmeinfo->ADDBA_req), GetAddr3Ptr(pframe)); */ process_addba_req(padapter, (u8 *)&(pmlmeinfo->ADDBA_req), addr); if (pmlmeinfo->accept_addba_req) @@ -1915,8 +1890,6 @@ void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattri u8 wireless_mode; struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); - /* memset((u8 *)(pattrib), 0, sizeof(struct pkt_attrib)); */ - pattrib->hdrlen = 24; pattrib->nr_frags = 1; pattrib->priority = 7; @@ -2096,7 +2069,6 @@ void issue_beacon(struct adapter *padapter, int timeout_ms) memcpy(pwlanhdr->addr3, get_my_bssid(cur_network), ETH_ALEN); SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/); - /* pmlmeext->mgnt_seq++; */ SetFrameSubType(pframe, WIFI_BEACON); pframe += sizeof(struct ieee80211_hdr_3addr); @@ -2171,7 +2143,6 @@ void issue_beacon(struct adapter *padapter, int timeout_ms) u8 erpinfo = 0; u32 ATIMWindow; /* IBSS Parameter Set... */ - /* ATIMWindow = cur->configuration.ATIMWindow; */ ATIMWindow = 0; pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2, (unsigned char *)(&ATIMWindow), &pattrib->pktlen); @@ -2381,7 +2352,6 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p u8 erpinfo = 0; u32 ATIMWindow; /* IBSS Parameter Set... */ - /* ATIMWindow = cur->configuration.ATIMWindow; */ ATIMWindow = 0; pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2, (unsigned char *)(&ATIMWindow), &pattrib->pktlen); @@ -2679,7 +2649,6 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i uint ie_len = 0; /* FILL HT CAP INFO IE */ - /* p = hostapd_eid_ht_capabilities_info(hapd, p); */ pbuf = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_CAPABILITY, &ie_len, (pnetwork->ie_length - _BEACON_IE_OFFSET_)); if (pbuf && ie_len > 0) { memcpy(pframe, pbuf, ie_len + 2); @@ -2688,7 +2657,6 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i } /* FILL HT ADD INFO IE */ - /* p = hostapd_eid_ht_operation(hapd, p); */ pbuf = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_OPERATION, &ie_len, (pnetwork->ie_length - _BEACON_IE_OFFSET_)); if (pbuf && ie_len > 0) { memcpy(pframe, pbuf, ie_len + 2); @@ -2802,9 +2770,6 @@ void issue_assocreq(struct adapter *padapter) if (pmlmeext->cur_channel == 14) /* for JAPAN, channel 14 can only uses B Mode(CCK) */ sta_bssrate_len = 4; - /* for (i = 0; i < sta_bssrate_len; i++) { */ - /* */ - for (i = 0; i < NDIS_802_11_LENGTH_RATES_EX; i++) { if (pmlmeinfo->network.supported_rates[i] == 0) break; @@ -3359,7 +3324,6 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch fctrl = &(pwlanhdr->frame_control); *(fctrl) = 0; - /* memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN); */ memcpy(pwlanhdr->addr1, raddr, ETH_ALEN); memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN); memcpy(pwlanhdr->addr3, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN); @@ -3401,7 +3365,6 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch le_tmp = cpu_to_le16(BA_timeout_value); pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen)); - /* if ((psta = rtw_get_stainfo(pstapriv, pmlmeinfo->network.mac_address)) != NULL) */ psta = rtw_get_stainfo(pstapriv, raddr); if (psta) { start_seq = (psta->sta_xmitpriv.txseq_tid[status & 0x07] % 4096u) + 1; @@ -3529,7 +3492,6 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) pframe = rtw_set_fixed_ie(pframe, 1, &(category), &(pattrib->pktlen)); pframe = rtw_set_fixed_ie(pframe, 1, &(action), &(pattrib->pktlen)); - /* */ if (pmlmepriv->num_FortyMHzIntolerant > 0) { u8 iedata = 0; @@ -3538,7 +3500,6 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) pframe = rtw_set_ie(pframe, WLAN_EID_BSS_COEX_2040, 1, &iedata, &(pattrib->pktlen)); } - /* */ memset(ICS, 0, sizeof(ICS)); if (pmlmepriv->num_sta_no_ht > 0) { int i; @@ -3584,7 +3545,6 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) continue; InfoContent[k] = i; - /* SET_BSS_INTOLERANT_ELE_REG_CLASS(InfoContent, i); */ k++; for (j = 1; j <= 14; j++) { @@ -3593,7 +3553,6 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) if (k < 16) { InfoContent[k] = j; /* channel number */ - /* SET_BSS_INTOLERANT_ELE_CHANNEL(InfoContent+k, j); */ k++; } } @@ -3611,7 +3570,6 @@ unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr) { struct sta_priv *pstapriv = &padapter->stapriv; struct sta_info *psta = NULL; - /* struct recv_reorder_ctrl *preorder_ctrl; */ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; u16 tid; @@ -3749,15 +3707,8 @@ void site_survey(struct adapter *padapter) { pmlmeext->sitesurvey_res.state = SCAN_COMPLETE; - /* switch back to the original channel */ - /* SelectChannel(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset); */ - set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode); - /* flush 4-AC Queue after site_survey */ - /* val8 = 0; */ - /* rtw_hal_set_hwreg(padapter, HW_VAR_TXPAUSE, (u8 *)(&val8)); */ - /* config MSR */ set_msr(padapter, (pmlmeinfo->state & 0x3)); @@ -3765,7 +3716,6 @@ void site_survey(struct adapter *padapter) rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain)); /* turn on dynamic functions */ restore_dm_func_flag(padapter); - /* switch_dm_func(padapter, DYNAMIC_ALL_FUNC_ENABLE, true); */ if (is_client_associated_to_ap(padapter)) issue_nulldata(padapter, NULL, 0, 3, 500); @@ -3962,7 +3912,6 @@ void start_create_ibss(struct adapter *padapter) rtw_hal_set_hwreg(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8)); /* switch channel */ - /* SelectChannel(padapter, pmlmeext->cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE); */ set_channel_bwmode(padapter, pmlmeext->cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE, CHANNEL_WIDTH_20); beacon_timing_control(padapter); @@ -4259,8 +4208,6 @@ void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame struct C2HEvent_Header *pc2h_evt_hdr; struct mlme_ext_priv *pmlmeext; struct cmd_priv *pcmdpriv; - /* u8 *pframe = precv_frame->u.hdr.rx_data; */ - /* uint len = precv_frame->u.hdr.len; */ if (!padapter) return; @@ -4599,8 +4546,6 @@ static void rtw_mlmeext_disconnect(struct adapter *padapter) struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network)); - /* set_opmode_cmd(padapter, infra_client_with_mlme); */ - /* For safety, prevent from keeping macid sleep. * If we can sure all power mode enter/leave are paired, * this check can be removed. @@ -4706,8 +4651,6 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res) if ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE) { /* correcting TSF */ correct_TSF(padapter, pmlmeext); - - /* set_link_timer(pmlmeext, DISCONNECT_TO); */ } rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_CONNECT, 0); @@ -4725,9 +4668,6 @@ void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *p /* nothing to do */ } else { /* adhoc client */ - /* update TSF Value */ - /* update_TSF(pmlmeext, pframe, len); */ - /* correcting TSF */ correct_TSF(padapter, pmlmeext); @@ -4921,8 +4861,6 @@ void linked_status_chk(struct adapter *padapter) } } } - - /* set_link_timer(pmlmeext, DISCONNECT_TO); */ } } @@ -5043,7 +4981,6 @@ u8 setopmode_hdl(struct adapter *padapter, u8 *pbuf) if (psetop->mode == NL80211_IFTYPE_AP) { pmlmeinfo->state = WIFI_FW_AP_STATE; type = _HW_STATE_AP_; - /* start_ap_mode(padapter); */ } else if (psetop->mode == NL80211_IFTYPE_STATION) { pmlmeinfo->state &= ~(BIT(0) | BIT(1));/* clear state */ pmlmeinfo->state |= WIFI_FW_STATION_STATE;/* set to STATION_STATE */ @@ -5055,7 +4992,6 @@ u8 setopmode_hdl(struct adapter *padapter, u8 *pbuf) } rtw_hal_set_hwreg(padapter, HW_VAR_SET_OPMODE, (u8 *)(&type)); - /* set_msr(padapter, type); */ if (psetop->mode == NL80211_IFTYPE_AP) { /* Do this after port switch to */ @@ -5072,7 +5008,6 @@ u8 createbss_hdl(struct adapter *padapter, u8 *pbuf) struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network)); struct joinbss_parm *pparm = (struct joinbss_parm *)pbuf; - /* u32 initialgain; */ if (pmlmeinfo->state == WIFI_FW_AP_STATE) { start_bss_network(padapter); @@ -5097,10 +5032,6 @@ u8 createbss_hdl(struct adapter *padapter, u8 *pbuf) save_dm_func_flag(padapter); switch_dm_func(padapter, DYNAMIC_FUNC_DISABLE, false); - /* config the initial gain under linking, need to write the BB registers */ - /* initialgain = 0x1E; */ - /* rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain)); */ - /* cancel link timer */ timer_delete_sync(&pmlmeext->link_timer); @@ -5131,8 +5062,6 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network)); u32 i; u8 cbw40_enable = 0; - /* u32 initialgain; */ - /* u32 acparm; */ u8 ch, bw, offset; /* check already connecting to AP or not */ @@ -5147,7 +5076,6 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) timer_delete_sync(&pmlmeext->link_timer); /* set MSR to nolink -> infra. mode */ - /* set_msr(padapter, _HW_STATE_NOLINK_); */ set_msr(padapter, _HW_STATE_STATION_); rtw_hal_set_hwreg(padapter, HW_VAR_MLME_DISCONNECT, NULL); @@ -5165,7 +5093,6 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) pmlmeinfo->agg_enable_bitmap = 0; pmlmeinfo->candidate_tid_bitmap = 0; pmlmeinfo->bwmode_updated = false; - /* pmlmeinfo->assoc_AP_vendor = HT_IOT_PEER_MAX; */ pmlmeinfo->VHT_enable = 0; memcpy(pnetwork, pbuf, offsetof(struct wlan_bssid_ex, ie_length)); @@ -5179,10 +5106,7 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) pmlmeext->cur_channel = (u8)pnetwork->configuration.ds_config; pmlmeinfo->bcn_interval = get_beacon_interval(pnetwork); - /* Check AP vendor to move rtw_joinbss_cmd() */ - /* pmlmeinfo->assoc_AP_vendor = check_assoc_AP(pnetwork->ies, pnetwork->ie_length); */ - /* sizeof(struct ndis_802_11_fix_ie) */ for (i = _FIXED_IE_LENGTH_; i < pnetwork->ie_length;) { if (i + sizeof(*pIE) > pnetwork->ie_length) break; @@ -5245,13 +5169,6 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) return H2C_SUCCESS; } - /* disable dynamic functions, such as high power, DIG */ - /* switch_dm_func(padapter, DYNAMIC_FUNC_DISABLE, false); */ - - /* config the initial gain under linking, need to write the BB registers */ - /* initialgain = 0x1E; */ - /* rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain)); */ - rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, pmlmeinfo->network.mac_address); join_type = 0; rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type)); @@ -5540,11 +5457,7 @@ u8 add_ba_hdl(struct adapter *padapter, unsigned char *pbuf) if (((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) && (pmlmeinfo->HT_enable)) || ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) { - /* pmlmeinfo->ADDBA_retry_count = 0; */ - /* pmlmeinfo->candidate_tid_bitmap |= (0x1 << pparm->tid); */ - /* psta->htpriv.candidate_tid_bitmap |= BIT(pparm->tid); */ issue_action_BA(padapter, pparm->addr, WLAN_ACTION_ADDBA_REQ, (u16)pparm->tid); - /* _set_timer(&pmlmeext->ADDBA_timer, ADDBA_TO); */ _set_timer(&psta->addba_retry_timer, ADDBA_TO); } else { psta->htpriv.candidate_tid_bitmap &= ~BIT(pparm->tid); @@ -5702,7 +5615,6 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf) if ((pstapriv->tim_bitmap & BIT(0)) && (psta_bmc->sleepq_len > 0)) { msleep(10);/* 10ms, ATIM(HIQ) Windows */ - /* spin_lock_bh(&psta_bmc->sleep_q.lock); */ spin_lock_bh(&pxmitpriv->lock); xmitframe_phead = get_list_head(&psta_bmc->sleep_q); @@ -5726,7 +5638,6 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf) rtw_hal_xmitframe_enqueue(padapter, pxmitframe); } - /* spin_unlock_bh(&psta_bmc->sleep_q.lock); */ spin_unlock_bh(&pxmitpriv->lock); /* check hi queue and bmc_sleepq */ From 42109294df788906342c1711d4d43a26e52fa301 Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Mon, 7 Sep 2026 12:34:58 -0700 Subject: [PATCH 073/145] staging: rtl8723bs: remove commented out code in core/ files. Remove commented-out code in a bunch of files in core/ Remove adjacent comment where applicable. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260907193458.70319-1-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_cmd.c | 19 ----------- drivers/staging/rtl8723bs/core/rtw_efuse.c | 3 -- .../staging/rtl8723bs/core/rtw_ieee80211.c | 8 ----- .../staging/rtl8723bs/core/rtw_ioctl_set.c | 3 -- drivers/staging/rtl8723bs/core/rtw_pwrctrl.c | 1 - drivers/staging/rtl8723bs/core/rtw_security.c | 8 ----- drivers/staging/rtl8723bs/core/rtw_sta_mgt.c | 32 ------------------- .../staging/rtl8723bs/core/rtw_wlan_util.c | 17 ---------- drivers/staging/rtl8723bs/core/rtw_xmit.c | 4 --- 9 files changed, 95 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl8723bs/core/rtw_cmd.c index 59f13f6b85ad..267901cc5bf8 100644 --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c @@ -252,12 +252,10 @@ static int _rtw_enqueue_cmd(struct __queue *queue, struct cmd_obj *obj) if (!obj) return 0; - /* spin_lock_bh(&queue->lock); */ spin_lock_irqsave(&queue->lock, irqL); list_add_tail(&obj->list, &queue->queue); - /* spin_unlock_bh(&queue->lock); */ spin_unlock_irqrestore(&queue->lock, irqL); return 0; @@ -268,7 +266,6 @@ struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue) unsigned long irqL; struct cmd_obj *obj; - /* spin_lock_bh(&(queue->lock)); */ spin_lock_irqsave(&queue->lock, irqL); if (list_empty(&queue->queue)) { obj = NULL; @@ -277,7 +274,6 @@ struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue) list_del_init(&obj->list); } - /* spin_unlock_bh(&(queue->lock)); */ spin_unlock_irqrestore(&queue->lock, irqL); return obj; @@ -546,7 +542,6 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, init_h2fwcmd_w_parm_no_rsp(ph2c, survey_para, SITE_SURVEY_CMD); - /* psurveyPara->bsslimit = 48; */ survey_para->scan_mode = pmlmepriv->scan_mode; /* prepare ssid list */ @@ -588,7 +583,6 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd) { - /* rtw_free_cmd_obj(pcmd); */ kfree(pcmd->parmbuf); kfree(pcmd); } @@ -1000,7 +994,6 @@ u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr) init_h2fwcmd_w_parm_no_rsp(ph2c, paddbareq_parm, ADD_BA_REQ_CMD); - /* rtw_enqueue_cmd(pcmdpriv, ph2c); */ res = rtw_enqueue_cmd(pcmdpriv, ph2c); exit: @@ -1034,7 +1027,6 @@ u8 rtw_reset_securitypriv_cmd(struct adapter *padapter) init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, SET_DRV_EXTRA_CMD); - /* rtw_enqueue_cmd(pcmdpriv, ph2c); */ res = rtw_enqueue_cmd(pcmdpriv, ph2c); exit: return res; @@ -1067,7 +1059,6 @@ u8 rtw_free_assoc_resources_cmd(struct adapter *padapter) init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, SET_DRV_EXTRA_CMD); - /* rtw_enqueue_cmd(pcmdpriv, ph2c); */ res = rtw_enqueue_cmd(pcmdpriv, ph2c); exit: return res; @@ -1100,7 +1091,6 @@ u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter) pdrvextra_cmd_parm->pbuf = NULL; init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, SET_DRV_EXTRA_CMD); - /* rtw_enqueue_cmd(pcmdpriv, ph2c); */ res = rtw_enqueue_cmd(pcmdpriv, ph2c); exit: return res; @@ -1249,18 +1239,13 @@ static void dynamic_chk_wk_hdl(struct adapter *padapter) /* for debug purpose */ _linked_info_dump(padapter); - /* if (check_fwstate(pmlmepriv, _FW_UNDER_LINKING|_FW_UNDER_SURVEY) ==false) */ { linked_status_chk(padapter); traffic_status_watchdog(padapter, false); } rtw_hal_dm_watchdog(padapter); - /* check_hw_pbc(padapter, pdrvextra_cmd->pbuf, pdrvextra_cmd->type); */ - - /* */ /* BT-Coexist */ - /* */ hal_btcoex_Handler(padapter); /* always call rtw_ps_processor() at last one. */ @@ -1325,7 +1310,6 @@ u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue) struct cmd_obj *ph2c; struct drvextra_cmd_parm *pdrvextra_cmd_parm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - /* struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(padapter); */ u8 res = _SUCCESS; if (enqueue) { @@ -1877,9 +1861,6 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd) pnetwork->length = get_wlan_bssid_ex_sz(pnetwork); memcpy(&pwlan->network, pnetwork, pnetwork->length); - /* pwlan->fixed = true; */ - - /* list_add_tail(&(pwlan->list), &pmlmepriv->scanned_queue.queue); */ /* copy pdev_network information to pmlmepriv->cur_network */ memcpy(&tgt_network->network, pnetwork, (get_wlan_bssid_ex_sz(pnetwork))); diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c index b2d22307b115..d5bf8f17b9ff 100644 --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c @@ -87,7 +87,6 @@ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data) /* <20130121, Kordan> For SMIC EFUSE specificatoin. */ /* 0x34[11]: SW force PGMEN input of efuse to high. (for the bank selected by 0x34[9:8]) */ - /* PHY_SetMacReg(padapter, 0x34, BIT11, 0); */ rtw_write16(padapter, 0x34, rtw_read16(padapter, 0x34) & (~BIT(11))); /* -----------------e-fuse reg ctrl --------------------------------- */ @@ -173,6 +172,4 @@ void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuse_type) else efuse_read_all_map(padapter, efuse_type, eeprom->efuse_eeprom_data); - /* PlatformMoveMemory((void *)&pHalData->EfuseMap[EFUSE_MODIFY_MAP][0], */ - /* void *)&pHalData->EfuseMap[EFUSE_INIT_MAP][0], map_len); */ } /* rtw_efuse_shadow_map_update */ diff --git a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c index 4d211711f2ba..f7348d135f81 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c +++ b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c @@ -330,7 +330,6 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv) if (rate_len > 8) { ie = rtw_set_ie(ie, WLAN_EID_SUPP_RATES, 8, pdev_network->supported_rates, &sz); - /* ie = rtw_set_ie(ie, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8), (pdev_network->supported_rates + 8), &sz); */ } else { ie = rtw_set_ie(ie, WLAN_EID_SUPP_RATES, rate_len, pdev_network->supported_rates, &sz); } @@ -351,10 +350,6 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv) /* todo: */ } - /* pdev_network->ie_length = sz; update ie_length */ - - /* return _SUCCESS; */ - return sz; } @@ -481,7 +476,6 @@ int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis /* pairwise_cipher */ if (left >= 2) { - /* count = le16_to_cpu(*(u16*)pos); */ count = get_unaligned_le16(pos); pos += 2; left -= 2; @@ -543,7 +537,6 @@ int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi /* pairwise_cipher */ if (left >= 2) { - /* count = le16_to_cpu(*(u16*)pos); */ count = get_unaligned_le16(pos); pos += 2; left -= 2; @@ -1074,7 +1067,6 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork) { unsigned short cap = 0; u8 bencrypt = 0; - /* u8 wpa_ie[255], rsn_ie[255]; */ u16 wpa_len = 0, rsn_len = 0; struct HT_info_element *pht_info = NULL; struct ieee80211_ht_cap *pht_cap = NULL; diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c index 2739d0e99098..b82c1e3572c0 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c +++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c @@ -322,7 +322,6 @@ u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter, case NL80211_IFTYPE_AP: set_fwstate(pmlmepriv, WIFI_AP_STATE); start_ap_mode(padapter); - /* rtw_indicate_connect(padapter); */ break; @@ -330,8 +329,6 @@ u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter, break; } - /* SecClearAllKeys(adapter); */ - spin_unlock_bh(&pmlmepriv->lock); } return true; diff --git a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c index 448611ad8237..9aeaad223f2f 100644 --- a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c +++ b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c @@ -210,7 +210,6 @@ void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets } if (bLeaveLPS) - /* rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, 1); */ rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, tx ? 0 : 1); } diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 3de102a27517..310555657302 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -108,11 +108,9 @@ void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe) /* start to decrypt recvframe */ if ((prxattrib->encrypt == _WEP40_) || (prxattrib->encrypt == _WEP104_)) { iv = pframe + prxattrib->hdrlen; - /* keyindex =(iv[3]&0x3); */ keyindex = prxattrib->key_index; keylength = psecuritypriv->dot11DefKeylen[keyindex]; memcpy(&wepkey[0], iv, 3); - /* memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[psecuritypriv->dot11PrivacyKeyIndex].skey[0], keylength); */ memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[keyindex].skey[0], keylength); length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len; @@ -922,9 +920,6 @@ static signed int aes_cipher(u8 *key, uint hdrlen, u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) { /* exclude ICV */ - /*static*/ - /* unsigned char message[MAX_MSG_SIZE]; */ - /* Intermediate Buffers */ signed int curfragnum, length; u8 *pframe, *prwskey; /* *payload,*iv */ @@ -1167,9 +1162,6 @@ static signed int aes_decipher(u8 *key, uint hdrlen, u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) { /* exclude ICV */ - /*static*/ - /* unsigned char message[MAX_MSG_SIZE]; */ - /* Intermediate Buffers */ signed int length; diff --git a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c index 6d014bf8fa96..11351aa4f4d0 100644 --- a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c +++ b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c @@ -14,9 +14,6 @@ void _rtw_init_stainfo(struct sta_info *psta) spin_lock_init(&psta->lock); INIT_LIST_HEAD(&psta->list); INIT_LIST_HEAD(&psta->hash_list); - /* INIT_LIST_HEAD(&psta->asoc_list); */ - /* INIT_LIST_HEAD(&psta->sleep_list); */ - /* INIT_LIST_HEAD(&psta->wakeup_list); */ INIT_LIST_HEAD(&psta->sleep_q.queue); spin_lock_init(&psta->sleep_q.lock); @@ -171,7 +168,6 @@ u32 _rtw_free_sta_priv(struct sta_priv *pstapriv) return _SUCCESS; } -/* struct sta_info *rtw_alloc_stainfo(_queue *pfree_sta_queue, unsigned char *hwaddr) */ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) { s32 index; @@ -184,10 +180,8 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) pfree_sta_queue = &pstapriv->free_sta_queue; - /* spin_lock_bh(&(pfree_sta_queue->lock)); */ spin_lock_bh(&pstapriv->sta_hash_lock); if (list_empty(&pfree_sta_queue->queue)) { - /* spin_unlock_bh(&(pfree_sta_queue->lock)); */ spin_unlock_bh(&pstapriv->sta_hash_lock); return NULL; } @@ -195,8 +189,6 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) list_del_init(&psta->list); - /* spin_unlock_bh(&(pfree_sta_queue->lock)); */ - _rtw_init_stainfo(psta); psta->padapter = pstapriv->padapter; @@ -212,14 +204,10 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) } phash_list = &pstapriv->sta_hash[index]; - /* spin_lock_bh(&(pstapriv->sta_hash_lock)); */ - list_add_tail(&psta->hash_list, phash_list); pstapriv->asoc_sta_count++; - /* spin_unlock_bh(&(pstapriv->sta_hash_lock)); */ - /* Commented by Albert 2009/08/13 */ /* For the SMC router, the sequence number of first packet of WPS handshake will be 0. */ /* In this case, this packet will be dropped by recv_decache function if we use the 0x00 as the default value for tid_rxseq variable. */ @@ -240,7 +228,6 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) preorder_ctrl->indicate_seq = 0xffff; preorder_ctrl->wend_b = 0xffff; - /* preorder_ctrl->wsize_b = (NR_RECVBUFF-2); */ preorder_ctrl->wsize_b = 64;/* 64; */ INIT_LIST_HEAD(&preorder_ctrl->pending_recvframe_queue.queue); @@ -287,50 +274,38 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta) pstaxmitpriv = &psta->sta_xmitpriv; - /* list_del_init(&psta->sleep_list); */ - - /* list_del_init(&psta->wakeup_list); */ - spin_lock_bh(&pxmitpriv->lock); rtw_free_xmitframe_queue(pxmitpriv, &psta->sleep_q); psta->sleepq_len = 0; /* vo */ - /* spin_lock_bh(&(pxmitpriv->vo_pending.lock)); */ rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->vo_q.sta_pending); list_del_init(&pstaxmitpriv->vo_q.tx_pending); phwxmit = pxmitpriv->hwxmits; phwxmit->accnt -= pstaxmitpriv->vo_q.qcnt; pstaxmitpriv->vo_q.qcnt = 0; - /* spin_unlock_bh(&(pxmitpriv->vo_pending.lock)); */ /* vi */ - /* spin_lock_bh(&(pxmitpriv->vi_pending.lock)); */ rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->vi_q.sta_pending); list_del_init(&pstaxmitpriv->vi_q.tx_pending); phwxmit = pxmitpriv->hwxmits + 1; phwxmit->accnt -= pstaxmitpriv->vi_q.qcnt; pstaxmitpriv->vi_q.qcnt = 0; - /* spin_unlock_bh(&(pxmitpriv->vi_pending.lock)); */ /* be */ - /* spin_lock_bh(&(pxmitpriv->be_pending.lock)); */ rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->be_q.sta_pending); list_del_init(&pstaxmitpriv->be_q.tx_pending); phwxmit = pxmitpriv->hwxmits + 2; phwxmit->accnt -= pstaxmitpriv->be_q.qcnt; pstaxmitpriv->be_q.qcnt = 0; - /* spin_unlock_bh(&(pxmitpriv->be_pending.lock)); */ /* bk */ - /* spin_lock_bh(&(pxmitpriv->bk_pending.lock)); */ rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->bk_q.sta_pending); list_del_init(&pstaxmitpriv->bk_q.tx_pending); phwxmit = pxmitpriv->hwxmits + 3; phwxmit->accnt -= pstaxmitpriv->bk_q.qcnt; pstaxmitpriv->bk_q.qcnt = 0; - /* spin_unlock_bh(&(pxmitpriv->bk_pending.lock)); */ spin_unlock_bh(&pxmitpriv->lock); @@ -339,10 +314,6 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta) pstapriv->asoc_sta_count--; spin_unlock_bh(&pstapriv->sta_hash_lock); - /* re-init sta_info; 20061114 will be init in alloc_stainfo */ - /* _rtw_init_sta_xmit_priv(&psta->sta_xmitpriv); */ - /* _rtw_init_sta_recv_priv(&psta->sta_recvpriv); */ - timer_delete_sync(&psta->addba_retry_timer); /* for A-MPDU Rx reordering buffer control, cancel reordering_ctrl_timer */ @@ -410,9 +381,7 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta) psta->under_exist_checking = 0; - /* spin_lock_bh(&(pfree_sta_queue->lock)); */ list_add_tail(&psta->list, get_list_head(pfree_sta_queue)); - /* spin_unlock_bh(&(pfree_sta_queue->lock)); */ exit: return _SUCCESS; @@ -493,7 +462,6 @@ u32 rtw_init_bcmc_stainfo(struct adapter *padapter) u8 bcast_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; struct sta_priv *pstapriv = &padapter->stapriv; - /* struct __queue *pstapending = &padapter->xmitpriv.bm_pending; */ psta = rtw_alloc_stainfo(pstapriv, bcast_addr); diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c index 6d49dff616c2..9feab9ab7545 100644 --- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c +++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c @@ -655,7 +655,6 @@ void flush_all_cam_entry(struct adapter *padapter) int WMM_param_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE) { - /* struct registry_priv *pregpriv = &padapter->registrypriv; */ struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -774,7 +773,6 @@ void WMMOnAssocRsp(struct adapter *padapter) case 0x1: rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BK, (u8 *)(&acParm)); - /* acm_mask |= (ACM? BIT(0):0); */ edca[XMIT_BK_QUEUE] = acParm; break; @@ -872,8 +870,6 @@ static void bwmode_update_check(struct adapter *padapter, struct ndis_80211_var_ struct wlan_bssid_ex *cur_network = &pmlmeinfo->network; struct sta_priv *pstapriv = &padapter->stapriv; - /* set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode); */ - /* update ap's stainfo */ psta = rtw_get_stainfo(pstapriv, cur_network->mac_address); if (psta) { @@ -984,7 +980,6 @@ void HTOnAssocRsp(struct adapter *padapter) { unsigned char max_AMPDU_len; unsigned char min_MPDU_spacing; - /* struct registry_priv *pregpriv = &padapter->registrypriv; */ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -992,7 +987,6 @@ void HTOnAssocRsp(struct adapter *padapter) pmlmeinfo->HT_enable = 1; } else { pmlmeinfo->HT_enable = 0; - /* set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode); */ return; } @@ -1082,7 +1076,6 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len) unsigned char *p; unsigned short val16, subtype; struct wlan_network *cur_network = &Adapter->mlmepriv.cur_network; - /* u8 wpa_ie[255], rsn_ie[255]; */ u16 wpa_len = 0, rsn_len = 0; u8 encryp_protocol = 0; struct wlan_bssid_ex *bssid; @@ -1154,7 +1147,6 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len) cur_network->bcn_info.ht_info_infos_0 = ht_info_infos_0; /* to do : need to check that whether modify related register of BB or not */ } - /* goto _mismatch; */ } /* Checking for channel */ @@ -1281,7 +1273,6 @@ void update_beacon_info(struct adapter *padapter, u8 *pframe, uint pkt_len, stru break; case WLAN_EID_HT_OPERATION: /* HT info */ - /* HT_info_handler(padapter, pIE); */ bwmode_update_check(padapter, pIE); break; @@ -1392,10 +1383,7 @@ static u32 get_realtek_assoc_AP_vender(struct ndis_80211_var_ie *pIE) if (pIE->length >= 5) { if (pIE->data[4] == 1) - /* if (pIE->data[5] & RT_HT_CAP_USE_LONG_PREAMBLE) */ - /* bssDesc->BssHT.RT2RT_HT_Mode |= RT_HT_CAP_USE_LONG_PREAMBLE; */ if (pIE->data[5] & RT_HT_CAP_USE_92SE) - /* bssDesc->BssHT.RT2RT_HT_Mode |= RT_HT_CAP_USE_92SE; */ Vender = HT_IOT_PEER_REALTEK_92SE; if (pIE->data[5] & RT_HT_CAP_USE_SOFTAP) @@ -1468,8 +1456,6 @@ void update_IOT_info(struct adapter *padapter) switch_dm_func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)), false); break; case HT_IOT_PEER_REALTEK: - /* rtw_write16(padapter, 0x4cc, 0xffff); */ - /* rtw_write16(padapter, 0x546, 0x01c0); */ /* disable high power */ switch_dm_func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)), false); break; @@ -1666,16 +1652,13 @@ void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len) tsf |= le32_to_cpu(*pbuf); /* delay = (timestamp mod 1024*100)/1000 (unit: ms) */ - /* delay_ms = do_div(tsf, (pmlmeinfo->bcn_interval*1024))/1000; */ delay_ms = do_div(tsf, (pmlmeinfo->bcn_interval * 1024)); delay_ms = delay_ms / 1000; if (delay_ms >= 8) pmlmeext->bcn_delay_cnt[8]++; - /* pmlmeext->bcn_delay_ratio[8] = (pmlmeext->bcn_delay_cnt[8] * 100) /pmlmeext->bcn_cnt; */ else pmlmeext->bcn_delay_cnt[delay_ms]++; - /* pmlmeext->bcn_delay_ratio[delay_ms] = (pmlmeext->bcn_delay_cnt[delay_ms] * 100) /pmlmeext->bcn_cnt; */ /* dump for adaptive_early_32k */ if (pmlmeext->bcn_cnt > 100 && pmlmeext->adaptive_tsf_done) { u8 ratio_20_delay, ratio_80_delay; diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index 95350fd6a94f..c0cb9973662f 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -392,7 +392,6 @@ static void update_attrib_vcs_info(struct adapter *padapter, struct xmit_frame * { u32 sz; struct pkt_attrib *pattrib = &pxmitframe->attrib; - /* struct sta_info *psta = pattrib->psta; */ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -921,8 +920,6 @@ int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr if (pattrib->subtype & WIFI_DATA_TYPE) { if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { - /* to_ds = 1, fr_ds = 0; */ - { /* 1.Data transfer to AP */ /* 2.Arp pkt will relayed by AP */ @@ -935,7 +932,6 @@ int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr if (pqospriv->qos_option) qos_option = true; } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) { - /* to_ds = 0, fr_ds = 1; */ SetFrDs(fctrl); memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); memcpy(pwlanhdr->addr2, get_bssid(pmlmepriv), ETH_ALEN); From 495cb31c791bdf3f9efef255a9587b05b0526c9d Mon Sep 17 00:00:00 2001 From: Tianchu Chen Date: Wed, 9 Sep 2026 08:06:26 +0000 Subject: [PATCH 074/145] staging: rtl8723bs: fix protected RX frame validation in decrypt path The RX software decrypt path mishandles crafted protected frames from a malicious AP in two ways: 1) decryptor() never checks that a protected frame is long enough to hold the 802.11 header plus the per-cipher trailer. All of rtw_wep_decrypt(), rtw_tkip_decrypt() and rtw_aes_decrypt() compute length = hdr.len - hdrlen - iv_len; and act on the result, and recvframe_chkmic() similarly computes datalen = hdr.len - hdrlen - iv_len - icv_len - 8; for TKIP (the 8-byte Michael MIC is not accounted for in icv_len). A frame shorter than hdrlen + iv_len + icv_len (+ 8 for TKIP) underflows these unsigned subtractions, turning into a ~4 GiB iteration count in aes_decipher()/arc4_crypt()/rtw_seccalctkipmic() or a ~4 GiB crc32_le() length, causing out-of-bounds reads/writes of up to ~4 GiB starting from the rx skb. Reject such frames in decryptor() before touching the IV; this covers all three ciphers and the TKIP MIC check, and also keeps the unconditional iv[3] access within the frame. 2) validate_80211w_mgmt() keeps using the frame - two memcpys through the stale rx_data pointer and a pkt_len update - before checking whether decryptor() returned NULL. On decrypt failure (e.g. a unicast protected deauth/disassoc/action frame with a bad MIC, which this path always software-decrypts) the skb has already been freed, so this is a use-after-free read/write, and the caller's error path frees the frame a second time, drifting free_recvframe_cnt. Bail out immediately when decryptor() fails, freeing the temporary mgmt_DATA buffer first. Discovered by Atuin - Automated Vulnerability Discovery Engine. Fixes: 554c0a3abf21 ("staging: Add rtl8723bs sdio wifi driver") Assisted-by: LLM Cc: stable@vger.kernel.org Signed-off-by: Tianchu Chen Link: https://patch.msgid.link/8ee3bdd1c45034200cb1aa9a7e9b575b9584643a@linux.dev Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_recv.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index dde66b68d5e3..0434c2166837 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -416,8 +416,21 @@ static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *p u32 res = _SUCCESS; if (prxattrib->encrypt > 0) { - u8 *iv = precv_frame->u.hdr.rx_data + prxattrib->hdrlen; + u8 *iv; + u32 min_len = prxattrib->hdrlen + prxattrib->iv_len + prxattrib->icv_len; + /* TKIP appends an 8-byte Michael MIC that icv_len doesn't account for */ + if (prxattrib->encrypt == _TKIP_) + min_len += 8; + + /* a protected frame must be long enough to hold the IV and ICV/MIC */ + if (precv_frame->u.hdr.len < min_len) { + rtw_free_recvframe(precv_frame, + &padapter->recvpriv.free_recv_queue); + return NULL; + } + + iv = precv_frame->u.hdr.rx_data + prxattrib->hdrlen; prxattrib->key_index = (((iv[3]) >> 6) & 0x3); if (prxattrib->key_index > WEP_KEYS) { @@ -1358,6 +1371,10 @@ static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame if (!mgmt_DATA) goto validate_80211w_fail; precv_frame = decryptor(adapter, precv_frame); + if (!precv_frame) { + kfree(mgmt_DATA); + goto validate_80211w_fail; + } /* save actual management data frame body */ memcpy(mgmt_DATA, ptr + pattrib->hdrlen + pattrib->iv_len, data_len); /* overwrite the iv field */ @@ -1365,8 +1382,6 @@ static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame /* remove the iv and icv length */ pattrib->pkt_len = pattrib->pkt_len - pattrib->iv_len - pattrib->icv_len; kfree(mgmt_DATA); - if (!precv_frame) - goto validate_80211w_fail; } else if (is_multicast_ether_addr(GetAddr1Ptr(ptr)) && (subtype == WIFI_DEAUTH || subtype == WIFI_DISASSOC)) { signed int BIP_ret = _SUCCESS; From 2ce40e620d25a200f506c92c50913627a24794b7 Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Wed, 9 Sep 2026 10:58:14 -0700 Subject: [PATCH 075/145] staging: rtl8723bs: delete empty comment lines in core/ files Delete all empty comment lines /* */ in core/ source files, as they are not serving any purpose. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260909175814.73718-1-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_ap.c | 2 -- drivers/staging/rtl8723bs/core/rtw_cmd.c | 2 -- drivers/staging/rtl8723bs/core/rtw_ieee80211.c | 2 -- drivers/staging/rtl8723bs/core/rtw_mlme.c | 12 +----------- drivers/staging/rtl8723bs/core/rtw_pwrctrl.c | 2 -- drivers/staging/rtl8723bs/core/rtw_recv.c | 5 ----- 6 files changed, 1 insertion(+), 24 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c index 9face4c8ded2..c0ad656361d8 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -598,9 +598,7 @@ static void update_hw_ht_param(struct adapter *padapter) rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_FACTOR, (u8 *)(&max_AMPDU_len)); - /* */ /* Config SM Power Save setting */ - /* */ pmlmeinfo->SM_PS = (le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) & 0x0C) >> 2; diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl8723bs/core/rtw_cmd.c index 267901cc5bf8..1b95ef6996c6 100644 --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c @@ -1137,9 +1137,7 @@ bool traffic_status_watchdog(struct adapter *padapter, bool from_timer) collect_traffic_statistics(padapter); - /* */ /* Determine if our traffic is busy now */ - /* */ if ((check_fwstate(pmlmepriv, _FW_LINKED)) /*&& !MgntInitAdapterInProgress(pMgntInfo)*/) { /* if we raise busy_traffic in last watchdog, using lower threshold. */ diff --git a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c index f7348d135f81..2b2383021b9c 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c +++ b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c @@ -31,9 +31,7 @@ u8 RSN_CIPHER_SUITE_TKIP[] = { 0x00, 0x0f, 0xac, 2 }; u8 RSN_CIPHER_SUITE_WRAP[] = { 0x00, 0x0f, 0xac, 3 }; u8 RSN_CIPHER_SUITE_CCMP[] = { 0x00, 0x0f, 0xac, 4 }; u8 RSN_CIPHER_SUITE_WEP104[] = { 0x00, 0x0f, 0xac, 5 }; -/* */ /* for adhoc-master to generate ie and provide supported-rate to fw */ -/* */ static u8 WIFI_CCKRATES[] = { (IEEE80211_CCK_RATE_1MB | IEEE80211_BASIC_RATE_MASK), diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index e22e33c364bb..d644e5c5628c 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -1094,7 +1094,6 @@ void rtw_reset_securitypriv(struct adapter *adapter) /* 802.1x */ /* Added by Albert 2009/02/18 */ /* We have to backup the PMK information for WiFi PMK Caching test item. */ - /* */ /* Backup the btkip_countermeasure information. */ /* When the countermeasure is trigger, the driver have to disconnect with AP for 60 seconds. */ @@ -1121,7 +1120,6 @@ void rtw_reset_securitypriv(struct adapter *adapter) } else { /* reset values in securitypriv */ /* if (adapter->mlmepriv.fw_state & WIFI_STATION_STATE) */ - /* */ struct security_priv *psec_priv = &adapter->securitypriv; psec_priv->dot11_auth_algrthm = dot11_auth_algrthm_open; /* open system */ @@ -1133,7 +1131,6 @@ void rtw_reset_securitypriv(struct adapter *adapter) psec_priv->ndisauthtype = Ndis802_11AuthModeOpen; psec_priv->ndisencryptstatus = Ndis802_11WEPDisabled; - /* */ } spin_unlock_bh(&adapter->security_key_mutex); } @@ -1144,7 +1141,6 @@ void rtw_reset_securitypriv(struct adapter *adapter) /* if join_res > 0, for (fw_state ==WIFI_STATION_STATE), we check if "ptarget_sta" & "ptarget_wlan" exist. */ /* if join_res > 0, for (fw_state ==WIFI_ADHOC_STATE), we only check if "ptarget_wlan" exist. */ /* if join_res > 0, update "cur_network->network" from "pnetwork->network" if (ptarget_wlan != NULL). */ -/* */ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *buf) { struct sta_info *ptarget_sta = NULL, *pcur_sta = NULL; @@ -1530,7 +1526,7 @@ void _rtw_join_timeout_handler(struct timer_list *t) } else { rtw_indicate_disconnect(adapter); - free_scanqueue(mlme_priv);/* */ + free_scanqueue(mlme_priv); /* indicate disconnect for the case that join_timeout and check_fwstate != FW_LINKED */ rtw_cfg80211_indicate_disconnect(adapter); @@ -2008,13 +2004,11 @@ static int SecIsInPMKIDList(struct adapter *Adapter, u8 *bssid) return -1; } -/* */ /* Check the RSN IE length */ /* If the RSN IE length <= 20, the RSN IE didn't include the PMKID information */ /* 0-11th element in the array are the fixed IE */ /* 12th element in the array is the IE */ /* 13th element in the array is the IE length */ -/* */ static int rtw_append_pmkid(struct adapter *Adapter, int pmkid_idx, u8 *ie, uint ie_len) { @@ -2447,16 +2441,12 @@ void rtw_update_ht_cap(struct adapter *adapter, u8 *pie, uint ie_len, u8 channel } } - /* */ /* Config SM Power Save setting */ - /* */ pmlmeinfo->SM_PS = (le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) & 0x0C) >> 2; - /* */ /* Config current HT Protection mode. */ - /* */ pmlmeinfo->HT_protection = pmlmeinfo->HT_info.infos[1] & 0x3; } diff --git a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c index 9aeaad223f2f..93a89712489e 100644 --- a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c +++ b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c @@ -500,10 +500,8 @@ void LeaveAllPowerSaveModeDirect(struct adapter *Adapter) } } -/* */ /* Description: Leave all power save mode: LPS, FwLPS, IPS if needed. */ /* Move code to function by tynli. 2010.03.26. */ -/* */ void LeaveAllPowerSaveMode(struct adapter *Adapter) { struct dvobj_priv *dvobj = adapter_to_dvobj(Adapter); diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index 0434c2166837..b6ed3d3997c3 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -818,7 +818,6 @@ static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *p memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); memcpy(pattrib->ta, pattrib->src, ETH_ALEN); - /* */ memcpy(pattrib->bssid, mybssid, ETH_ALEN); *psta = rtw_get_stainfo(pstapriv, pattrib->bssid); /* get sta_info */ @@ -1721,11 +1720,9 @@ static int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_n if (SN_LESS(seq_num, preorder_ctrl->indicate_seq)) return false; - /* */ /* Sliding window manipulation. Conditions includes: */ /* 1. Incoming SeqNum is equal to WinStart =>Window shift 1 */ /* 2. Incoming SeqNum is larger than the WinEnd => Window shift N */ - /* */ if (SN_EQUAL(seq_num, preorder_ctrl->indicate_seq)) { preorder_ctrl->indicate_seq = (preorder_ctrl->indicate_seq + 1) % 4096u; @@ -1931,11 +1928,9 @@ static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame * /* Indication process. */ /* After Packet dropping and Sliding Window shifting as above, we can now just indicate the packets */ /* with the SeqNum smaller than latest WinStart and buffer other packets. */ - /* */ /* For Rx Reorder condition: */ /* 1. All packets with SeqNum smaller than WinStart => Indicate */ /* 2. All packets with SeqNum larger than or equal to WinStart => Buffer it. */ - /* */ if (recv_indicatepkts_in_order(padapter, preorder_ctrl, false)) { _set_timer(&preorder_ctrl->reordering_ctrl_timer, REORDER_WAIT_TIME); From 85cb6005ad47e19a83d9bbcf0f6a425065708b8a Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Thu, 10 Sep 2026 15:03:57 -0700 Subject: [PATCH 076/145] staging: rtl8723bs: delete empty comment lines in hal_com_reg.h Delete all empty comment lines /* */ in hal_com_reg.h as they are not serving any purpose. Add back a newline if needed for spacing, while avoiding multiple blank lines. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260910220359.6683-2-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/include/hal_com_reg.h | 92 +------------------ 1 file changed, 3 insertions(+), 89 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/hal_com_reg.h b/drivers/staging/rtl8723bs/include/hal_com_reg.h index 4671fdfff916..352280ed3c56 100644 --- a/drivers/staging/rtl8723bs/include/hal_com_reg.h +++ b/drivers/staging/rtl8723bs/include/hal_com_reg.h @@ -7,11 +7,7 @@ #ifndef __HAL_COMMON_REG_H__ #define __HAL_COMMON_REG_H__ -/* */ -/* */ /* 0x0000h ~ 0x00FFh System Configuration */ -/* */ -/* */ #define REG_SYS_FUNC_EN 0x0002 #define REG_APS_FSMCO 0x0004 #define REG_SYS_CLKR 0x0008 @@ -36,11 +32,7 @@ #define REG_SYS_CFG 0x00F0 #define REG_GPIO_OUTSTS 0x00F4 /* For RTL8723 only. */ -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ #define REG_CR 0x0100 #define REG_PBP 0x0104 #define REG_TRXDMA_CTRL 0x010C @@ -53,31 +45,18 @@ #define REG_HMETFR 0x01CC #define REG_HMEBOX_0 0x01D0 -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ #define REG_RQPN 0x0200 #define REG_TDECTRL 0x0208 #define REG_TXDMA_STATUS 0x0210 #define REG_RQPN_NPQ 0x0214 #define REG_AUTO_LLT 0x0224 - -/* */ -/* */ /* 0x0280h ~ 0x02FFh RXDMA Configuration */ -/* */ -/* */ #define REG_RXDMA_AGG_PG_TH 0x0280 #define REG_RXPKT_NUM 0x0284 -/* */ -/* */ /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ #define REG_TXPKT_EMPTY 0x041A #define REG_FWHW_TXQ_CTRL 0x0420 #define REG_HWSEQ_CTRL 0x0423 @@ -92,11 +71,7 @@ #define REG_MACID_SLEEP 0x04D4 #define REG_NQOS_SEQ 0x04DC -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ #define REG_EDCA_VO_PARAM 0x0500 #define REG_EDCA_VI_PARAM 0x0504 #define REG_EDCA_BE_PARAM 0x0508 @@ -108,7 +83,7 @@ #define REG_SLOT 0x051B #define REG_TXPAUSE 0x0522 #define REG_RD_CTRL 0x0524 -/* */ + /* Format for offset 540h-542h: */ /* [3:0]: TBTT prohibit setup in unit of 32us. The time for HW getting beacon content before TBTT. */ /* [7:4]: Reserved. */ @@ -122,7 +97,6 @@ /* TBTT */ /* Note: We cannot update beacon content to HW or send any AC packets during the time between Setup and Hold. */ /* Described by Designer Tim and Bruce, 2011-01-14. */ -/* */ #define REG_TBTT_PROHIBIT 0x0540 #define REG_BCN_CTRL 0x0550 #define REG_BCN_CTRL_1 0x0551 @@ -137,11 +111,7 @@ #define REG_TSFTR 0x0560 #define REG_ACMHWCTRL 0x05C0 -/* */ -/* */ /* 0x0600h ~ 0x07FFh WMAC Configuration */ -/* */ -/* */ #define REG_BWOPMODE 0x0603 #define REG_TCR 0x0604 #define REG_RCR 0x0608 @@ -158,7 +128,6 @@ #define REG_ACKTO 0x0640 -/* */ /* Note: */ /* The NAV upper value is very important to WiFi 11n 5.2.3 NAV test. The default value is */ /* always too small, but the WiFi TestPlan test by 25, 000 microseconds of NAV through sending */ @@ -166,7 +135,6 @@ /* The offset of NAV_UPPER in 8192C Spec is incorrect, and the offset should be 0x0652. Commented */ /* by SD1 Scott. */ /* By Bruce, 2011-07-18. */ -/* */ #define REG_NAV_UPPER 0x0652 /* unit of 128 */ /* WMA, BA, CCX */ @@ -184,35 +152,25 @@ #define REG_RXFLTMAP2 0x06A4 #define REG_BCN_PSR_RPT 0x06A8 -/* */ -/* */ /* Redefine 8192C register definition for compatibility */ -/* */ -/* */ #define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */ #define EFUSE_TEST REG_EFUSE_TEST /* E-Fuse Test. */ #define MSR (REG_CR + 2) /* Media Status register */ #define PBP REG_PBP -/* */ /* 9. Security Control Registers (Offset:) */ -/* */ #define RWCAM REG_CAMCMD /* IN 8190 Data Sheet is called CAMcmd */ #define WCAMI REG_CAMWRITE /* Software write CAM input content */ -/* */ /* 8723/8188E Host System Interrupt Status Register (offset 0x5C, 32 byte) */ -/* */ #define HSISR_GPIO12_0_INT BIT(0) #define HSISR_SPS_OCP_INT BIT(5) #define HSISR_RON_INT BIT(6) #define HSISR_PDNINT BIT(7) #define HSISR_GPIO9_INT BIT(25) -/* */ /* Response Rate Set Register (offset 0x440, 24bits) */ -/* */ #define RRSR_1M BIT(0) #define RRSR_2M BIT(1) #define RRSR_5_5M BIT(2) @@ -223,9 +181,7 @@ #define RRSR_CCK_RATES (RRSR_11M|RRSR_5_5M|RRSR_2M|RRSR_1M) -/* */ /* Rate Definition */ -/* */ /* CCK */ #define RATE_1M BIT(0) #define RATE_2M BIT(1) @@ -247,14 +203,10 @@ /* Only use CCK 1M rate for ACK */ #define RATE_RRSR_CCK_ONLY_1M 0xFFFF1 -/* */ /* BW_OPMODE bits (Offset 0x603, 8bit) */ -/* */ #define BW_OPMODE_20MHZ BIT(2) -/* */ /* CAM Config Setting (offset 0x680, 1 byte) */ -/* */ #define CAM_VALID BIT(15) #define CAM_CONTENT_COUNT 8 @@ -266,13 +218,9 @@ #define CAM_WRITE BIT(16) #define CAM_POLLINIG BIT(31) -/* */ /* 12. Host Interrupt Status Registers */ -/* */ -/* */ /* 8192C (RCR) Receive Configuration Register (Offset 0x608, 32 bits) */ -/* */ #define RCR_APPFCS BIT(31) /* WMAC append FCS after payload */ #define RCR_APP_MIC BIT(30) /* MACRX will retain the MIC at the bottom of the packet. */ #define RCR_APP_ICV BIT(29) /* MACRX will retain the ICV at the bottom of the packet. */ @@ -289,11 +237,7 @@ #define RCR_APM BIT(1) /* Accept physical match packet */ -/* */ -/* */ /* 0x0000h ~ 0x00FFh System Configuration */ -/* */ -/* */ /* 2 SYS_FUNC_EN */ #define FEN_BBRSTB BIT(0) @@ -350,11 +294,7 @@ /* 2 REG_GPIO_OUTSTS (For RTL8723 only) */ #define RF_RL_ID (BIT(31)|BIT(30)|BIT(29)|BIT(28)) -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ /* 2 Function Enable Registers */ /* 2 CR */ @@ -397,11 +337,8 @@ #define QUEUE_NORMAL 2 #define QUEUE_HIGH 3 -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ + /* 2 RQPN */ #define _HPQ(x) ((x) & 0xFF) #define _LPQ(x) (((x) & 0xFF) << 8) @@ -413,11 +350,7 @@ /* 2 AUTO_LLT */ #define BIT_AUTO_INIT_LLT BIT(16) -/* */ -/* */ /* 0x0280h ~ 0x028Bh RX DMA Configuration */ -/* */ -/* */ /* 2 REG_RXDMA_CONTROL, 0x0286h */ /* Write only. When this bit is set, RXDMA will decrease RX PKT counter by one. Before */ @@ -435,11 +368,8 @@ #define RXDMA_IDLE BIT(17) #define RW_RELEASE_EN BIT(18) -/* */ -/* */ /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ + /* 2 FWHW_TXQ_CTRL */ #define EN_AMPDU_RTY_NEW BIT(7) @@ -452,11 +382,7 @@ #define RETRY_LIMIT_SHORT_SHIFT 8 #define RETRY_LIMIT_LONG_SHIFT 0 -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ #define _LRL(x) ((x) & 0x3F) #define _SRL(x) (((x) & 0x3F) << 8) @@ -476,11 +402,7 @@ #define AcmHw_ViqEn BIT(2) #define AcmHw_VoqEn BIT(3) -/* */ -/* */ /* 0x0600h ~ 0x07FFh WMAC Configuration */ -/* */ -/* */ /* 2 TCR */ #define TSFRST BIT(0) @@ -497,11 +419,7 @@ #define SCR_RXBCUSEDK BIT(7) /* Force Rx Broadcast packets Use Default Key */ #define SCR_CHK_KEYID BIT(8) -/* */ -/* */ /* SDIO Bus Specification */ -/* */ -/* */ /* I/O bus domain address mapping */ #define SDIO_LOCAL_BASE 0x10250000 @@ -578,11 +496,7 @@ /* SDIO Tx FIFO related */ #define SDIO_TX_FREE_PG_QUEUE 4 /* The number of Tx FIFO free page */ -/* */ -/* */ /* 0xFE00h ~ 0xFE55h USB Configuration */ -/* */ -/* */ /* 2REG_C2HEVT_CLEAR */ #define C2H_EVT_HOST_CLOSE 0x00 /* Set by driver and notify FW that the driver has read the C2H command message */ From 0f597289f38c2ad0ac2d45236ecaba9c46d4627a Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Thu, 10 Sep 2026 15:03:58 -0700 Subject: [PATCH 077/145] staging: rtl8723bs: delete empty comment lines in rtl8723b_*.h files Delete all empty comment lines /* */ in include/rtl8723b_*.h header files as they are not serving any purpose. Add back a newline if needed for spacing, while avoiding multiple blank lines. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260910220359.6683-3-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/include/rtl8723b_cmd.h | 8 +-- .../staging/rtl8723bs/include/rtl8723b_dm.h | 10 +-- .../staging/rtl8723bs/include/rtl8723b_hal.h | 4 -- .../staging/rtl8723bs/include/rtl8723b_spec.h | 72 +------------------ .../staging/rtl8723bs/include/rtl8723b_xmit.h | 10 +-- 5 files changed, 7 insertions(+), 97 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h index d59c538748f2..5e8fc814bbe7 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h @@ -7,9 +7,7 @@ #ifndef __RTL8723B_CMD_H__ #define __RTL8723B_CMD_H__ -/* */ /* H2C CMD DEFINITION ------------------------------------------------ */ -/* */ enum { /* Common Class: 000 */ @@ -71,9 +69,9 @@ enum { H2C_8723B_RESET_TSF = 0xC0, H2C_8723B_MAXID, }; -/* */ + /* H2C CMD CONTENT -------------------------------------------------- */ -/* */ + /* _RSVDPAGE_LOC_CMD_0x00 */ #define SET_8723B_H2CCMD_RSVDPAGE_LOC_PROBE_RSP(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd, 0, 8, __Value) #define SET_8723B_H2CCMD_RSVDPAGE_LOC_PSPOLL(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+1, 0, 8, __Value) @@ -158,9 +156,7 @@ enum { #define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR2(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+4, 0, 8, __Value) #define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR3(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+5, 0, 8, __Value) -/* */ /* Function Statement -------------------------------------------------- */ -/* */ /* host message to firmware cmd */ void rtl8723b_set_FwPwrMode_cmd(struct adapter *padapter, u8 Mode); diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_dm.h b/drivers/staging/rtl8723bs/include/rtl8723b_dm.h index 50ab7aed079e..cc94edcaeb3c 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_dm.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_dm.h @@ -6,21 +6,13 @@ ******************************************************************************/ #ifndef __RTL8723B_DM_H__ #define __RTL8723B_DM_H__ -/* */ + /* Description: */ -/* */ /* This file is for 8723B dynamic mechanism only */ -/* */ -/* */ -/* */ -/* */ /* structure and define */ -/* */ -/* */ /* function prototype */ -/* */ void rtl8723b_init_dm_priv(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h index 497b1cbc54c8..8d1d721a6d72 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h @@ -19,9 +19,7 @@ #include "Hal8192CPhyReg.h" #include "hal_phy_cfg.h" -/* */ /* RTL8723B From header */ -/* */ #define FW_8723B_SIZE 0x8000 #define FW_8723B_START_ADDRESS 0x1000 @@ -150,9 +148,7 @@ struct rt_firmware_hdr { #define EFUSE_ACCESS_ON 0x69 /* For RTL8723 only. */ #define EFUSE_ACCESS_OFF 0x00 /* For RTL8723 only. */ -/* */ /* EFUSE for BT definition */ -/* */ #define EFUSE_BT_REAL_BANK_CONTENT_LEN 512 #define EFUSE_BT_REAL_CONTENT_LEN 1536 /* 512*3 */ #define EFUSE_BT_MAP_LEN 1024 /* 1k bytes */ diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_spec.h b/drivers/staging/rtl8723bs/include/rtl8723b_spec.h index 7f749e32a5b9..a5ca5ae1a934 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_spec.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_spec.h @@ -9,11 +9,7 @@ #define HAL_NAV_UPPER_UNIT_8723B 128 /* micro-second */ -/* */ -/* */ /* 0x0000h ~ 0x00FFh System Configuration */ -/* */ -/* */ #define REG_RSV_CTRL_8723B 0x001C /* 3 Byte */ #define REG_BT_WIFI_ANTENNA_SWITCH_8723B 0x0038 #define REG_HSISR_8723B 0x005c @@ -29,11 +25,7 @@ #define REG_HISR1_8723B 0x00BC #define REG_PMC_DBG_CTRL2_8723B 0x00CC -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ #define REG_C2HEVT_CMD_ID_8723B 0x01A0 #define REG_C2HEVT_CMD_LEN_8723B 0x01AE #define REG_WOWLAN_WAKE_REASON 0x01C7 @@ -45,25 +37,14 @@ #define REG_HMEBOX_EXT2_8723B 0x01F8 #define REG_HMEBOX_EXT3_8723B 0x01FC -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ -/* */ -/* */ /* 0x0280h ~ 0x02FFh RXDMA Configuration */ -/* */ -/* */ + #define REG_RXDMA_CONTROL_8723B 0x0286 /* Control the RX DMA. */ #define REG_RXDMA_MODE_CTRL_8723B 0x0290 -/* */ -/* */ /* 0x0300h ~ 0x03FFh PCIe */ -/* */ -/* */ #define REG_PCIE_CTRL_REG_8723B 0x0300 #define REG_INT_MIG_8723B 0x0304 /* Interrupt Migration */ #define REG_BCNQ_DESA_8723B 0x0308 /* TX Beacon Descriptor Address */ @@ -86,49 +67,27 @@ #define REG_PCIE_HCPWM_8723B 0x0363 /* PCIe CPWM */ #define REG_PCIE_MULTIFET_CTRL_8723B 0x036A /* PCIE Multi-Fethc Control */ -/* */ -/* */ /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ #define REG_TXPKTBUF_BCNQ_BDNY_8723B 0x0424 #define REG_TXPKTBUF_MGQ_BDNY_8723B 0x0425 #define REG_TXPKTBUF_WMAC_LBK_BF_HD_8723B 0x045D #define REG_AMPDU_BURST_MODE_8723B 0x04BC -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ #define REG_SECONDARY_CCA_CTRL_8723B 0x0577 -/* */ -/* */ /* 0x0600h ~ 0x07FFh WMAC Configuration */ -/* */ -/* */ -/* */ /* SDIO Bus Specification */ -/* */ -/* */ /* SDIO CMD Address Mapping */ -/* */ -/* */ /* I/O bus domain (Host) */ -/* */ -/* */ /* SDIO register */ -/* */ #define SDIO_REG_HCPWM1_8723B 0x025 /* HCI Current Power Mode 1 */ -/* */ /* 8723 Register Bit and Content definition */ -/* */ /* 2 HSISR */ /* interrupt mask which needs to clear */ @@ -138,54 +97,27 @@ HSISR_PDNINT |\ HSISR_GPIO9_INT) -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ -/* */ -/* */ /* 0x0280h ~ 0x02FFh RXDMA Configuration */ -/* */ -/* */ #define BIT_USB_RXDMA_AGG_EN BIT(31) #define RXDMA_AGG_MODE_EN BIT(1) -/* */ -/* */ /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ -/* */ /* 8723B REG_CCK_CHECK (offset 0x454) */ -/* */ + #define BIT_BCN_PORT_SEL BIT(5) -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ -/* */ -/* */ /* 0x0600h ~ 0x07FFh WMAC Configuration */ -/* */ -/* */ #define EEPROM_RF_GAIN_OFFSET 0xC1 #define EEPROM_RF_GAIN_VAL 0x1F6 -/* */ /* 8195 IMR/ISR bits (offset 0xB0, 8bits) */ -/* */ #define IMR_DISABLED_8723B 0 /* IMR DW0(0x00B0-00B3) Bit 0-31 */ #define IMR_TIMER2_8723B BIT(31) /* Timeout interrupt 2 */ diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h index ddf868c7899b..d02ead67777a 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h @@ -7,9 +7,7 @@ #ifndef __RTL8723B_XMIT_H__ #define __RTL8723B_XMIT_H__ -/* */ /* Queue Select Value in TxDesc */ -/* */ #define QSLT_BK 0x2/* 0x01 */ #define QSLT_BE 0x0 #define QSLT_VI 0x5/* 0x4 */ @@ -56,9 +54,7 @@ /* OFFSET 20 */ #define SGI BIT(6) -/* */ /* defined for TX DESC Operation */ -/* */ struct txdesc_8723b { /* Offset 0 */ u32 pktlen:16; @@ -364,11 +360,9 @@ struct txdesc_8723b { #define SET_EARLYMODE_LEN3_8723B(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr+4, 17, 15, __Value) #endif -/* */ -/* */ + /* Rate */ -/* */ -/* */ + /* CCK Rates, TxHT = 0 */ #define DESC8723B_RATE1M 0x00 #define DESC8723B_RATE2M 0x01 From 97e019c3f786b654c1bcf7e00294e42fde4bb152 Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Thu, 10 Sep 2026 15:03:59 -0700 Subject: [PATCH 078/145] staging: rtl8723bs: delete empty comment lines in header files Delete all empty comment lines in a bunch of include/ header files. Add back a newline if needed for spacing, while avoiding multiple blank lines. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260910220359.6683-4-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h | 2 -- drivers/staging/rtl8723bs/include/basic_types.h | 2 -- drivers/staging/rtl8723bs/include/drv_types.h | 3 --- drivers/staging/rtl8723bs/include/hal_com.h | 5 ++--- drivers/staging/rtl8723bs/include/hal_com_h2c.h | 2 -- drivers/staging/rtl8723bs/include/hal_data.h | 1 - drivers/staging/rtl8723bs/include/hal_phy.h | 3 +-- drivers/staging/rtl8723bs/include/rtw_eeprom.h | 2 -- drivers/staging/rtl8723bs/include/rtw_efuse.h | 4 +--- drivers/staging/rtl8723bs/include/rtw_mlme_ext.h | 2 -- drivers/staging/rtl8723bs/include/rtw_recv.h | 2 -- drivers/staging/rtl8723bs/include/sta_info.h | 7 +------ 12 files changed, 5 insertions(+), 30 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h b/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h index b81252d374ef..a0c4461557e7 100644 --- a/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h +++ b/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h @@ -98,9 +98,7 @@ struct wlan_pwr_cfg { #define GET_PWR_CFG_VALUE(__PWR_CMD) __PWR_CMD.value -/* */ /* Prototype of protected function. */ -/* */ u8 HalPwrSeqCmdParsing( struct adapter *padapter, u8 CutVersion, diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h index b4dde1fb4343..d2436459cff6 100644 --- a/drivers/staging/rtl8723bs/include/basic_types.h +++ b/drivers/staging/rtl8723bs/include/basic_types.h @@ -25,9 +25,7 @@ * 3. After read integer from IO. */ -/* */ /* Byte Swapping routine. */ -/* */ #define EF1Byte (u8) /* Convert little data endian to host ordering */ diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h index bd8a03b04e4c..0db276d46b1c 100644 --- a/drivers/staging/rtl8723bs/include/drv_types.h +++ b/drivers/staging/rtl8723bs/include/drv_types.h @@ -209,7 +209,6 @@ struct dvobj_priv { s32 processing_dev_remove; /* for local/global synchronization */ - /* */ spinlock_t lock; int macid[NUM_STA]; @@ -376,9 +375,7 @@ struct adapter { #define adapter_to_pwrctl(adapter) (dvobj_to_pwrctl(adapter->dvobj)) #define adapter_wdev_data(adapter) (&((adapter)->wdev_data)) -/* */ /* Function disabled. */ -/* */ #define DF_TX_BIT BIT(0) #define DF_RX_BIT BIT(1) #define DF_IO_BIT BIT(2) diff --git a/drivers/staging/rtl8723bs/include/hal_com.h b/drivers/staging/rtl8723bs/include/hal_com.h index 17bce0f88bac..6cf4f7f678d2 100644 --- a/drivers/staging/rtl8723bs/include/hal_com.h +++ b/drivers/staging/rtl8723bs/include/hal_com.h @@ -15,10 +15,9 @@ /*------------------------------ Tx Desc definition Macro ------------------------*/ /* pragma mark -- Tx Desc related definition. -- */ -/* */ -/* */ + /* Rate */ -/* */ + /* CCK Rates, TxHT = 0 */ #define DESC_RATE1M 0x00 #define DESC_RATE2M 0x01 diff --git a/drivers/staging/rtl8723bs/include/hal_com_h2c.h b/drivers/staging/rtl8723bs/include/hal_com_h2c.h index a59d13090565..889b12719e2e 100644 --- a/drivers/staging/rtl8723bs/include/hal_com_h2c.h +++ b/drivers/staging/rtl8723bs/include/hal_com_h2c.h @@ -14,9 +14,7 @@ #define H2C_MACID_CFG_LEN 7 #define H2C_RSSI_SETTING_LEN 4 -/* */ /* Structure -------------------------------------------------- */ -/* */ struct rsvdpage_loc { u8 LocProbeRsp; u8 LocPsPoll; diff --git a/drivers/staging/rtl8723bs/include/hal_data.h b/drivers/staging/rtl8723bs/include/hal_data.h index 7e41a379dd57..c345b632bf53 100644 --- a/drivers/staging/rtl8723bs/include/hal_data.h +++ b/drivers/staging/rtl8723bs/include/hal_data.h @@ -168,7 +168,6 @@ struct hal_com_data { /* RF: at most 2 = AB = 0/1 */ /* CCK = 0 OFDM = 1 HT-MCS 0-7 = 2 */ s8 TxPwrByRateOffset[MAX_RF_PATH_NUM][TX_PWR_BY_RATE_NUM_RATE]; - /* */ /* Power Limit Table for 2.4G */ s8 TxPwrLimit_2_4G[MAX_REGULATION_NUM] diff --git a/drivers/staging/rtl8723bs/include/hal_phy.h b/drivers/staging/rtl8723bs/include/hal_phy.h index ec9bc47816db..2e519a3044d8 100644 --- a/drivers/staging/rtl8723bs/include/hal_phy.h +++ b/drivers/staging/rtl8723bs/include/hal_phy.h @@ -6,10 +6,9 @@ ******************************************************************************/ #ifndef __HAL_PHY_H__ #define __HAL_PHY_H__ -/* */ + /* Antenna detection method, i.e., using single tone detection or RSSI reported from each antenna detected. */ /* Added by Roger, 2013.05.22. */ -/* */ #define ANT_DETECT_BY_SINGLE_TONE BIT(0) #define ANT_DETECT_BY_RSSI BIT(1) #define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE) diff --git a/drivers/staging/rtl8723bs/include/rtw_eeprom.h b/drivers/staging/rtl8723bs/include/rtw_eeprom.h index 9b84105af816..4294b021f1bd 100644 --- a/drivers/staging/rtl8723bs/include/rtw_eeprom.h +++ b/drivers/staging/rtl8723bs/include/rtw_eeprom.h @@ -34,14 +34,12 @@ #define eeprom_cis0_sz 17 #define eeprom_cis1_sz 50 -/* */ /* Customer ID, note that: */ /* This variable is initiailzed through EEPROM or registry, */ /* however, its definition may be different with that in EEPROM for */ /* EEPROM size consideration. So, we have to perform proper translation between them. */ /* Besides, CustomerID of registry has precedence of that of EEPROM. */ /* defined below. 060703, by rcnjko. */ -/* */ enum { RT_CID_DEFAULT = 0, RT_CID_8187_ALPHA0 = 1, diff --git a/drivers/staging/rtl8723bs/include/rtw_efuse.h b/drivers/staging/rtl8723bs/include/rtw_efuse.h index 1e5d61f4587b..865a47637b5a 100644 --- a/drivers/staging/rtl8723bs/include/rtw_efuse.h +++ b/drivers/staging/rtl8723bs/include/rtw_efuse.h @@ -30,13 +30,11 @@ enum { #define EFUSE_REPEAT_THRESHOLD_ 3 -/* */ /* The following is for BT Efuse definition */ -/* */ #define EFUSE_BT_MAX_MAP_LEN 1024 #define EFUSE_MAX_BANK 4 #define EFUSE_MAX_BT_BANK (EFUSE_MAX_BANK-1) -/* */ + /*--------------------------Define Parameters-------------------------------*/ #define EFUSE_MAX_WORD_UNIT 4 diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index b7d38fbf33cf..847a1d75fe39 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -70,14 +70,12 @@ extern unsigned char WMM_INFO_OUI[]; extern unsigned char WMM_PARA_OUI[]; -/* */ /* Channel Plan Type. */ /* Note: */ /* We just add new channel plan when the new channel plan is different from any of the following */ /* channel plan. */ /* If you just want to customize the actions(scan period or join actions) about one of the channel plan, */ /* customize them in rt_channel_info in the RT_CHANNEL_LIST. */ -/* */ enum { /* old channel plan mapping ===== */ RT_CHANNEL_DOMAIN_FCC = 0x00, diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h index 34a19673e913..b2a863e4d6ce 100644 --- a/drivers/staging/rtl8723bs/include/rtw_recv.h +++ b/drivers/staging/rtl8723bs/include/rtw_recv.h @@ -285,8 +285,6 @@ struct recv_frame_hdr { void *precvbuf; - - /* */ struct sta_info *psta; /* for A-MPDU Rx reordering buffer control */ diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h index 30fa070cd4d3..4c0733f823b4 100644 --- a/drivers/staging/rtl8723bs/include/sta_info.h +++ b/drivers/staging/rtl8723bs/include/sta_info.h @@ -188,16 +188,13 @@ struct sta_info { /* ODM_STA_INFO_T */ /* ================ODM Relative Info ======================= */ /* Please be care, dont declare too much structure here. It will cost memory * STA support num. */ - /* */ - /* */ /* 2011/10/20 MH Add for ODM STA info. */ - /* */ /* Driver Write */ u8 bValid; /* record the sta status link or not? */ u8 IOTPeer; /* Enum value. HT_IOT_PEER_E */ /* ODM Write */ /* 1 PHY_STATUS_INFO */ - u8 RSSI_Path[4]; /* */ + u8 RSSI_Path[4]; u8 RSSI_Ave; u8 RXEVM[4]; u8 RXSNR[4]; @@ -206,9 +203,7 @@ struct sta_info { /* ODM Write */ /* 1 TX_INFO (may changed by IC) */ /* TX_INFO_T pTxInfo; Define in IC folder. Move lower layer. */ - /* */ /* ================ODM Relative Info ======================= */ - /* */ /* To store the sequence number of received management frame */ u16 rx_mgmt_frame_seq_num; From 46137a1e0f89acca72b46546c9c8aae75bb940c3 Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Thu, 10 Sep 2026 22:42:11 -0700 Subject: [PATCH 079/145] staging: rtl8723bs: remove comment after function closing brace The codebase of this driver sometimes has the name of the function as a comment after the function closing brace. Find and clean up all occurrences in the rtl8723bs driver, as this is not necessary. To avoid introducing a new checkpatch CHECK: - Blank lines aren't necessary before a close brace '}' by this change, remove newline before function closing brace if needed. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260911054211.7739-1-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_efuse.c | 2 +- drivers/staging/rtl8723bs/hal/odm.c | 3 +-- drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c | 4 ++-- drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c | 5 ++--- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c index d5bf8f17b9ff..4bf69c742009 100644 --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c @@ -76,7 +76,7 @@ u8 rtw_efuse_read_1_byte(struct adapter *adapter, u16 address) } else { return 0xFF; } -} /* rtw_efuse_read_1_byte */ +} /* 11/16/2008 MH Read one byte from real efuse. */ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data) diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c index d18df407e365..9a3a7050aba4 100644 --- a/drivers/staging/rtl8723bs/hal/odm.c +++ b/drivers/staging/rtl8723bs/hal/odm.c @@ -456,8 +456,7 @@ static void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm) return; odm_RSSIMonitorCheckCE(pDM_Odm); - -} /* odm_RSSIMonitorCheck */ +} /* 3 ============================================================ */ /* 3 SW Antenna Diversity */ diff --git a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c index 9baca2aea80e..f59a6ebc773d 100644 --- a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c +++ b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c @@ -37,7 +37,7 @@ void ODM_EdcaTurboInit(void *pDM_VOID) pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA = false; pDM_Odm->DM_EDCA_Table.bIsCurRDLState = false; Adapter->recvpriv.bIsAnyNonBEPkts = false; -} /* ODM_InitEdcaTurbo */ +} void odm_EdcaTurboCheck(void *pDM_VOID) { @@ -51,7 +51,7 @@ void odm_EdcaTurboCheck(void *pDM_VOID) return; odm_EdcaTurboCheckCE(pDM_Odm); -} /* odm_CheckEdcaTurbo */ +} void odm_EdcaTurboCheckCE(void *pDM_VOID) { diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c index 90a851b50c9f..952753f0dfc5 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c @@ -23,8 +23,7 @@ static void process_rssi(struct adapter *padapter, union recv_frame *prframe) signal_stat->total_val += pattrib->phy_info.SignalStrength; signal_stat->avg_val = signal_stat->total_val / signal_stat->total_num; } - -} /* Process_UI_RSSI_8192C */ +} static void process_link_qual(struct adapter *padapter, union recv_frame *prframe) { @@ -46,7 +45,7 @@ static void process_link_qual(struct adapter *padapter, union recv_frame *prfram signal_stat->total_num++; signal_stat->total_val += pattrib->phy_info.SignalQuality; signal_stat->avg_val = signal_stat->total_val / signal_stat->total_num; -} /* Process_UiLinkQuality8192S */ +} void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe) { From c52929073fccbc149267a2fd7458626a7e9abcfc Mon Sep 17 00:00:00 2001 From: Tianchu Chen Date: Fri, 11 Sep 2026 11:10:42 +0000 Subject: [PATCH 080/145] staging: rtl8723bs: fix RX buffer OOB write from device-reported length sd_recv_rxfifo() trusts the device-reported RX0_REQ_LEN value (hal->SdioRxFIFOSize, a u16 read from the card via CMD52) as the size of the next RX packet and passes it to sdio_read_port(), which copies that many bytes into the recvbuf skb whose data area is only MAX_RECVBUF_SZ (10240) bytes. A bogus device on SDIO can report up to 65535 bytes, causing a heap overflow of up to ~55KB past the skb buffer. Bail out when the RX0_REQ_LEN exceeds MAX_RECVBUF_SZ. This is expected to keep behavior unchanged on normal devices. Discovered by Atuin - Automated Vulnerability Discovery Engine. Fixes: 554c0a3abf216 ("staging: Add rtl8723bs sdio wifi driver") Cc: stable@vger.kernel.org Assisted-by: LLM Signed-off-by: Tianchu Chen Link: https://patch.msgid.link/8114c3adc1acaea78523cc0fb4d4b25f7665cee9@linux.dev Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/sdio_ops.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl8723bs/hal/sdio_ops.c index da2d9088ab5a..b7a4ab0bedc9 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_ops.c +++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c @@ -644,6 +644,13 @@ static struct recv_buf *sd_recv_rxfifo(struct adapter *adapter, u32 size) struct recv_priv *recv_priv; struct recv_buf *recvbuf; + /* RX0_REQ_LEN is device-reported; the skb buffer is only + * MAX_RECVBUF_SZ bytes, reject bogus lengths instead of + * overflowing past it. + */ + if (size > MAX_RECVBUF_SZ) + return NULL; + /* Patch for some SDIO Host 4 bytes issue */ /* ex. RK3188 */ readsize = round_up(size, 4); From 18775b5047945b5adb86d51cf99c619a8f2248d3 Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Fri, 11 Sep 2026 12:40:51 -0700 Subject: [PATCH 081/145] staging: rtl8723bs: cleanup comments in rtl8723b_rf6052.c Clean up a bunch of comments in this file which are not useful. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260911194051.7195-1-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/hal/rtl8723b_rf6052.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c index acbc67df4e48..cdbbe23fac71 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c @@ -11,12 +11,6 @@ * * Note: Provide RF 6052 series relative API. * - * Function: - * - * Export: - * - * Abbrev: - * * History: * Data Who Remark * @@ -28,16 +22,6 @@ #include -/*---------------------------Define Local Constant---------------------------*/ -/*---------------------------Define Local Constant---------------------------*/ - -/*------------------------Define global variable-----------------------------*/ -/*------------------------Define global variable-----------------------------*/ - -/*------------------------Define local variable------------------------------*/ -/* 2008/11/20 MH For Debug only, RF */ -/*------------------------Define local variable------------------------------*/ - /*----------------------------------------------------------------------------- * Function: PHY_RF6052SetBandwidth() * @@ -131,5 +115,3 @@ int PHY_RF6052_Config8723B(struct adapter *Adapter) return phy_RF6052_Config_ParaFile(Adapter); } - -/* End of HalRf6052.c */ From c77e9e8c9e05bdb312904ae1bcd46e2b7055a40a Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Fri, 11 Sep 2026 12:33:34 -0700 Subject: [PATCH 082/145] staging: rtl8723bs: delete empty comment lines in hal/ header files Delete all empty comment lines in hal/ header files. Add back a newline if needed for spacing, while avoiding multiple blank lines. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260911193335.6908-2-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/Hal8723BReg.h | 17 +------- .../staging/rtl8723bs/hal/HalBtc8723b1Ant.h | 2 - .../staging/rtl8723bs/hal/HalBtc8723b2Ant.h | 2 - drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h | 2 +- .../staging/rtl8723bs/hal/HalPhyRf_8723B.h | 6 +-- drivers/staging/rtl8723bs/hal/odm.h | 42 ++----------------- drivers/staging/rtl8723bs/hal/odm_HWConfig.h | 2 - 7 files changed, 7 insertions(+), 66 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/Hal8723BReg.h b/drivers/staging/rtl8723bs/hal/Hal8723BReg.h index 0b327a70aa15..8142d9cf9ae5 100644 --- a/drivers/staging/rtl8723bs/hal/Hal8723BReg.h +++ b/drivers/staging/rtl8723bs/hal/Hal8723BReg.h @@ -19,27 +19,16 @@ #ifndef __INC_HAL8723BREG_H #define __INC_HAL8723BREG_H -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ #define REG_C2HEVT_CMD_SEQ_88XX 0x01A1 #define REG_C2HEVT_CMD_LEN_88XX 0x01AE -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ #define REG_DWBCN1_CTRL_8723B 0x0228 /* spec version 11 */ -/* */ -/* */ + /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ #define REG_FWHW_TXQ_CTRL_8723B 0x0420 #define REG_ARFR0_8723B 0x0444 #define REG_ARFR1_8723B 0x044C @@ -50,11 +39,7 @@ #define REG_DATA_SC_8723B 0x0483 #define REG_MAX_AGGR_NUM_8723B 0x04CA -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ #define REG_PIFS_8723B 0x0512 /* 0x0600h ~ 0x07FFh WMAC Configuration */ diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h index 7a12d92da0a9..b3e6c5f12e8b 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h +++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h @@ -164,9 +164,7 @@ struct coex_sta_8723b_1ant { bool bForceLpsOn; }; -/* */ /* The following is interface which will notify coex module. */ -/* */ void EXhalbtc8723b1ant_PowerOnSetting(struct btc_coexist *pBtCoexist); void EXhalbtc8723b1ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bWifiOnly); void EXhalbtc8723b1ant_InitCoexDm(struct btc_coexist *pBtCoexist); diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h index ebc47f65e8d2..21bb90479e9c 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h +++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h @@ -126,9 +126,7 @@ struct coex_sta_8723b_2ant { u8 btInfoExt; }; -/* */ /* The following is interface which will notify coex module. */ -/* */ void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist); void EXhalbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bWifiOnly); void EXhalbtc8723b2ant_InitCoexDm(struct btc_coexist *pBtCoexist); diff --git a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h index 0583a7aaa974..c2ac06812bff 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h +++ b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h @@ -193,7 +193,7 @@ enum { BTC_SET_ACT_CTRL_BT_INFO, BTC_SET_ACT_CTRL_BT_COEX, BTC_SET_ACT_CTRL_8723B_ANT, - /* */ + BTC_SET_MAX }; diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h index 14b328378b8b..9795bbcf0b35 100644 --- a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h +++ b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h @@ -13,7 +13,7 @@ #define IQK_DEFERRED_TIME_8723B 4 #define index_mapping_NUM_8723B 15 #define AVG_THERMAL_NUM_8723B 4 -#define RF_T_METER_8723B 0x42 /* */ +#define RF_T_METER_8723B 0x42 void ConfigureTxpowerTrack_8723B(struct txpwrtrack_cfg *pConfig); @@ -35,14 +35,10 @@ void PHY_IQCalibrate_8723B( void ODM_SetIQCbyRFpath(struct dm_odm_t *pDM_Odm, u32 RFpath); -/* */ /* LC calibrate */ -/* */ void PHY_LCCalibrate_8723B(struct dm_odm_t *pDM_Odm); -/* */ /* AP calibrate */ -/* */ void PHY_DigitalPredistortion_8723B(struct adapter *padapter); void _PHY_SaveADDARegisters_8723B( diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h index b123df98fa22..3532f0d79363 100644 --- a/drivers/staging/rtl8723bs/hal/odm.h +++ b/drivers/staging/rtl8723bs/hal/odm.h @@ -197,9 +197,8 @@ struct odm_rate_adaptive { #define DM_Type_ByFW 0 #define DM_Type_ByDriver 1 -/* */ /* Declare for common info */ -/* */ + #define MAX_PATH_NUM_8723B 1 #define IQK_THRESHOLD 8 @@ -262,9 +261,7 @@ struct odm_mac_status_info { u8 test; }; -/* */ /* 2011/10/20 MH Define Common info enum for all team. */ -/* */ enum odm_cmninfo_e { /* Fixed value: */ @@ -350,9 +347,7 @@ enum odm_cmninfo_e { /* 2011/10/20 MH Define ODM support ability. ODM_CMNINFO_ABILITY */ enum { /* _ODM_Support_Ability_Definition */ - /* */ /* BB ODM section BIT 0-15 */ - /* */ ODM_BB_DIG = BIT(0), ODM_BB_RA_MASK = BIT(1), ODM_BB_DYNAMIC_TXPWR = BIT(2), @@ -410,9 +405,7 @@ enum { /* tag_ODM_Fab_Version_Definition */ ODM_UMC = 1, }; -/* */ /* For example 1T2R (A+AB = BIT0|BIT4|BIT5) */ -/* */ enum { /* tag_ODM_RF_Type_Definition */ ODM_1T1R = 0, ODM_1T2R = 1, @@ -424,9 +417,7 @@ enum { /* tag_ODM_RF_Type_Definition */ ODM_4T4R = 7, }; -/* */ /* ODM Dynamic common info value definition */ -/* */ /* ODM_CMNINFO_WM_MODE */ enum { /* tag_Wireless_Mode_Definition */ @@ -531,8 +522,6 @@ struct odm_rf_cal_t { /* ODM_RF_Calibration_Structure */ u8 DeltaSwingTableIdx_2GA_P_8188E[DELTA_SWINGIDX_SIZE]; u8 DeltaSwingTableIdx_2GA_N_8188E[DELTA_SWINGIDX_SIZE]; - /* */ - /* for IQK */ u32 RegC04; u32 Reg874; @@ -567,10 +556,8 @@ struct odm_rf_cal_t { /* ODM_RF_Calibration_Structure */ u32 TxLOK[2]; }; -/* */ -/* ODM Dynamic common info value definition */ -/* */ +/* ODM Dynamic common info value definition */ struct fat_t { /* _FAST_ANTENNA_TRAINNING_ */ u8 Bssid[6]; u8 antsel_rx_keep_0; @@ -633,9 +620,7 @@ enum phy_reg_pg_type { /* _BASEBAND_CONFIG_PHY_REG_PG_VALUE_TYPE */ PHY_REG_PG_EXACT_VALUE = 1 }; -/* */ /* Antenna detection information from single tone mechanism, added by Roger, 2012.11.27. */ -/* */ struct ant_detected_info { bool bAntDetected; u32 dBForAntA; @@ -643,9 +628,7 @@ struct ant_detected_info { u32 dBForAntO; }; -/* */ /* 2011/09/22 MH Copy from SD4 defined structure. We use to support PHY DM integration. */ -/* */ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ struct adapter *Adapter; /* For CE/NIC team */ /* WHen you use Adapter or priv pointer, you must make sure the pointer is ready. */ @@ -668,9 +651,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ /* 1 COMMON INFORMATION */ - /* */ /* Init Value */ - /* */ /* HOOK BEFORE REG INIT----------- */ /* ODM Platform info AP/ADSL/CE/MP = 1/2/3/4 */ u8 SupportPlatform; @@ -708,9 +689,8 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ u8 AntDivType; /* HOOK BEFORE REG INIT----------- */ - /* */ /* Dynamic Value */ - /* */ + /* POINTER REFERENCE----------- */ u8 u8_temp; @@ -830,16 +810,13 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ u8 Adaptivity_IGI_upper; u8 NHM_cnt_0; - /* */ /* 2 Define STA info. */ /* _ODM_STA_INFO */ /* 2012/01/12 MH For MP, we need to reduce one array pointer for default port.?? */ PSTA_INFO_T pODM_StaInfo[ODM_ASSOCIATE_ENTRY_NUM]; - /* */ /* 2012/02/14 MH Add to share 88E ra with other SW team. */ /* We need to colelct all support abilit to a proper area. */ - /* */ bool RaSupport88E; /* Define ........... */ @@ -850,9 +827,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ /* Latest packet phy info (ODM write) */ struct odm_mac_status_info *pMacInfo; - /* */ /* ODM Structure */ - /* */ struct fat_t DM_FatTable; struct dig_t DM_DigTable; struct ps_t DM_PSTable; @@ -869,9 +844,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ u32 WMMEDCA_BE; struct pathdiv_t DM_PathDiv; /* Copy from SD4 structure */ - /* */ /* ================================================== */ - /* */ /* common */ @@ -899,9 +872,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ struct odm_rf_cal_t RFCalibrateInfo; - /* */ /* TX power tracking */ - /* */ u8 BbSwingIdxOfdm[MAX_RF_PATH]; u8 BbSwingIdxOfdmCurrent; u8 BbSwingIdxOfdmBase[MAX_RF_PATH]; @@ -924,9 +895,8 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ bool Modify_TxAGC_Flag_PathA_CCK; s8 KfreeOffset[MAX_RF_PATH]; - /* */ + /* ODM system resource. */ - /* */ /* ODM relative time. */ struct timer_list PathDivSwitchTimer; @@ -1018,16 +988,12 @@ enum { /* tag_RF_Type_Definition */ /* Maximal number of antenna detection mechanism needs to perform, added by Roger, 2011.12.28. */ #define MAX_ANTENNA_DETECTION_CNT 10 -/* */ /* Extern Global Variables. */ -/* */ extern u32 OFDMSwingTable_New[OFDM_TABLE_SIZE]; extern u8 CCKSwingTable_Ch1_Ch13_New[CCK_TABLE_SIZE][8]; extern u8 CCKSwingTable_Ch14_New[CCK_TABLE_SIZE][8]; -/* */ /* check Sta pointer valid or not */ -/* */ #define IS_STA_VALID(pSta) (pSta) /* 20100514 Joseph: Add definition for antenna switching test after link. */ /* This indicates two different the steps. */ diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h index 615145812ed2..ca3380328a72 100644 --- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h +++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h @@ -8,9 +8,7 @@ #ifndef __HALHWOUTSRC_H__ #define __HALHWOUTSRC_H__ -/* */ /* structure and define */ -/* */ struct phy_rx_agc_info_t { #if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE) From 41d42382e77a31115e4090886434900141187bfe Mon Sep 17 00:00:00 2001 From: Jennifer Guo Date: Fri, 11 Sep 2026 12:33:35 -0700 Subject: [PATCH 083/145] staging: rtl8723bs: delete empty comment lines in source files Delete all empty comment lines in hal/ and os_dep/ source files as they are not serving any purpose. Add back a newline if needed for spacing, while avoiding multiple blank lines. Signed-off-by: Jennifer Guo Link: https://patch.msgid.link/20260911193335.6908-3-guojy.bj@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/hal/HalBtc8723b1Ant.c | 16 --------- .../staging/rtl8723bs/hal/HalBtc8723b2Ant.c | 8 ----- drivers/staging/rtl8723bs/hal/HalPhyRf.c | 6 +--- .../staging/rtl8723bs/hal/HalPhyRf_8723B.c | 2 -- drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c | 6 ---- drivers/staging/rtl8723bs/hal/hal_btcoex.c | 13 -------- drivers/staging/rtl8723bs/hal/odm.c | 26 --------------- drivers/staging/rtl8723bs/hal/odm_HWConfig.c | 7 ---- drivers/staging/rtl8723bs/hal/rtl8723b_dm.c | 4 --- .../staging/rtl8723bs/hal/rtl8723b_hal_init.c | 30 ----------------- .../staging/rtl8723bs/hal/rtl8723b_phycfg.c | 21 +----------- .../staging/rtl8723bs/hal/rtl8723b_rf6052.c | 2 -- .../staging/rtl8723bs/hal/rtl8723b_rxdesc.c | 2 -- drivers/staging/rtl8723bs/hal/sdio_halinit.c | 33 ------------------- drivers/staging/rtl8723bs/hal/sdio_ops.c | 17 ---------- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 4 +-- drivers/staging/rtl8723bs/os_dep/os_intfs.c | 6 ++-- 17 files changed, 7 insertions(+), 196 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c index 0613beaa3752..2845ae14977a 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c +++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c @@ -221,9 +221,7 @@ static void halbtc8723b1ant_LimitedRx( bool bBtCtrlRxAggSize = bBtCtrlAggBufSize; u8 rxAggSize = aggBufSize; - /* */ /* Rx Aggregation related setting */ - /* */ pBtCoexist->fBtcSet( pBtCoexist, BTC_SET_BL_TO_REJ_AP_AGG_PKT, &bRejectRxAgg ); @@ -1346,7 +1344,6 @@ static void halbtc8723b1ant_TdmaDurationAdjustForAcl( halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 2); pCoexDm->psTdmaDuAdjType = 2; - /* */ up = 0; dn = 0; m = 1; @@ -1525,17 +1522,9 @@ static void halbtc8723b1ant_PowerSaveState( } } -/* */ -/* */ /* Software Coex Mechanism start */ -/* */ -/* */ -/* */ -/* */ /* Non-Software Coex Mechanism start */ -/* */ -/* */ static void halbtc8723b1ant_ActionWifiMultiPort(struct btc_coexist *pBtCoexist) { halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0); @@ -2058,12 +2047,8 @@ static void halbtc8723b1ant_InitHwConfig( pBtCoexist->fBtcRead1Byte(pBtCoexist, 0x67); } -/* */ /* work around function start with wa_halbtc8723b1ant_ */ -/* */ -/* */ /* extern function start with EXhalbtc8723b1ant_ */ -/* */ void EXhalbtc8723b1ant_PowerOnSetting(struct btc_coexist *pBtCoexist) { struct btc_board_info *pBoardInfo = &pBtCoexist->boardInfo; @@ -2081,7 +2066,6 @@ void EXhalbtc8723b1ant_PowerOnSetting(struct btc_coexist *pBtCoexist) /* set WLAN_ACT = 0 */ pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x76e, 0x4); - /* */ /* S0 or S1 setting and Local register setting(By the setting fw can get ant number, S0/S1, ... info) */ /* Local setting bit define */ /* BIT0: "0" for no antenna inverse; "1" for antenna inverse */ diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c index 0220bacee181..f7e126c69a5a 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c +++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c @@ -167,9 +167,7 @@ static void halbtc8723b2ant_LimitedRx( bool bBtCtrlRxAggSize = bBtCtrlAggBufSize; u8 rxAggSize = aggBufSize; - /* */ /* Rx Aggregation related setting */ - /* */ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_TO_REJ_AP_AGG_PKT, &bRejectRxAgg); /* decide BT control aggregation buf size or not */ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_CTRL_AGG_SIZE, &bBtCtrlRxAggSize); @@ -1209,7 +1207,6 @@ static void halbtc8723b2ant_TdmaDurationAdjust( } } } - /* */ up = 0; dn = 0; m = 1; @@ -2315,12 +2312,8 @@ static void halbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bB pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x40, 0x20, 0x1); } -/* */ /* work around function start with wa_halbtc8723b2ant_ */ -/* */ -/* */ /* extern function start with EXhalbtc8723b2ant_ */ -/* */ void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist) { struct btc_board_info *pBoardInfo = &pBtCoexist->boardInfo; @@ -2338,7 +2331,6 @@ void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist) /* set WLAN_ACT = 0 */ pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x76e, 0x4); - /* */ /* S0 or S1 setting and Local register setting(By the setting fw can get ant number, S0/S1, ... info) */ /* Local setting bit define */ /* BIT0: "0" for no antenna inverse; "1" for antenna inverse */ diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf.c b/drivers/staging/rtl8723bs/hal/HalPhyRf.c index 16a47197037e..083d60871a68 100644 --- a/drivers/staging/rtl8723bs/hal/HalPhyRf.c +++ b/drivers/staging/rtl8723bs/hal/HalPhyRf.c @@ -13,14 +13,11 @@ void ConfigureTxpowerTrack(struct dm_odm_t *pDM_Odm, struct txpwrtrack_cfg *pCon ConfigureTxpowerTrack_8723B(pConfig); } -/* */ /* <20121113, Kordan> This function should be called when TxAGC changed. */ /* Otherwise the previous compensation is gone, because we record the */ /* delta of temperature between two TxPowerTracking watch dogs. */ -/* */ /* NOTE: If Tx BB swing or Tx scaling is varified during run-time, still */ /* need to call this function. */ -/* */ void ODM_ClearTxPowerTrackingState(struct dm_odm_t *pDM_Odm) { struct hal_com_data *pHalData = GET_HAL_DATA(pDM_Odm->Adapter); @@ -238,10 +235,9 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter) /* 4 7.2 Configure the Swing Table to adjust Tx Power. */ pDM_Odm->RFCalibrateInfo.bTxPowerChanged = true; /* Always true after Tx Power is adjusted by power tracking. */ - /* */ /* 2012/04/23 MH According to Luke's suggestion, we can not write BB digital */ /* to increase TX power. Otherwise, EVM will be bad. */ - /* */ + /* 2012/04/25 MH Add for tx power tracking to set tx power in tx agc for 88E. */ if (ThermalValue > pHalData->EEPROMThermalMeter) { diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c index ae01560dc8dd..05cb0575f2b5 100644 --- a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c +++ b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c @@ -1005,9 +1005,7 @@ static void _PHY_PathBFillIQKMatrix8723B( } } -/* */ /* 2011/07/26 MH Add an API for testing IQK fail case. */ -/* */ /* MP Already declare in odm.c */ void ODM_SetIQCbyRFpath(struct dm_odm_t *pDM_Odm, u32 RFpath) diff --git a/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c b/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c index c254e3481cc2..d23fe86d53bc 100644 --- a/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c +++ b/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c @@ -23,15 +23,11 @@ #include #include -/* */ /* Description: */ /* This routine deal with the Power Configuration CMDs parsing for RTL8723/RTL8188E Series IC. */ -/* */ /* Assumption: */ /* We should follow specific format which was released from HW SD. */ -/* */ /* 2011.07.07, added by Roger. */ -/* */ u8 HalPwrSeqCmdParsing( struct adapter *padapter, u8 CutVersion, @@ -64,10 +60,8 @@ u8 HalPwrSeqCmdParsing( case PWR_CMD_WRITE: offset = GET_PWR_CFG_OFFSET(PwrCfgCmd); - /* */ /* We should deal with interface specific address mapping for some interfaces, e.g., SDIO interface */ /* 2011.07.07. */ - /* */ if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO) { /* Read Back SDIO Local value */ value = SdioLocalCmd52Read1Byte(padapter, offset); diff --git a/drivers/staging/rtl8723bs/hal/hal_btcoex.c b/drivers/staging/rtl8723bs/hal/hal_btcoex.c index afdde1f2ec0c..a06e2e5b516c 100644 --- a/drivers/staging/rtl8723bs/hal/hal_btcoex.c +++ b/drivers/staging/rtl8723bs/hal/hal_btcoex.c @@ -15,9 +15,7 @@ struct btc_coexist GLBtCoexist; static u8 GLBtcWiFiInScanState; static u8 GLBtcWiFiInIQKState; -/* */ /* Debug related function */ -/* */ static u8 halbtcoutsrc_IsBtCoexistAvailable(struct btc_coexist *pBtCoexist) { if (!pBtCoexist->bBinded || !pBtCoexist->Adapter) @@ -197,11 +195,9 @@ static u32 _halbtcoutsrc_GetWifiLinkStatus(struct adapter *padapter) static u32 halbtcoutsrc_GetWifiLinkStatus(struct btc_coexist *pBtCoexist) { - /* */ /* return value: */ /* [31:16]=> connected port number */ /* [15:0]=> port connected bit define */ - /* */ struct adapter *padapter; u32 retVal; @@ -539,7 +535,6 @@ static u8 halbtcoutsrc_Set(void *pBtcContext, u8 setType, void *pInBuf) case BTC_SET_ACT_CTRL_8723B_ANT: ret = false; break; - /* */ default: ret = false; break; @@ -548,9 +543,7 @@ static u8 halbtcoutsrc_Set(void *pBtcContext, u8 setType, void *pInBuf) return ret; } -/* */ /* IO related function */ -/* */ static u8 halbtcoutsrc_Read1Byte(void *pBtcContext, u32 RegAddr) { struct btc_coexist *pBtCoexist; @@ -746,9 +739,7 @@ static void halbtcoutsrc_FillH2cCmd(void *pBtcContext, u8 elementId, u32 cmdLen, rtw_hal_fill_h2c_cmd(padapter, elementId, cmdLen, pCmdBuffer); } -/* */ /* Extern functions called by other module */ -/* */ static u8 EXhalbtcoutsrc_BindBtCoexWithAdapter(void *padapter) { struct btc_coexist *pBtCoexist = &GLBtCoexist; @@ -1025,10 +1016,8 @@ void EXhalbtcoutsrc_PnpNotify(struct btc_coexist *pBtCoexist, u8 pnpState) if (!halbtcoutsrc_IsBtCoexistAvailable(pBtCoexist)) return; - /* */ /* currently only 1ant we have to do the notification, */ /* once pnp is notified to sleep state, we have to leave LPS that we can sleep normally. */ - /* */ if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_PnpNotify(pBtCoexist, pnpState); @@ -1061,9 +1050,7 @@ void EXhalbtcoutsrc_SetAntNum(u8 type, u8 antNum) } } -/* */ /* Currently used by 8723b only, S0 or S1 */ -/* */ void EXhalbtcoutsrc_SetSingleAntPath(u8 singleAntPath) { GLBtCoexist.boardInfo.singleAntPath = singleAntPath; diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c index 9a3a7050aba4..9049b7073a33 100644 --- a/drivers/staging/rtl8723bs/hal/odm.c +++ b/drivers/staging/rtl8723bs/hal/odm.c @@ -358,8 +358,6 @@ bool ODM_RAStateCheck( return false; } -/* */ - /* 3 ============================================================ */ /* 3 RSSI Monitor */ /* 3 ============================================================ */ @@ -557,13 +555,9 @@ void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm) } } -/* */ /* 3 Export Interface */ -/* */ -/* */ /* 2011/09/21 MH Add to describe different team necessary resource allocate?? */ -/* */ void ODM_DMInit(struct dm_odm_t *pDM_Odm) { @@ -585,11 +579,9 @@ void ODM_DMInit(struct dm_odm_t *pDM_Odm) odm_SwAntDetectInit(pDM_Odm); } -/* */ /* 2011/09/20 MH This is the entry pointer for all team to execute HW out source DM. */ /* You can not add any dummy function here, be care, you can only use DM structure */ /* to perform any new ODM_DM. */ -/* */ void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm) { odm_CommonInfoSelfUpdate(pDM_Odm); @@ -632,18 +624,12 @@ void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm) pDM_Odm->PhyDbgInfo.NumQryBeaconPkt = 0; } -/* */ /* Init /.. Fixed HW value. Only init time. */ -/* */ void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 Value) { - /* */ /* This section is used for init value */ - /* */ switch (CmnInfo) { - /* */ /* Fixed ODM value. */ - /* */ case ODM_CMNINFO_ABILITY: pDM_Odm->SupportAbility = (u32)Value; break; @@ -728,13 +714,9 @@ void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 V void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void *pValue) { - /* */ /* Hook call by reference pointer. */ - /* */ switch (CmnInfo) { - /* */ /* Dynamic call by reference pointer. */ - /* */ case ODM_CMNINFO_MAC_PHY_MODE: pDM_Odm->pMacPhyMode = pValue; break; @@ -856,13 +838,9 @@ void ODM_CmnInfoPtrArrayHook( void *pValue ) { - /* */ /* Hook call by reference pointer. */ - /* */ switch (CmnInfo) { - /* */ /* Dynamic call by reference pointer. */ - /* */ case ODM_CMNINFO_STA_STATUS: pDM_Odm->pODM_StaInfo[Index] = (PSTA_INFO_T)pValue; break; @@ -874,14 +852,10 @@ void ODM_CmnInfoPtrArrayHook( } -/* */ /* Update Band/CHannel/.. The values are dynamic but non-per-packet. */ -/* */ void ODM_CmnInfoUpdate(struct dm_odm_t *pDM_Odm, u32 CmnInfo, u64 Value) { - /* */ /* This init variable may be changed in run time. */ - /* */ switch (CmnInfo) { case ODM_CMNINFO_LINK_IN_PROGRESS: pDM_Odm->bLinkInProcess = (bool)Value; diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c index 1716252641d3..34b0369a7936 100644 --- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c +++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c @@ -46,9 +46,7 @@ s32 odm_signal_scale_mapping(struct dm_odm_t *dm_odm, s32 curr_sig) static u8 odm_evm_db_to_percentage(s8 value) { - /* */ /* -33dB~0dB to 0%~99% */ - /* */ s8 ret_val; ret_val = value; @@ -383,9 +381,7 @@ static void odm_Process_RSSIForDM( } } -/* */ /* Endianness before calling this API */ -/* */ void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info, u8 *phy_status, struct odm_packet_info *pkt_info) { @@ -396,10 +392,7 @@ void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info odm_Process_RSSIForDM(dm_odm, phy_info, pkt_info); } -/* */ /* If you want to add a new IC, Please follow below template and generate a new one. */ -/* */ -/* */ enum hal_status ODM_ConfigRFWithHeaderFile( struct dm_odm_t *pDM_Odm, diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c index 5f31e89bb1c4..dce96ec19409 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c @@ -12,9 +12,7 @@ /* Global var */ -/* */ /* functions */ -/* */ static void Init_ODM_ComInfo_8723b(struct adapter *Adapter) { @@ -23,9 +21,7 @@ static void Init_ODM_ComInfo_8723b(struct adapter *Adapter) struct dm_priv *pdmpriv = &pHalData->dmpriv; u8 cut_ver, fab_ver; - /* */ /* Init Value */ - /* */ memset(pDM_Odm, 0, sizeof(*pDM_Odm)); pDM_Odm->Adapter = Adapter; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c index af688b7139cd..26c196b7f580 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c @@ -281,11 +281,8 @@ void rtl8723b_FirmwareSelfReset(struct adapter *padapter) } } -/* */ /* Description: */ /* Download 8192C firmware code. */ -/* */ -/* */ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw) { s32 rtStatus = _SUCCESS; @@ -432,9 +429,7 @@ void rtl8723b_InitializeFirmwareVars(struct adapter *padapter) pHalData->LastHMEBoxNum = 0; } -/* */ /* Efuse related code */ -/* */ static u8 hal_EfuseSwitchToBank( struct adapter *padapter, u8 bank ) @@ -625,9 +620,7 @@ static void hal_ReadEFuse_WiFi( u16 i, total, used; u8 efuse_usage = 0; - /* */ /* Do NOT excess total size of EFuse table. Added by Roger, 2008.11.10. */ - /* */ if ((_offset + _size_byte) > EFUSE_MAX_MAP_LEN) return; @@ -714,9 +707,7 @@ static void hal_ReadEFuse_BT( u16 i, total, used; u8 efuse_usage; - /* */ /* Do NOT excess total size of EFuse table. Added by Roger, 2008.11.10. */ - /* */ if ((_offset + _size_byte) > EFUSE_BT_MAP_LEN) return; @@ -788,9 +779,7 @@ static void hal_ReadEFuse_BT( for (i = 0; i < _size_byte; i++) pbuf[i] = efuseTbl[_offset+i]; - /* */ /* Calculate Efuse utilization. */ - /* */ Hal_GetEfuseDefinition(padapter, EFUSE_BT, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, &total); used = (EFUSE_BT_REAL_BANK_CONTENT_LEN*(bank-1)) + eFuse_Addr - 1; efuse_usage = (u8)((used*100)/total); @@ -929,23 +918,17 @@ void rtl8723b_SetBeaconRelatedRegisters(struct adapter *padapter) bcn_ctrl_reg = REG_BCN_CTRL; - /* */ /* ATIM window */ - /* */ rtw_write16(padapter, REG_ATIMWND, 2); - /* */ /* Beacon interval (in unit of TU). */ - /* */ rtw_write16(padapter, REG_BCN_INTERVAL, pmlmeinfo->bcn_interval); rtl8723b_InitBeaconParameters(padapter); rtw_write8(padapter, REG_SLOT, 0x09); - /* */ /* Reset TSF Timer to zero, added by Roger. 2008.06.24 */ - /* */ value32 = rtw_read32(padapter, REG_TCR); value32 &= ~TSFRST; rtw_write32(padapter, REG_TCR, value32); @@ -1078,11 +1061,7 @@ u8 GetEEPROMSize8723B(struct adapter *padapter) return size; } -/* */ -/* */ /* LLT R/W/Init function */ -/* */ -/* */ s32 rtl8723b_InitLLTTable(struct adapter *padapter) { unsigned long start, passing_time; @@ -1438,9 +1417,7 @@ void Hal_EfuseParseThermalMeter_8723B( { struct hal_com_data *pHalData = GET_HAL_DATA(padapter); - /* */ /* ThermalMeter from EEPROM */ - /* */ if (!AutoLoadFail) pHalData->EEPROMThermalMeter = PROMContent[EEPROM_THERMAL_METER_8723B]; else @@ -1454,10 +1431,7 @@ void Hal_ReadRFGainOffset( struct adapter *Adapter, u8 *PROMContent, bool AutoloadFail ) { - /* */ /* BB_RF Gain Offset from EEPROM */ - /* */ - if (!AutoloadFail) { Adapter->eeprompriv.EEPROMRFGainOffset = PROMContent[EEPROM_RF_GAIN_OFFSET]; Adapter->eeprompriv.EEPROMRFGainVal = rtw_efuse_read_1_byte(Adapter, @@ -1758,12 +1732,10 @@ void rtl8723b_update_txdesc(struct xmit_frame *pxmitframe, u8 *pbuf) rtl8723b_cal_txdesc_chksum(pdesc); } -/* */ /* Description: In normal chip, we should send some packet to Hw which will be used by Fw */ /* in FW LPS mode. The function is to fill the Tx descriptor of this packets, then */ /* Fw can tell Hw to send these packet derectly. */ /* Added by tynli. 2009.10.15. */ -/* */ /* type1:pspoll, type2:null */ void rtl8723b_fill_fake_txdesc( struct adapter *padapter, @@ -1801,9 +1773,7 @@ void rtl8723b_fill_fake_txdesc( SET_TX_DESC_TX_RATE_8723B(pDesc, DESC8723B_RATE1M); - /* */ /* Encrypt the data frame if under security mode excepct null data. Suggested by CCW. */ - /* */ if (bDataFrame) { u32 EncAlg = padapter->securitypriv.dot11_privacy_algrthm; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c index cdcad7ab2b40..3b28da8aea46 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c @@ -78,9 +78,7 @@ void PHY_SetBBReg_8723B( rtw_write32(Adapter, RegAddr, Data); } -/* */ /* 2. RF register R/W API */ -/* */ static u32 phy_RFSerialRead_8723B( struct adapter *Adapter, enum rf_path eRFPath, u32 Offset @@ -95,9 +93,7 @@ static u32 phy_RFSerialRead_8723B( u32 MaskforPhySet = 0; int i = 0; - /* */ /* Make sure RF register offset is correct */ - /* */ Offset &= 0xff; NewOffset = Offset; @@ -188,18 +184,13 @@ static void phy_RFSerialWrite_8723B( Offset &= 0xff; - /* */ /* Switch page for 8256 RF IC */ - /* */ NewOffset = Offset; - /* */ /* Put write addr in [5:0] and write data in [31:16] */ - /* */ DataAndAddr = ((NewOffset << 20) | (Data & 0x000fffff)) & 0x0fffffff; /* T65 RF */ - /* */ + /* Write Operation */ - /* */ PHY_SetBBReg(Adapter, pPhyReg->rf3wireOffset, bMaskDWord, DataAndAddr); } @@ -264,9 +255,7 @@ void PHY_SetRFReg_8723B( phy_RFSerialWrite_8723B(Adapter, eRFPath, RegAddr, Data); } -/* */ /* 3. Initial MAC/BB/RF config by reading MAC/BB/RF txt. */ -/* */ /*----------------------------------------------------------------------------- * PHY_MACConfig8192C - Config MAC by header file or parameter file. @@ -332,9 +321,7 @@ static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter) pHalData->EEPROMRegulatory == 1)) ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv, CONFIG_RF_TXPWR_LMT, 0); - /* */ /* 1. Read PHY_REG.TXT BB INIT!! */ - /* */ ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv, CONFIG_BB_PHY_REG); /* If EEPROM or EFUSE autoload OK, We must config by PHY_REG_PG.txt */ @@ -354,9 +341,7 @@ static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter) PHY_ConvertTxPowerLimitToPowerIndex(Adapter); } - /* */ /* 2. Read BB AGC table Initialization */ - /* */ ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv, CONFIG_BB_AGC_TAB); return _SUCCESS; @@ -388,9 +373,7 @@ int PHY_BBConfig8723B(struct adapter *Adapter) rtw_write8(Adapter, REG_AFE_XTAL_CTRL + 1, 0x80); - /* */ /* Config BB and AGC */ - /* */ rtStatus = phy_BB8723b_Config_ParaFile(Adapter); /* 0x2C[23:18] = 0x2C[17:12] = CrystalCap */ @@ -412,9 +395,7 @@ int PHY_RFConfig8723B(struct adapter *Adapter) { int rtStatus = _SUCCESS; - /* */ /* RF config */ - /* */ rtStatus = PHY_RF6052_Config8723B(Adapter); phy_LCK_8723B(Adapter); diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c index cdbbe23fac71..e894f8060893 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c @@ -109,9 +109,7 @@ static int phy_RF6052_Config_ParaFile(struct adapter *Adapter) int PHY_RF6052_Config8723B(struct adapter *Adapter) { - /* */ /* Config BB and RF */ - /* */ return phy_RF6052_Config_ParaFile(Adapter); } diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c index 952753f0dfc5..28e1855f45c2 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c @@ -50,9 +50,7 @@ static void process_link_qual(struct adapter *padapter, union recv_frame *prfram void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe) { union recv_frame *precvframe = prframe; - /* */ /* Check RSSI */ - /* */ process_rssi(padapter, precvframe); /* */ diff --git a/drivers/staging/rtl8723bs/hal/sdio_halinit.c b/drivers/staging/rtl8723bs/hal/sdio_halinit.c index bd3a8ed15063..4a2f5c3bb3cf 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_halinit.c +++ b/drivers/staging/rtl8723bs/hal/sdio_halinit.c @@ -491,9 +491,7 @@ static void _InitOperationMode(struct adapter *padapter) pmlmeext = &padapter->mlmeextpriv; /* 1 This part need to modified according to the rate set we filtered!! */ - /* */ /* Set RRSR, RATR, and REG_BWOPMODE registers */ - /* */ switch (pmlmeext->cur_wireless_mode) { case WIRELESS_MODE_B: regBwOpMode = BW_OPMODE_20MHZ; @@ -526,9 +524,7 @@ static void _InitInterrupt(struct adapter *padapter) /* HIMR - turn all off */ rtw_write32(padapter, REG_HIMR, 0); - /* */ /* Initialize and enable SDIO Host Interrupt. */ - /* */ InitInterrupt8723BSdio(padapter); } @@ -618,9 +614,7 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) ret = PHY_MACConfig8723B(padapter); if (ret != _SUCCESS) return ret; - /* */ /* d. Initialize BB related configurations. */ - /* */ ret = PHY_BBConfig8723B(padapter); if (ret != _SUCCESS) return ret; @@ -634,9 +628,7 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) return ret; } - /* */ /* Joseph Note: Keep RfRegChnlVal for later use. */ - /* */ pHalData->RfRegChnlVal[0] = PHY_QueryRFReg(padapter, (enum rf_path)0, RF_CHNLBW, bRFRegOffsetMask); pHalData->RfRegChnlVal[1] = @@ -650,7 +642,6 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) if (ret != _SUCCESS) return _FAIL; - /* */ _InitQueuePriority(padapter); _InitPageBoundary(padapter); _InitTransferPageSize(padapter); @@ -683,29 +674,23 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) rtl8723b_InitAntenna_Selection(padapter); - /* */ /* Disable BAR, suggested by Scott */ /* 2010.04.09 add by hpfan */ - /* */ rtw_write32(padapter, REG_BAR_MODE_CTRL, 0x0201ffff); /* HW SEQ CTRL */ /* set 0x0 to 0xFF by tynli. Default enable HW SEQ NUM. */ rtw_write8(padapter, REG_HWSEQ_CTRL, 0xFF); - /* */ /* Configure SDIO TxRx Control to enable Rx DMA timer masking. */ /* 2010.02.24. */ - /* */ rtw_write32(padapter, SDIO_LOCAL_BASE | SDIO_REG_TX_CTRL, 0); _RfPowerSave(padapter); rtl8723b_InitHalDm(padapter); - /* */ /* Update current Tx FIFO page status. */ - /* */ HalQueryTxBufferStatus8723BSdio(padapter); HalQueryTxOQTBufferStatus8723BSdio(padapter); pHalData->SdioTxOQTMaxFreeSpace = pHalData->SdioTxOQTFreeSpace; @@ -773,12 +758,9 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) return _SUCCESS; } -/* */ /* Description: */ /* RTL8723e card disable power sequence v003 which suggested by Scott. */ -/* */ /* First created by tynli. 2011.01.28. */ -/* */ static void CardDisableRTL8723BSdio(struct adapter *padapter) { u8 val; @@ -923,15 +905,11 @@ void rtl8723bs_interface_configure(struct adapter *padapter) Hal_MappingOutPipe(padapter, pHalData->OutEpNumber); } -/* */ /* Description: */ /* We should set Efuse cell selection to WiFi cell in default. */ -/* */ /* Assumption: */ /* PASSIVE_LEVEL */ -/* */ /* Added by Roger, 2010.11.23. */ -/* */ static void _EfuseCellSel(struct adapter *padapter) { u32 value32; @@ -975,10 +953,7 @@ static void _ReadEfuseInfo8723BS(struct adapter *padapter) struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); u8 *hwinfo = NULL; - /* */ /* This part read and parse the eeprom/efuse content */ - /* */ - hwinfo = pEEPROM->efuse_eeprom_data; Hal_InitPGData(padapter, hwinfo); @@ -990,9 +965,7 @@ static void _ReadEfuseInfo8723BS(struct adapter *padapter) Hal_EfuseParseTxPowerInfo_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); Hal_EfuseParseBoardType_8723BS(padapter, hwinfo, pEEPROM->bautoload_fail_flag); - /* */ /* Read Bluetooth co-exist and initialize */ - /* */ Hal_EfuseParsePackageType_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); Hal_EfuseParseBTCoexistInfo_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); Hal_EfuseParseChnlPlan_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); @@ -1017,14 +990,10 @@ static void _ReadPROMContent(struct adapter *padapter) _ReadEfuseInfo8723BS(padapter); } -/* */ /* Description: */ /* Read HW adapter information by E-Fuse or EEPROM according CR9346 reported. */ -/* */ /* Assumption: */ /* PASSIVE_LEVEL (SDIO interface) */ -/* */ -/* */ static s32 _ReadAdapterInfo8723BS(struct adapter *padapter) { u8 val8; @@ -1138,10 +1107,8 @@ void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf, int l } } -/* */ /* Description: */ /* Query setting of specified variable. */ -/* */ u8 GetHalDefVar8723BSDIO( struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue ) diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl8723bs/hal/sdio_ops.c index b7a4ab0bedc9..c12f670922d5 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_ops.c +++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c @@ -7,12 +7,9 @@ #include #include -/* */ /* Description: */ /* The following mapping is for SDIO host local register space. */ -/* */ /* Creadted by Roger, 2011.01.31. */ -/* */ static void hal_sdio_get_cmd_addr_8723b(struct adapter *adapter, u8 device_id, u32 addr, u32 *cmdaddr) { @@ -562,15 +559,11 @@ static s32 read_interrupt_8723b_sdio(struct adapter *adapter, u32 *phisr) return true; } -/* */ /* Description: */ /* Initialize SDIO Host Interrupt Mask configuration variables for future use. */ -/* */ /* Assumption: */ /* Using SDIO Local register ONLY for configuration. */ -/* */ /* Created by Roger, 2011.02.11. */ -/* */ void InitInterrupt8723BSdio(struct adapter *adapter) { struct hal_com_data *haldata; @@ -598,11 +591,9 @@ void rtw_sdio_enable_interrupt(struct adapter *adapter) himr = cpu_to_le32(haldata->sdio_himr); sdio_local_write(adapter, SDIO_REG_HIMR, 4, (u8 *)&himr); - /* */ /* There are some C2H CMDs have been sent before system interrupt is enabled, e.g., C2H, CPWM. */ /* So we need to clear all C2H events that FW has notified, otherwise FW won't schedule any commands anymore. */ /* 2011.10.19. */ - /* */ rtw_write8(adapter, REG_C2HEVT_CLEAR, C2H_EVT_HOST_CLOSE); } @@ -620,15 +611,11 @@ void rtw_sdio_disable_interrupt(struct adapter *adapter) sdio_local_write(adapter, SDIO_REG_HIMR, 4, (u8 *)&himr); } -/* */ /* Description: */ /* Using 0x100 to check the power status of FW. */ -/* */ /* Assumption: */ /* Using SDIO Local register ONLY for configuration. */ -/* */ /* Created by Isaac, 2013.09.10. */ -/* */ u8 CheckIPSStatus(struct adapter *adapter) { if (rtw_read8(adapter, 0x100) == 0xEA) @@ -833,16 +820,12 @@ void sd_int_hdl(struct adapter *adapter) } } -/* */ /* Description: */ /* Query SDIO Local register to query current the number of Free TxPacketBuffer page. */ -/* */ /* Assumption: */ /* 1. Running at PASSIVE_LEVEL */ /* 2. RT_TX_SPINLOCK is NOT acquired. */ -/* */ /* Created by Roger, 2011.01.28. */ -/* */ u8 HalQueryTxBufferStatus8723BSdio(struct adapter *adapter) { struct hal_com_data *hal; diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index d94095cae0b4..8a995b7a06c4 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -590,7 +590,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa psecuritypriv->binstallGrpkey = true; - psecuritypriv->dot11_privacy_algrthm = psecuritypriv->dot118021XGrpPrivacy;/* */ + psecuritypriv->dot11_privacy_algrthm = psecuritypriv->dot118021XGrpPrivacy; rtw_ap_set_group_key(padapter, param->u.crypt.key, psecuritypriv->dot118021XGrpPrivacy, param->u.crypt.idx); @@ -664,7 +664,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa psecuritypriv->binstallGrpkey = true; - psecuritypriv->dot11_privacy_algrthm = psecuritypriv->dot118021XGrpPrivacy;/* */ + psecuritypriv->dot11_privacy_algrthm = psecuritypriv->dot118021XGrpPrivacy; rtw_ap_set_group_key(padapter, param->u.crypt.key, psecuritypriv->dot118021XGrpPrivacy, param->u.crypt.idx); diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index f8b0fc1c4bec..ab291792459b 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -23,9 +23,9 @@ static int rtw_network_mode = NL80211_IFTYPE_ADHOC;/* infra, ad-hoc, auto */ static int rtw_channel = 1;/* ad-hoc support requirement */ static int rtw_wireless_mode = WIRELESS_11BG_24N; static int rtw_vrtl_carrier_sense = AUTO_VCS; -static int rtw_vcs_type = RTS_CTS;/* */ -static int rtw_rts_thresh = 2347;/* */ -static int rtw_frag_thresh = 2346;/* */ +static int rtw_vcs_type = RTS_CTS; +static int rtw_rts_thresh = 2347; +static int rtw_frag_thresh = 2346; static int rtw_preamble = PREAMBLE_LONG;/* long, short, auto */ static int rtw_scan_mode = 1;/* active, passive */ static int rtw_adhoc_tx_pwr = 1; From b919b1e4dcd8476a96bffdab360577877405424e Mon Sep 17 00:00:00 2001 From: Matheus Alves de Almeida Date: Mon, 14 Sep 2026 19:36:19 -0300 Subject: [PATCH 084/145] staging: rtl8723bs: use bool for rtw_endofpktfile rtw_endofpktfile() returns only true or false. Use bool as its return type to accurately describe the function's behavior. Signed-off-by: Matheus Alves de Almeida Link: https://patch.msgid.link/20260914223620.145302-1-matheus.aalmeida@inf.ufrgs.br Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/xmit_osdep.h | 2 +- drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/xmit_osdep.h b/drivers/staging/rtl8723bs/include/xmit_osdep.h index 85c42fa06dbd..9027abbd837f 100644 --- a/drivers/staging/rtl8723bs/include/xmit_osdep.h +++ b/drivers/staging/rtl8723bs/include/xmit_osdep.h @@ -35,7 +35,7 @@ void rtw_os_xmit_resource_free(struct adapter *padapter, struct xmit_buf *pxmitb unsigned int rtw_remainder_len(struct pkt_file *pfile); void _rtw_open_pktfile(struct sk_buff *pkt, struct pkt_file *pfile); int _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, unsigned int rlen); -signed int rtw_endofpktfile(struct pkt_file *pfile); +bool rtw_endofpktfile(struct pkt_file *pfile); void rtw_os_pkt_complete(struct adapter *padapter, struct sk_buff *pkt); void rtw_os_xmit_complete(struct adapter *padapter, struct xmit_frame *pxframe); diff --git a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c index ad73b528d220..6ee2a1f29aa4 100644 --- a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c +++ b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c @@ -43,7 +43,7 @@ int _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, unsigned int rlen) return rlen; } -signed int rtw_endofpktfile(struct pkt_file *pfile) +bool rtw_endofpktfile(struct pkt_file *pfile) { if (pfile->pkt_len == 0) return true; From 91007c331f75a6f1757485998ef36b4621fdf698 Mon Sep 17 00:00:00 2001 From: Ethan Nelson-Moore Date: Thu, 17 Sep 2026 18:16:54 -0700 Subject: [PATCH 085/145] staging: greybus: remove empty TODO file drivers/staging/greybus/TODO has been empty since commit d85bef159923 ("staging: greybus: remove completed GPIO conversion task from TODO"). Remove it. Signed-off-by: Ethan Nelson-Moore Reviewed-by: Alex Elder Link: https://patch.msgid.link/20260918011654.115001-1-enelsonmoore@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/TODO | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 drivers/staging/greybus/TODO diff --git a/drivers/staging/greybus/TODO b/drivers/staging/greybus/TODO deleted file mode 100644 index e69de29bb2d1..000000000000 From 2f75b2eac9996608e1f080987eca958300b91eef Mon Sep 17 00:00:00 2001 From: Ethan Nelson-Moore Date: Mon, 14 Sep 2026 19:02:59 -0700 Subject: [PATCH 086/145] staging: greybus: remove driver depending on nonexistent config option The Greybus Arche Platform driver depends on the config options USB_HSIC_USB3613 or COMPILE_TEST. USB_HSIC_USB3613 has never existed in mainline Linux, and COMPILE_TEST is intended to enable the compilation of drivers on platforms that can't support them to improve code coverage and ease testing of trivial or tree-wide changes. Therefore, it is impossible for anyone to be using this driver with unmodified mainline kernels. Remove it and move the former maintainer to the CREDITS file. Signed-off-by: Ethan Nelson-Moore Link: https://patch.msgid.link/20260915020308.83636-1-enelsonmoore@gmail.com Signed-off-by: Greg Kroah-Hartman --- CREDITS | 4 + MAINTAINERS | 7 - drivers/staging/greybus/Kconfig | 9 - drivers/staging/greybus/Makefile | 6 - drivers/staging/greybus/arche-apb-ctrl.c | 490 ----------------- drivers/staging/greybus/arche-platform.c | 653 ----------------------- drivers/staging/greybus/arche_platform.h | 28 - 7 files changed, 4 insertions(+), 1193 deletions(-) delete mode 100644 drivers/staging/greybus/arche-apb-ctrl.c delete mode 100644 drivers/staging/greybus/arche-platform.c delete mode 100644 drivers/staging/greybus/arche_platform.h diff --git a/CREDITS b/CREDITS index a0bd941ca5dd..9f74318ac0da 100644 --- a/CREDITS +++ b/CREDITS @@ -1717,6 +1717,10 @@ S: Talstr. 1 S: D - 72072 Tuebingen S: Germany +N: Vaibhav Hiremath +E: hvaibhav.linux@gmail.com +D: Greybus Arche Platform driver + N: Richard Hirst E: richard@sleepie.demon.co.uk E: rhirst@linuxcare.com diff --git a/MAINTAINERS b/MAINTAINERS index 6215fcb07770..e69febbdac91 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11315,13 +11315,6 @@ M: Bryan O'Donoghue S: Maintained F: drivers/staging/greybus/loopback.c -GREYBUS PLATFORM DRIVERS -M: Vaibhav Hiremath -S: Maintained -F: drivers/staging/greybus/arche-apb-ctrl.c -F: drivers/staging/greybus/arche-platform.c -F: drivers/staging/greybus/arche_platform.h - GREYBUS SDIO/GPIO/SPI PROTOCOLS DRIVERS M: Rui Miguel Silva S: Maintained diff --git a/drivers/staging/greybus/Kconfig b/drivers/staging/greybus/Kconfig index 7635f3e850fa..c25da61570eb 100644 --- a/drivers/staging/greybus/Kconfig +++ b/drivers/staging/greybus/Kconfig @@ -204,13 +204,4 @@ config GREYBUS_USB endif # GREYBUS_BRIDGED_PHY -config GREYBUS_ARCHE - tristate "Greybus Arche Platform driver" - depends on USB_HSIC_USB3613 || COMPILE_TEST - help - Select this option if you have an Arche device. - - To compile this code as a module, chose M here: the module - will be called gb-arche.ko - endif # GREYBUS diff --git a/drivers/staging/greybus/Makefile b/drivers/staging/greybus/Makefile index 7c5e89622334..7b9807f8a1a3 100644 --- a/drivers/staging/greybus/Makefile +++ b/drivers/staging/greybus/Makefile @@ -65,9 +65,3 @@ obj-$(CONFIG_GREYBUS_SDIO) += gb-sdio.o obj-$(CONFIG_GREYBUS_SPI) += gb-spi.o gb-spilib.o obj-$(CONFIG_GREYBUS_UART) += gb-uart.o obj-$(CONFIG_GREYBUS_USB) += gb-usb.o - - -# Greybus Platform driver -gb-arche-y := arche-platform.o arche-apb-ctrl.o - -obj-$(CONFIG_GREYBUS_ARCHE) += gb-arche.o diff --git a/drivers/staging/greybus/arche-apb-ctrl.c b/drivers/staging/greybus/arche-apb-ctrl.c deleted file mode 100644 index 4302c2226126..000000000000 --- a/drivers/staging/greybus/arche-apb-ctrl.c +++ /dev/null @@ -1,490 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Arche Platform driver to control APB. - * - * Copyright 2014-2015 Google Inc. - * Copyright 2014-2015 Linaro Ltd. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "arche_platform.h" - -static void apb_bootret_deassert(struct device *dev); - -struct arche_apb_ctrl_drvdata { - /* Control GPIO signals to and from AP <=> AP Bridges */ - struct gpio_desc *resetn; - struct gpio_desc *boot_ret; - struct gpio_desc *pwroff; - struct gpio_desc *wake_in; - struct gpio_desc *wake_out; - struct gpio_desc *pwrdn; - - enum arche_platform_state state; - bool init_disabled; - - struct regulator *vcore; - struct regulator *vio; - - struct gpio_desc *clk_en; - struct clk *clk; - - struct pinctrl *pinctrl; - struct pinctrl_state *pin_default; - - /* V2: SPI Bus control */ - struct gpio_desc *spi_en; - bool spi_en_polarity_high; -}; - -/* - * Note that these low level api's are active high - */ -static inline void deassert_reset(struct gpio_desc *gpio) -{ - gpiod_set_raw_value(gpio, 1); -} - -static inline void assert_reset(struct gpio_desc *gpio) -{ - gpiod_set_raw_value(gpio, 0); -} - -/* - * Note: Please do not modify the below sequence, as it is as per the spec - */ -static int coldboot_seq(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - int ret; - - if (apb->init_disabled || - apb->state == ARCHE_PLATFORM_STATE_ACTIVE) - return 0; - - /* Hold APB in reset state */ - assert_reset(apb->resetn); - - if (apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING && apb->spi_en) - devm_gpiod_put(dev, apb->spi_en); - - /* Enable power to APB */ - if (!IS_ERR(apb->vcore)) { - ret = regulator_enable(apb->vcore); - if (ret) { - dev_err(dev, "failed to enable core regulator\n"); - return ret; - } - } - - if (!IS_ERR(apb->vio)) { - ret = regulator_enable(apb->vio); - if (ret) { - dev_err(dev, "failed to enable IO regulator\n"); - return ret; - } - } - - apb_bootret_deassert(dev); - - /* On DB3 clock was not mandatory */ - if (apb->clk_en) - gpiod_set_value(apb->clk_en, 1); - - usleep_range(100, 200); - - /* deassert reset to APB : Active-low signal */ - deassert_reset(apb->resetn); - - apb->state = ARCHE_PLATFORM_STATE_ACTIVE; - - return 0; -} - -static int fw_flashing_seq(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - int ret; - - if (apb->init_disabled || - apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING) - return 0; - - ret = regulator_enable(apb->vcore); - if (ret) { - dev_err(dev, "failed to enable core regulator\n"); - return ret; - } - - ret = regulator_enable(apb->vio); - if (ret) { - dev_err(dev, "failed to enable IO regulator\n"); - return ret; - } - - if (apb->spi_en) { - unsigned long flags; - - if (apb->spi_en_polarity_high) - flags = GPIOD_OUT_HIGH; - else - flags = GPIOD_OUT_LOW; - - apb->spi_en = devm_gpiod_get(dev, "spi-en", flags); - if (IS_ERR(apb->spi_en)) { - ret = PTR_ERR(apb->spi_en); - dev_err(dev, "Failed requesting SPI bus en GPIO: %d\n", - ret); - return ret; - } - } - - /* for flashing device should be in reset state */ - assert_reset(apb->resetn); - apb->state = ARCHE_PLATFORM_STATE_FW_FLASHING; - - return 0; -} - -static int standby_boot_seq(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - - if (apb->init_disabled) - return 0; - - /* - * Even if it is in OFF state, - * then we do not want to change the state - */ - if (apb->state == ARCHE_PLATFORM_STATE_STANDBY || - apb->state == ARCHE_PLATFORM_STATE_OFF) - return 0; - - if (apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING && apb->spi_en) - devm_gpiod_put(dev, apb->spi_en); - - /* - * As per WDM spec, do nothing - * - * Pasted from WDM spec, - * - A falling edge on POWEROFF_L is detected (a) - * - WDM enters standby mode, but no output signals are changed - */ - - /* TODO: POWEROFF_L is input to WDM module */ - apb->state = ARCHE_PLATFORM_STATE_STANDBY; - return 0; -} - -static void poweroff_seq(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - - if (apb->init_disabled || apb->state == ARCHE_PLATFORM_STATE_OFF) - return; - - if (apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING && apb->spi_en) - devm_gpiod_put(dev, apb->spi_en); - - /* disable the clock */ - if (apb->clk_en) - gpiod_set_value(apb->clk_en, 0); - - if (!IS_ERR(apb->vcore) && regulator_is_enabled(apb->vcore) > 0) - regulator_disable(apb->vcore); - - if (!IS_ERR(apb->vio) && regulator_is_enabled(apb->vio) > 0) - regulator_disable(apb->vio); - - /* As part of exit, put APB back in reset state */ - assert_reset(apb->resetn); - apb->state = ARCHE_PLATFORM_STATE_OFF; - - /* TODO: May have to send an event to SVC about this exit */ -} - -static void apb_bootret_deassert(struct device *dev) -{ - struct arche_apb_ctrl_drvdata *apb = dev_get_drvdata(dev); - - gpiod_set_value(apb->boot_ret, 0); -} - -int apb_ctrl_coldboot(struct device *dev) -{ - return coldboot_seq(to_platform_device(dev)); -} - -int apb_ctrl_fw_flashing(struct device *dev) -{ - return fw_flashing_seq(to_platform_device(dev)); -} - -int apb_ctrl_standby_boot(struct device *dev) -{ - return standby_boot_seq(to_platform_device(dev)); -} - -void apb_ctrl_poweroff(struct device *dev) -{ - poweroff_seq(to_platform_device(dev)); -} - -static ssize_t state_store(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - struct platform_device *pdev = to_platform_device(dev); - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - int ret = 0; - bool is_disabled; - - if (sysfs_streq(buf, "off")) { - if (apb->state == ARCHE_PLATFORM_STATE_OFF) - return count; - - poweroff_seq(pdev); - } else if (sysfs_streq(buf, "active")) { - if (apb->state == ARCHE_PLATFORM_STATE_ACTIVE) - return count; - - poweroff_seq(pdev); - is_disabled = apb->init_disabled; - apb->init_disabled = false; - ret = coldboot_seq(pdev); - if (ret) - apb->init_disabled = is_disabled; - } else if (sysfs_streq(buf, "standby")) { - if (apb->state == ARCHE_PLATFORM_STATE_STANDBY) - return count; - - ret = standby_boot_seq(pdev); - } else if (sysfs_streq(buf, "fw_flashing")) { - if (apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING) - return count; - - /* - * First we want to make sure we power off everything - * and then enter FW flashing state - */ - poweroff_seq(pdev); - ret = fw_flashing_seq(pdev); - } else { - dev_err(dev, "unknown state\n"); - ret = -EINVAL; - } - - return ret ? ret : count; -} - -static ssize_t state_show(struct device *dev, - struct device_attribute *attr, char *buf) -{ - struct arche_apb_ctrl_drvdata *apb = dev_get_drvdata(dev); - - switch (apb->state) { - case ARCHE_PLATFORM_STATE_OFF: - return sysfs_emit(buf, "off%s\n", - apb->init_disabled ? ",disabled" : ""); - case ARCHE_PLATFORM_STATE_ACTIVE: - return sysfs_emit(buf, "active\n"); - case ARCHE_PLATFORM_STATE_STANDBY: - return sysfs_emit(buf, "standby\n"); - case ARCHE_PLATFORM_STATE_FW_FLASHING: - return sysfs_emit(buf, "fw_flashing\n"); - default: - return sysfs_emit(buf, "unknown state\n"); - } -} - -static DEVICE_ATTR_RW(state); - -static int apb_ctrl_get_fw_data(struct platform_device *pdev, - struct arche_apb_ctrl_drvdata *apb) -{ - struct device *dev = &pdev->dev; - int ret; - - apb->resetn = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); - if (IS_ERR(apb->resetn)) { - ret = PTR_ERR(apb->resetn); - dev_err(dev, "Failed requesting reset GPIO: %d\n", ret); - return ret; - } - - apb->boot_ret = devm_gpiod_get(dev, "boot-ret", GPIOD_OUT_LOW); - if (IS_ERR(apb->boot_ret)) { - ret = PTR_ERR(apb->boot_ret); - dev_err(dev, "Failed requesting bootret GPIO: %d\n", ret); - return ret; - } - - /* It's not mandatory to support power management interface */ - apb->pwroff = devm_gpiod_get_optional(dev, "pwr-off", GPIOD_IN); - if (IS_ERR(apb->pwroff)) { - ret = PTR_ERR(apb->pwroff); - dev_err(dev, "Failed requesting pwroff_n GPIO: %d\n", ret); - return ret; - } - - /* Do not make clock mandatory as of now (for DB3) */ - apb->clk_en = devm_gpiod_get_optional(dev, "clock-en", GPIOD_OUT_LOW); - if (IS_ERR(apb->clk_en)) { - ret = PTR_ERR(apb->clk_en); - dev_err(dev, "Failed requesting APB clock en GPIO: %d\n", ret); - return ret; - } - - apb->pwrdn = devm_gpiod_get(dev, "pwr-down", GPIOD_OUT_LOW); - if (IS_ERR(apb->pwrdn)) { - ret = PTR_ERR(apb->pwrdn); - dev_warn(dev, "Failed requesting power down GPIO: %d\n", ret); - return ret; - } - - /* Regulators are optional, as we may have fixed supply coming in */ - apb->vcore = devm_regulator_get(dev, "vcore"); - if (IS_ERR(apb->vcore)) - dev_warn(dev, "no core regulator found\n"); - - apb->vio = devm_regulator_get(dev, "vio"); - if (IS_ERR(apb->vio)) - dev_warn(dev, "no IO regulator found\n"); - - apb->pinctrl = devm_pinctrl_get(&pdev->dev); - if (IS_ERR(apb->pinctrl)) { - dev_err(&pdev->dev, "could not get pinctrl handle\n"); - return PTR_ERR(apb->pinctrl); - } - apb->pin_default = pinctrl_lookup_state(apb->pinctrl, "default"); - if (IS_ERR(apb->pin_default)) { - dev_err(&pdev->dev, "could not get default pin state\n"); - return PTR_ERR(apb->pin_default); - } - - /* Only applicable for platform >= V2 */ - if (device_property_read_bool(&pdev->dev, "gb,spi-en-active-high")) - apb->spi_en_polarity_high = true; - - return 0; -} - -static int arche_apb_ctrl_probe(struct platform_device *pdev) -{ - int ret; - struct arche_apb_ctrl_drvdata *apb; - struct device *dev = &pdev->dev; - - apb = devm_kzalloc(&pdev->dev, sizeof(*apb), GFP_KERNEL); - if (!apb) - return -ENOMEM; - - ret = apb_ctrl_get_fw_data(pdev, apb); - if (ret) { - dev_err(dev, "failed to get apb devicetree data %d\n", ret); - return ret; - } - - /* Initially set APB to OFF state */ - apb->state = ARCHE_PLATFORM_STATE_OFF; - /* Check whether device needs to be enabled on boot */ - if (device_property_read_bool(&pdev->dev, "arche,init-disable")) - apb->init_disabled = true; - - platform_set_drvdata(pdev, apb); - - /* Create sysfs interface to allow user to change state dynamically */ - ret = device_create_file(dev, &dev_attr_state); - if (ret) { - dev_err(dev, "failed to create state file in sysfs\n"); - return ret; - } - - dev_info(&pdev->dev, "Device registered successfully\n"); - return 0; -} - -static void arche_apb_ctrl_remove(struct platform_device *pdev) -{ - device_remove_file(&pdev->dev, &dev_attr_state); - poweroff_seq(pdev); - platform_set_drvdata(pdev, NULL); -} - -static int __maybe_unused arche_apb_ctrl_suspend(struct device *dev) -{ - /* - * If timing profile permits, we may shutdown bridge - * completely - * - * TODO: sequence ?? - * - * Also, need to make sure we meet precondition for unipro suspend - * Precondition: Definition ??? - */ - return 0; -} - -static int __maybe_unused arche_apb_ctrl_resume(struct device *dev) -{ - /* - * At least for ES2 we have to meet the delay requirement between - * unipro switch and AP bridge init, depending on whether bridge is in - * OFF state or standby state. - * - * Based on whether bridge is in standby or OFF state we may have to - * assert multiple signals. Please refer to WDM spec, for more info. - * - */ - return 0; -} - -static void arche_apb_ctrl_shutdown(struct platform_device *pdev) -{ - apb_ctrl_poweroff(&pdev->dev); -} - -static SIMPLE_DEV_PM_OPS(arche_apb_ctrl_pm_ops, arche_apb_ctrl_suspend, - arche_apb_ctrl_resume); - -static const struct of_device_id arche_apb_ctrl_of_match[] = { - { .compatible = "usbffff,2", }, - { }, -}; -MODULE_DEVICE_TABLE(of, arche_apb_ctrl_of_match); - -static struct platform_driver arche_apb_ctrl_device_driver = { - .probe = arche_apb_ctrl_probe, - .remove = arche_apb_ctrl_remove, - .shutdown = arche_apb_ctrl_shutdown, - .driver = { - .name = "arche-apb-ctrl", - .pm = &arche_apb_ctrl_pm_ops, - .of_match_table = arche_apb_ctrl_of_match, - } -}; - -int __init arche_apb_init(void) -{ - return platform_driver_register(&arche_apb_ctrl_device_driver); -} - -void __exit arche_apb_exit(void) -{ - platform_driver_unregister(&arche_apb_ctrl_device_driver); -} diff --git a/drivers/staging/greybus/arche-platform.c b/drivers/staging/greybus/arche-platform.c deleted file mode 100644 index de5de59ea8ab..000000000000 --- a/drivers/staging/greybus/arche-platform.c +++ /dev/null @@ -1,653 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Arche Platform driver to enable Unipro link. - * - * Copyright 2014-2015 Google Inc. - * Copyright 2014-2015 Linaro Ltd. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "arche_platform.h" - -#if IS_ENABLED(CONFIG_USB_HSIC_USB3613) -#include -#else -static inline int usb3613_hub_mode_ctrl(bool unused) -{ - return 0; -} -#endif - -#define WD_COLDBOOT_PULSE_WIDTH_MS 30 - -enum svc_wakedetect_state { - WD_STATE_IDLE, /* Default state = pulled high/low */ - WD_STATE_BOOT_INIT, /* WD = falling edge (low) */ - WD_STATE_COLDBOOT_TRIG, /* WD = rising edge (high), > 30msec */ - WD_STATE_STANDBYBOOT_TRIG, /* As of now not used ?? */ - WD_STATE_COLDBOOT_START, /* Cold boot process started */ - WD_STATE_STANDBYBOOT_START, /* Not used */ -}; - -struct arche_platform_drvdata { - /* Control GPIO signals to and from AP <=> SVC */ - struct gpio_desc *svc_reset; - bool is_reset_act_hi; - struct gpio_desc *svc_sysboot; - struct gpio_desc *wake_detect; /* bi-dir,maps to WAKE_MOD & WAKE_FRAME signals */ - - enum arche_platform_state state; - - struct gpio_desc *svc_refclk_req; - struct clk *svc_ref_clk; - - struct pinctrl *pinctrl; - struct pinctrl_state *pin_default; - - int num_apbs; - - enum svc_wakedetect_state wake_detect_state; - int wake_detect_irq; - spinlock_t wake_lock; /* Protect wake_detect_state */ - struct mutex platform_state_mutex; /* Protect state */ - unsigned long wake_detect_start; - struct notifier_block pm_notifier; - - struct device *dev; -}; - -/* Requires calling context to hold arche_pdata->platform_state_mutex */ -static void arche_platform_set_state(struct arche_platform_drvdata *arche_pdata, - enum arche_platform_state state) -{ - arche_pdata->state = state; -} - -/* Requires arche_pdata->wake_lock is held by calling context */ -static void arche_platform_set_wake_detect_state(struct arche_platform_drvdata *arche_pdata, - enum svc_wakedetect_state state) -{ - arche_pdata->wake_detect_state = state; -} - -static inline void svc_reset_onoff(struct gpio_desc *gpio, bool onoff) -{ - gpiod_set_raw_value(gpio, onoff); -} - -static int apb_cold_boot(struct device *dev, void *data) -{ - int ret; - - ret = apb_ctrl_coldboot(dev); - if (ret) - dev_warn(dev, "failed to coldboot\n"); - - /*Child nodes are independent, so do not exit coldboot operation */ - return 0; -} - -static int apb_poweroff(struct device *dev, void *data) -{ - apb_ctrl_poweroff(dev); - - /* Enable HUB3613 into HUB mode. */ - if (usb3613_hub_mode_ctrl(false)) - dev_warn(dev, "failed to control hub device\n"); - - return 0; -} - -static void arche_platform_wd_irq_en(struct arche_platform_drvdata *arche_pdata) -{ - /* Enable interrupt here, to read event back from SVC */ - enable_irq(arche_pdata->wake_detect_irq); -} - -static irqreturn_t arche_platform_wd_irq_thread(int irq, void *devid) -{ - struct arche_platform_drvdata *arche_pdata = devid; - unsigned long flags; - - spin_lock_irqsave(&arche_pdata->wake_lock, flags); - if (arche_pdata->wake_detect_state != WD_STATE_COLDBOOT_TRIG) { - /* Something is wrong */ - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - return IRQ_HANDLED; - } - - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_COLDBOOT_START); - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - - /* It should complete power cycle, so first make sure it is poweroff */ - device_for_each_child(arche_pdata->dev, NULL, apb_poweroff); - - /* Bring APB out of reset: cold boot sequence */ - device_for_each_child(arche_pdata->dev, NULL, apb_cold_boot); - - /* Enable HUB3613 into HUB mode. */ - if (usb3613_hub_mode_ctrl(true)) - dev_warn(arche_pdata->dev, "failed to control hub device\n"); - - spin_lock_irqsave(&arche_pdata->wake_lock, flags); - arche_platform_set_wake_detect_state(arche_pdata, WD_STATE_IDLE); - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - - return IRQ_HANDLED; -} - -static irqreturn_t arche_platform_wd_irq(int irq, void *devid) -{ - struct arche_platform_drvdata *arche_pdata = devid; - unsigned long flags; - - spin_lock_irqsave(&arche_pdata->wake_lock, flags); - - if (gpiod_get_value(arche_pdata->wake_detect)) { - /* wake/detect rising */ - - /* - * If wake/detect line goes high after low, within less than - * 30msec, then standby boot sequence is initiated, which is not - * supported/implemented as of now. So ignore it. - */ - if (arche_pdata->wake_detect_state == WD_STATE_BOOT_INIT) { - if (time_before(jiffies, - arche_pdata->wake_detect_start + - msecs_to_jiffies(WD_COLDBOOT_PULSE_WIDTH_MS))) { - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_IDLE); - } else { - /* - * Check we are not in middle of irq thread - * already - */ - if (arche_pdata->wake_detect_state != - WD_STATE_COLDBOOT_START) { - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_COLDBOOT_TRIG); - spin_unlock_irqrestore(&arche_pdata->wake_lock, - flags); - return IRQ_WAKE_THREAD; - } - } - } - } else { - /* wake/detect falling */ - if (arche_pdata->wake_detect_state == WD_STATE_IDLE) { - arche_pdata->wake_detect_start = jiffies; - /* - * In the beginning, when wake/detect goes low - * (first time), we assume it is meant for coldboot - * and set the flag. If wake/detect line stays low - * beyond 30msec, then it is coldboot else fallback - * to standby boot. - */ - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_BOOT_INIT); - } - } - - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - - return IRQ_HANDLED; -} - -/* - * Requires arche_pdata->platform_state_mutex to be held - */ -static int -arche_platform_coldboot_seq(struct arche_platform_drvdata *arche_pdata) -{ - int ret; - - if (arche_pdata->state == ARCHE_PLATFORM_STATE_ACTIVE) - return 0; - - dev_info(arche_pdata->dev, "Booting from cold boot state\n"); - - svc_reset_onoff(arche_pdata->svc_reset, arche_pdata->is_reset_act_hi); - - gpiod_set_value(arche_pdata->svc_sysboot, 0); - usleep_range(100, 200); - - ret = clk_prepare_enable(arche_pdata->svc_ref_clk); - if (ret) { - dev_err(arche_pdata->dev, "failed to enable svc_ref_clk: %d\n", - ret); - return ret; - } - - /* bring SVC out of reset */ - svc_reset_onoff(arche_pdata->svc_reset, !arche_pdata->is_reset_act_hi); - - arche_platform_set_state(arche_pdata, ARCHE_PLATFORM_STATE_ACTIVE); - - return 0; -} - -/* - * Requires arche_pdata->platform_state_mutex to be held - */ -static int -arche_platform_fw_flashing_seq(struct arche_platform_drvdata *arche_pdata) -{ - int ret; - - if (arche_pdata->state == ARCHE_PLATFORM_STATE_FW_FLASHING) - return 0; - - dev_info(arche_pdata->dev, "Switching to FW flashing state\n"); - - svc_reset_onoff(arche_pdata->svc_reset, arche_pdata->is_reset_act_hi); - - gpiod_set_value(arche_pdata->svc_sysboot, 1); - - usleep_range(100, 200); - - ret = clk_prepare_enable(arche_pdata->svc_ref_clk); - if (ret) { - dev_err(arche_pdata->dev, "failed to enable svc_ref_clk: %d\n", - ret); - return ret; - } - - svc_reset_onoff(arche_pdata->svc_reset, !arche_pdata->is_reset_act_hi); - - arche_platform_set_state(arche_pdata, ARCHE_PLATFORM_STATE_FW_FLASHING); - - return 0; -} - -/* - * Requires arche_pdata->platform_state_mutex to be held - */ -static void -arche_platform_poweroff_seq(struct arche_platform_drvdata *arche_pdata) -{ - unsigned long flags; - - if (arche_pdata->state == ARCHE_PLATFORM_STATE_OFF) - return; - - /* If in fw_flashing mode, then no need to repeate things again */ - if (arche_pdata->state != ARCHE_PLATFORM_STATE_FW_FLASHING) { - disable_irq(arche_pdata->wake_detect_irq); - - spin_lock_irqsave(&arche_pdata->wake_lock, flags); - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_IDLE); - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - } - - clk_disable_unprepare(arche_pdata->svc_ref_clk); - - /* As part of exit, put APB back in reset state */ - svc_reset_onoff(arche_pdata->svc_reset, arche_pdata->is_reset_act_hi); - - arche_platform_set_state(arche_pdata, ARCHE_PLATFORM_STATE_OFF); -} - -static ssize_t state_store(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - struct arche_platform_drvdata *arche_pdata = dev_get_drvdata(dev); - int ret = 0; - - mutex_lock(&arche_pdata->platform_state_mutex); - - if (sysfs_streq(buf, "off")) { - if (arche_pdata->state == ARCHE_PLATFORM_STATE_OFF) - goto exit; - - /* If SVC goes down, bring down APB's as well */ - device_for_each_child(arche_pdata->dev, NULL, apb_poweroff); - - arche_platform_poweroff_seq(arche_pdata); - - } else if (sysfs_streq(buf, "active")) { - if (arche_pdata->state == ARCHE_PLATFORM_STATE_ACTIVE) - goto exit; - - /* First we want to make sure we power off everything - * and then activate back again - */ - device_for_each_child(arche_pdata->dev, NULL, apb_poweroff); - arche_platform_poweroff_seq(arche_pdata); - - arche_platform_wd_irq_en(arche_pdata); - ret = arche_platform_coldboot_seq(arche_pdata); - if (ret) - goto exit; - - } else if (sysfs_streq(buf, "standby")) { - if (arche_pdata->state == ARCHE_PLATFORM_STATE_STANDBY) - goto exit; - - dev_warn(arche_pdata->dev, "standby state not supported\n"); - } else if (sysfs_streq(buf, "fw_flashing")) { - if (arche_pdata->state == ARCHE_PLATFORM_STATE_FW_FLASHING) - goto exit; - - /* - * Here we only control SVC. - * - * In case of FW_FLASHING mode we do not want to control - * APBs, as in case of V2, SPI bus is shared between both - * the APBs. So let user chose which APB he wants to flash. - */ - arche_platform_poweroff_seq(arche_pdata); - - ret = arche_platform_fw_flashing_seq(arche_pdata); - if (ret) - goto exit; - } else { - dev_err(arche_pdata->dev, "unknown state\n"); - ret = -EINVAL; - } - -exit: - mutex_unlock(&arche_pdata->platform_state_mutex); - return ret ? ret : count; -} - -static ssize_t state_show(struct device *dev, - struct device_attribute *attr, char *buf) -{ - struct arche_platform_drvdata *arche_pdata = dev_get_drvdata(dev); - - switch (arche_pdata->state) { - case ARCHE_PLATFORM_STATE_OFF: - return sysfs_emit(buf, "off\n"); - case ARCHE_PLATFORM_STATE_ACTIVE: - return sysfs_emit(buf, "active\n"); - case ARCHE_PLATFORM_STATE_STANDBY: - return sysfs_emit(buf, "standby\n"); - case ARCHE_PLATFORM_STATE_FW_FLASHING: - return sysfs_emit(buf, "fw_flashing\n"); - default: - return sysfs_emit(buf, "unknown state\n"); - } -} - -static DEVICE_ATTR_RW(state); - -static int arche_platform_pm_notifier(struct notifier_block *notifier, - unsigned long pm_event, void *unused) -{ - struct arche_platform_drvdata *arche_pdata = - container_of(notifier, struct arche_platform_drvdata, - pm_notifier); - int ret = NOTIFY_DONE; - - mutex_lock(&arche_pdata->platform_state_mutex); - switch (pm_event) { - case PM_SUSPEND_PREPARE: - if (arche_pdata->state != ARCHE_PLATFORM_STATE_ACTIVE) { - ret = NOTIFY_STOP; - break; - } - device_for_each_child(arche_pdata->dev, NULL, apb_poweroff); - arche_platform_poweroff_seq(arche_pdata); - break; - case PM_POST_SUSPEND: - if (arche_pdata->state != ARCHE_PLATFORM_STATE_OFF) - break; - - arche_platform_wd_irq_en(arche_pdata); - arche_platform_coldboot_seq(arche_pdata); - break; - default: - break; - } - mutex_unlock(&arche_pdata->platform_state_mutex); - - return ret; -} - -static int arche_platform_probe(struct platform_device *pdev) -{ - struct arche_platform_drvdata *arche_pdata; - struct device *dev = &pdev->dev; - struct device_node *np = dev->of_node; - int ret; - unsigned int flags; - - arche_pdata = devm_kzalloc(&pdev->dev, sizeof(*arche_pdata), - GFP_KERNEL); - if (!arche_pdata) - return -ENOMEM; - - /* setup svc reset gpio */ - arche_pdata->is_reset_act_hi = of_property_read_bool(np, - "svc,reset-active-high"); - if (arche_pdata->is_reset_act_hi) - flags = GPIOD_OUT_HIGH; - else - flags = GPIOD_OUT_LOW; - - arche_pdata->svc_reset = devm_gpiod_get(dev, "svc,reset", flags); - if (IS_ERR(arche_pdata->svc_reset)) { - ret = PTR_ERR(arche_pdata->svc_reset); - dev_err(dev, "failed to request svc-reset GPIO: %d\n", ret); - return ret; - } - arche_platform_set_state(arche_pdata, ARCHE_PLATFORM_STATE_OFF); - - arche_pdata->svc_sysboot = devm_gpiod_get(dev, "svc,sysboot", - GPIOD_OUT_LOW); - if (IS_ERR(arche_pdata->svc_sysboot)) { - ret = PTR_ERR(arche_pdata->svc_sysboot); - dev_err(dev, "failed to request sysboot0 GPIO: %d\n", ret); - return ret; - } - - /* setup the clock request gpio first */ - arche_pdata->svc_refclk_req = devm_gpiod_get(dev, "svc,refclk-req", - GPIOD_IN); - if (IS_ERR(arche_pdata->svc_refclk_req)) { - ret = PTR_ERR(arche_pdata->svc_refclk_req); - dev_err(dev, "failed to request svc-clk-req GPIO: %d\n", ret); - return ret; - } - - /* setup refclk2 to follow the pin */ - arche_pdata->svc_ref_clk = devm_clk_get(dev, "svc_ref_clk"); - if (IS_ERR(arche_pdata->svc_ref_clk)) { - ret = PTR_ERR(arche_pdata->svc_ref_clk); - dev_err(dev, "failed to get svc_ref_clk: %d\n", ret); - return ret; - } - - platform_set_drvdata(pdev, arche_pdata); - - arche_pdata->num_apbs = of_get_child_count(np); - dev_dbg(dev, "Number of APB's available - %d\n", arche_pdata->num_apbs); - - arche_pdata->wake_detect = devm_gpiod_get(dev, "svc,wake-detect", - GPIOD_IN); - if (IS_ERR(arche_pdata->wake_detect)) { - ret = PTR_ERR(arche_pdata->wake_detect); - dev_err(dev, "Failed requesting wake_detect GPIO: %d\n", ret); - return ret; - } - - arche_platform_set_wake_detect_state(arche_pdata, WD_STATE_IDLE); - - arche_pdata->dev = &pdev->dev; - - spin_lock_init(&arche_pdata->wake_lock); - mutex_init(&arche_pdata->platform_state_mutex); - arche_pdata->wake_detect_irq = - gpiod_to_irq(arche_pdata->wake_detect); - - ret = devm_request_threaded_irq(dev, arche_pdata->wake_detect_irq, - arche_platform_wd_irq, - arche_platform_wd_irq_thread, - IRQF_TRIGGER_FALLING | - IRQF_TRIGGER_RISING | IRQF_ONESHOT, - dev_name(dev), arche_pdata); - if (ret) { - dev_err(dev, "failed to request wake detect IRQ %d\n", ret); - return ret; - } - disable_irq(arche_pdata->wake_detect_irq); - - ret = device_create_file(dev, &dev_attr_state); - if (ret) { - dev_err(dev, "failed to create state file in sysfs\n"); - return ret; - } - - ret = of_platform_populate(np, NULL, NULL, dev); - if (ret) { - dev_err(dev, "failed to populate child nodes %d\n", ret); - goto err_device_remove; - } - - arche_pdata->pm_notifier.notifier_call = arche_platform_pm_notifier; - ret = register_pm_notifier(&arche_pdata->pm_notifier); - if (ret) { - dev_err(dev, "failed to register pm notifier %d\n", ret); - goto err_depopulate; - } - - /* Explicitly power off if requested */ - if (!of_property_read_bool(pdev->dev.of_node, "arche,init-off")) { - mutex_lock(&arche_pdata->platform_state_mutex); - ret = arche_platform_coldboot_seq(arche_pdata); - if (ret) { - mutex_unlock(&arche_pdata->platform_state_mutex); - dev_err(dev, "Failed to cold boot svc %d\n", ret); - goto err_unregister_pm_notifier; - } - arche_platform_wd_irq_en(arche_pdata); - mutex_unlock(&arche_pdata->platform_state_mutex); - } - - dev_info(dev, "Device registered successfully\n"); - return 0; - -err_unregister_pm_notifier: - unregister_pm_notifier(&arche_pdata->pm_notifier); -err_depopulate: - of_platform_depopulate(dev); -err_device_remove: - device_remove_file(&pdev->dev, &dev_attr_state); - return ret; -} - -static void arche_platform_remove(struct platform_device *pdev) -{ - struct arche_platform_drvdata *arche_pdata = platform_get_drvdata(pdev); - - unregister_pm_notifier(&arche_pdata->pm_notifier); - device_remove_file(&pdev->dev, &dev_attr_state); - of_platform_depopulate(&pdev->dev); - arche_platform_poweroff_seq(arche_pdata); - - if (usb3613_hub_mode_ctrl(false)) - dev_warn(arche_pdata->dev, "failed to control hub device\n"); -} - -static __maybe_unused int arche_platform_suspend(struct device *dev) -{ - /* - * If timing profile permits, we may shutdown bridge - * completely - * - * TODO: define shutdown sequence - * - * Also, need to make sure we meet precondition for unipro suspend - * Precondition: Definition ??? - */ - return 0; -} - -static __maybe_unused int arche_platform_resume(struct device *dev) -{ - /* - * At least for ES2 we have to meet the delay requirement between - * unipro switch and AP bridge init, depending on whether bridge is in - * OFF state or standby state. - * - * Based on whether bridge is in standby or OFF state we may have to - * assert multiple signals. Please refer to WDM spec, for more info. - * - */ - return 0; -} - -static void arche_platform_shutdown(struct platform_device *pdev) -{ - struct arche_platform_drvdata *arche_pdata = platform_get_drvdata(pdev); - - arche_platform_poweroff_seq(arche_pdata); - - usb3613_hub_mode_ctrl(false); -} - -static SIMPLE_DEV_PM_OPS(arche_platform_pm_ops, - arche_platform_suspend, - arche_platform_resume); - -static const struct of_device_id arche_platform_of_match[] = { - /* Use PID/VID of SVC device */ - { .compatible = "google,arche-platform", }, - { }, -}; -MODULE_DEVICE_TABLE(of, arche_platform_of_match); - -static struct platform_driver arche_platform_device_driver = { - .probe = arche_platform_probe, - .remove = arche_platform_remove, - .shutdown = arche_platform_shutdown, - .driver = { - .name = "arche-platform-ctrl", - .pm = &arche_platform_pm_ops, - .of_match_table = arche_platform_of_match, - } -}; - -static int __init arche_init(void) -{ - int retval; - - retval = platform_driver_register(&arche_platform_device_driver); - if (retval) - return retval; - - retval = arche_apb_init(); - if (retval) - platform_driver_unregister(&arche_platform_device_driver); - - return retval; -} -module_init(arche_init); - -static void __exit arche_exit(void) -{ - arche_apb_exit(); - platform_driver_unregister(&arche_platform_device_driver); -} -module_exit(arche_exit); - -MODULE_LICENSE("GPL v2"); -MODULE_AUTHOR("Vaibhav Hiremath "); -MODULE_DESCRIPTION("Arche Platform Driver"); diff --git a/drivers/staging/greybus/arche_platform.h b/drivers/staging/greybus/arche_platform.h deleted file mode 100644 index 9d997f2d6517..000000000000 --- a/drivers/staging/greybus/arche_platform.h +++ /dev/null @@ -1,28 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -/* - * Arche Platform driver to enable Unipro link. - * - * Copyright 2015-2016 Google Inc. - * Copyright 2015-2016 Linaro Ltd. - */ - -#ifndef __ARCHE_PLATFORM_H -#define __ARCHE_PLATFORM_H - -enum arche_platform_state { - ARCHE_PLATFORM_STATE_OFF, - ARCHE_PLATFORM_STATE_ACTIVE, - ARCHE_PLATFORM_STATE_STANDBY, - ARCHE_PLATFORM_STATE_FW_FLASHING, -}; - -int __init arche_apb_init(void); -void __exit arche_apb_exit(void); - -/* Operational states for the APB device */ -int apb_ctrl_coldboot(struct device *dev); -int apb_ctrl_fw_flashing(struct device *dev); -int apb_ctrl_standby_boot(struct device *dev); -void apb_ctrl_poweroff(struct device *dev); - -#endif /* __ARCHE_PLATFORM_H */ From e9ea7d1677794bdb1e07788ef782c09a289e64ea Mon Sep 17 00:00:00 2001 From: Ethan Nelson-Moore Date: Thu, 17 Sep 2026 18:14:31 -0700 Subject: [PATCH 087/145] staging: greybus: remove camera driver marked as broken since 2016 The Greybus camera driver has been marked as BROKEN since commit d4f56b47a8fa ("staging: greybus: Add drivers/staging/greybus to the build"). It has not been able to compile since at least commit ec0ad868173d ("staging: greybus: move core include files to include/linux/greybus/") because it includes greybus_protocols.h from its own directory. These two facts make it very clear there is no demand for this driver. Remove it from the kernel. Signed-off-by: Ethan Nelson-Moore Link: https://patch.msgid.link/20260918011437.108678-1-enelsonmoore@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/Kconfig | 10 - drivers/staging/greybus/Makefile | 2 - drivers/staging/greybus/camera.c | 1367 --------------------------- drivers/staging/greybus/gb-camera.h | 127 --- 4 files changed, 1506 deletions(-) delete mode 100644 drivers/staging/greybus/camera.c delete mode 100644 drivers/staging/greybus/gb-camera.h diff --git a/drivers/staging/greybus/Kconfig b/drivers/staging/greybus/Kconfig index c25da61570eb..e1d7ffdf4a6f 100644 --- a/drivers/staging/greybus/Kconfig +++ b/drivers/staging/greybus/Kconfig @@ -32,16 +32,6 @@ config GREYBUS_BOOTROM To compile this code as a module, chose M here: the module will be called gb-bootrom.ko -config GREYBUS_CAMERA - tristate "Greybus Camera Class driver" - depends on MEDIA_SUPPORT && LEDS_CLASS_FLASH && BROKEN - help - Select this option if you have a device that follows the - Greybus Camera Class specification. - - To compile this code as a module, chose M here: the module - will be called gb-camera.ko - config GREYBUS_FIRMWARE tristate "Greybus Firmware Download Class driver" depends on SPI diff --git a/drivers/staging/greybus/Makefile b/drivers/staging/greybus/Makefile index 7b9807f8a1a3..01a372e9833e 100644 --- a/drivers/staging/greybus/Makefile +++ b/drivers/staging/greybus/Makefile @@ -4,7 +4,6 @@ ccflags-y += -I$(src) # Greybus class drivers gb-bootrom-y := bootrom.o -gb-camera-y := camera.o gb-firmware-y := fw-core.o fw-download.o fw-management.o authentication.o gb-spilib-y := spilib.o gb-hid-y := hid.o @@ -16,7 +15,6 @@ gb-raw-y := raw.o gb-vibrator-y := vibrator.o obj-$(CONFIG_GREYBUS_BOOTROM) += gb-bootrom.o -obj-$(CONFIG_GREYBUS_CAMERA) += gb-camera.o obj-$(CONFIG_GREYBUS_FIRMWARE) += gb-firmware.o gb-spilib.o obj-$(CONFIG_GREYBUS_HID) += gb-hid.o obj-$(CONFIG_GREYBUS_LIGHT) += gb-light.o diff --git a/drivers/staging/greybus/camera.c b/drivers/staging/greybus/camera.c deleted file mode 100644 index 62b55bb28408..000000000000 --- a/drivers/staging/greybus/camera.c +++ /dev/null @@ -1,1367 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Greybus Camera protocol driver. - * - * Copyright 2015 Google Inc. - * Copyright 2015 Linaro Ltd. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "gb-camera.h" -#include "greybus_protocols.h" - -enum gb_camera_debugs_buffer_id { - GB_CAMERA_DEBUGFS_BUFFER_CAPABILITIES, - GB_CAMERA_DEBUGFS_BUFFER_STREAMS, - GB_CAMERA_DEBUGFS_BUFFER_CAPTURE, - GB_CAMERA_DEBUGFS_BUFFER_FLUSH, - GB_CAMERA_DEBUGFS_BUFFER_MAX, -}; - -struct gb_camera_debugfs_buffer { - char data[PAGE_SIZE]; - size_t length; -}; - -enum gb_camera_state { - GB_CAMERA_STATE_UNCONFIGURED, - GB_CAMERA_STATE_CONFIGURED, -}; - -/** - * struct gb_camera - A Greybus Camera Device - * @connection: the greybus connection for camera management - * @data_connection: the greybus connection for camera data - * @data_cport_id: the data CPort ID on the module side - * @mutex: protects the connection and state fields - * @state: the current module state - * @debugfs: debugfs entries for camera protocol operations testing - * @module: Greybus camera module registered to HOST processor. - */ -struct gb_camera { - struct gb_bundle *bundle; - struct gb_connection *connection; - struct gb_connection *data_connection; - u16 data_cport_id; - - struct mutex mutex; - enum gb_camera_state state; - - struct { - struct dentry *root; - struct gb_camera_debugfs_buffer *buffers; - } debugfs; - - struct gb_camera_module module; -}; - -struct gb_camera_stream_config { - unsigned int width; - unsigned int height; - unsigned int format; - unsigned int vc; - unsigned int dt[2]; - unsigned int max_size; -}; - -struct gb_camera_fmt_info { - enum v4l2_mbus_pixelcode mbus_code; - unsigned int gb_format; - unsigned int bpp; -}; - -/* GB format to media code map */ -static const struct gb_camera_fmt_info gb_fmt_info[] = { - { - .mbus_code = V4L2_MBUS_FMT_UYVY8_1X16, - .gb_format = 0x01, - .bpp = 16, - }, - { - .mbus_code = V4L2_MBUS_FMT_NV12_1x8, - .gb_format = 0x12, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_NV21_1x8, - .gb_format = 0x13, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_YU12_1x8, - .gb_format = 0x16, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_YV12_1x8, - .gb_format = 0x17, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_JPEG_1X8, - .gb_format = 0x40, - .bpp = 0, - }, - { - .mbus_code = V4L2_MBUS_FMT_GB_CAM_METADATA_1X8, - .gb_format = 0x41, - .bpp = 0, - }, - { - .mbus_code = V4L2_MBUS_FMT_GB_CAM_DEBUG_DATA_1X8, - .gb_format = 0x42, - .bpp = 0, - }, - { - .mbus_code = V4L2_MBUS_FMT_SBGGR10_1X10, - .gb_format = 0x80, - .bpp = 10, - }, - { - .mbus_code = V4L2_MBUS_FMT_SGBRG10_1X10, - .gb_format = 0x81, - .bpp = 10, - }, - { - .mbus_code = V4L2_MBUS_FMT_SGRBG10_1X10, - .gb_format = 0x82, - .bpp = 10, - }, - { - .mbus_code = V4L2_MBUS_FMT_SRGGB10_1X10, - .gb_format = 0x83, - .bpp = 10, - }, - { - .mbus_code = V4L2_MBUS_FMT_SBGGR12_1X12, - .gb_format = 0x84, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_SGBRG12_1X12, - .gb_format = 0x85, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_SGRBG12_1X12, - .gb_format = 0x86, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_SRGGB12_1X12, - .gb_format = 0x87, - .bpp = 12, - }, -}; - -static const struct gb_camera_fmt_info *gb_camera_get_format_info(u16 gb_fmt) -{ - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(gb_fmt_info); i++) { - if (gb_fmt_info[i].gb_format == gb_fmt) - return &gb_fmt_info[i]; - } - - return NULL; -} - -#define ES2_APB_CDSI0_CPORT 16 -#define ES2_APB_CDSI1_CPORT 17 - -#define GB_CAMERA_MAX_SETTINGS_SIZE 8192 - -static int gb_camera_operation_sync_flags(struct gb_connection *connection, - int type, unsigned int flags, - void *request, size_t request_size, - void *response, size_t *response_size) -{ - struct gb_operation *operation; - int ret; - - operation = gb_operation_create_flags(connection, type, request_size, - *response_size, flags, - GFP_KERNEL); - if (!operation) - return -ENOMEM; - - if (request_size) - memcpy(operation->request->payload, request, request_size); - - ret = gb_operation_request_send_sync(operation); - if (ret) { - dev_err(&connection->hd->dev, - "%s: synchronous operation of type 0x%02x failed: %d\n", - connection->name, type, ret); - } else { - *response_size = operation->response->payload_size; - - if (operation->response->payload_size) - memcpy(response, operation->response->payload, - operation->response->payload_size); - } - - gb_operation_put(operation); - - return ret; -} - -static int gb_camera_get_max_pkt_size(struct gb_camera *gcam, - struct gb_camera_configure_streams_response *resp) -{ - unsigned int max_pkt_size = 0; - unsigned int i; - - for (i = 0; i < resp->num_streams; i++) { - struct gb_camera_stream_config_response *cfg = &resp->config[i]; - const struct gb_camera_fmt_info *fmt_info; - unsigned int pkt_size; - - fmt_info = gb_camera_get_format_info(cfg->format); - if (!fmt_info) { - dev_err(&gcam->bundle->dev, "unsupported greybus image format: %d\n", - cfg->format); - return -EIO; - } - - if (fmt_info->bpp == 0) { - pkt_size = le32_to_cpu(cfg->max_pkt_size); - - if (pkt_size == 0) { - dev_err(&gcam->bundle->dev, - "Stream %u: invalid zero maximum packet size\n", - i); - return -EIO; - } - } else { - pkt_size = le16_to_cpu(cfg->width) * fmt_info->bpp / 8; - - if (pkt_size != le32_to_cpu(cfg->max_pkt_size)) { - dev_err(&gcam->bundle->dev, - "Stream %u: maximum packet size mismatch (%u/%u)\n", - i, pkt_size, cfg->max_pkt_size); - return -EIO; - } - } - - max_pkt_size = max(pkt_size, max_pkt_size); - } - - return max_pkt_size; -} - -/* - * Validate the stream configuration response verifying padding is correctly - * set and the returned number of streams is supported - */ -static const int gb_camera_configure_streams_validate_response(struct gb_camera *gcam, - struct gb_camera_configure_streams_response *resp, - unsigned int nstreams) -{ - unsigned int i; - - /* Validate the returned response structure */ - if (resp->padding[0] || resp->padding[1]) { - dev_err(&gcam->bundle->dev, "response padding != 0\n"); - return -EIO; - } - - if (resp->num_streams > nstreams) { - dev_err(&gcam->bundle->dev, "got #streams %u > request %u\n", - resp->num_streams, nstreams); - return -EIO; - } - - for (i = 0; i < resp->num_streams; i++) { - struct gb_camera_stream_config_response *cfg = &resp->config[i]; - - if (cfg->padding) { - dev_err(&gcam->bundle->dev, "stream #%u padding != 0\n", i); - return -EIO; - } - } - - return 0; -} - -/* ----------------------------------------------------------------------------- - * Hardware Configuration - */ - -static int gb_camera_set_intf_power_mode(struct gb_camera *gcam, u8 intf_id, - bool hs) -{ - struct gb_svc *svc = gcam->connection->hd->svc; - int ret; - - if (hs) - ret = gb_svc_intf_set_power_mode(svc, intf_id, - GB_SVC_UNIPRO_HS_SERIES_A, - GB_SVC_UNIPRO_FAST_MODE, 2, 2, - GB_SVC_SMALL_AMPLITUDE, - GB_SVC_NO_DE_EMPHASIS, - GB_SVC_UNIPRO_FAST_MODE, 2, 2, - GB_SVC_PWRM_RXTERMINATION | - GB_SVC_PWRM_TXTERMINATION, 0, - NULL, NULL); - else - ret = gb_svc_intf_set_power_mode(svc, intf_id, - GB_SVC_UNIPRO_HS_SERIES_A, - GB_SVC_UNIPRO_SLOW_AUTO_MODE, - 2, 1, - GB_SVC_SMALL_AMPLITUDE, - GB_SVC_NO_DE_EMPHASIS, - GB_SVC_UNIPRO_SLOW_AUTO_MODE, - 2, 1, - 0, 0, - NULL, NULL); - - return ret; -} - -static int gb_camera_set_power_mode(struct gb_camera *gcam, bool hs) -{ - struct gb_interface *intf = gcam->connection->intf; - struct gb_svc *svc = gcam->connection->hd->svc; - int ret; - - ret = gb_camera_set_intf_power_mode(gcam, intf->interface_id, hs); - if (ret < 0) { - dev_err(&gcam->bundle->dev, "failed to set module interface to %s (%d)\n", - hs ? "HS" : "PWM", ret); - return ret; - } - - ret = gb_camera_set_intf_power_mode(gcam, svc->ap_intf_id, hs); - if (ret < 0) { - gb_camera_set_intf_power_mode(gcam, intf->interface_id, !hs); - dev_err(&gcam->bundle->dev, "failed to set AP interface to %s (%d)\n", - hs ? "HS" : "PWM", ret); - return ret; - } - - return 0; -} - -struct ap_csi_config_request { - __u8 csi_id; - __u8 flags; -#define GB_CAMERA_CSI_FLAG_CLOCK_CONTINUOUS 0x01 - __u8 num_lanes; - __u8 padding; - __le32 csi_clk_freq; - __le32 max_pkt_size; -} __packed; - -/* - * TODO: Compute the number of lanes dynamically based on bandwidth - * requirements. - */ -#define GB_CAMERA_CSI_NUM_DATA_LANES 4 - -#define GB_CAMERA_CSI_CLK_FREQ_MAX 999000000U -#define GB_CAMERA_CSI_CLK_FREQ_MIN 100000000U -#define GB_CAMERA_CSI_CLK_FREQ_MARGIN 150000000U - -static int gb_camera_setup_data_connection(struct gb_camera *gcam, - struct gb_camera_configure_streams_response *resp, - struct gb_camera_csi_params *csi_params) -{ - struct ap_csi_config_request csi_cfg; - struct gb_connection *conn; - unsigned int clk_freq; - int ret; - - /* - * Create the data connection between the camera module data CPort and - * APB CDSI1. The CDSI1 CPort ID is hardcoded by the ES2 bridge. - */ - conn = gb_connection_create_offloaded(gcam->bundle, gcam->data_cport_id, - GB_CONNECTION_FLAG_NO_FLOWCTRL | - GB_CONNECTION_FLAG_CDSI1); - if (IS_ERR(conn)) - return PTR_ERR(conn); - - gcam->data_connection = conn; - gb_connection_set_data(conn, gcam); - - ret = gb_connection_enable(conn); - if (ret) - goto error_conn_destroy; - - /* Set the UniPro link to high speed mode. */ - ret = gb_camera_set_power_mode(gcam, true); - if (ret < 0) - goto error_conn_disable; - - /* - * Configure the APB-A CSI-2 transmitter. - * - * Hardcode the number of lanes to 4 and compute the bus clock frequency - * based on the module bandwidth requirements with a safety margin. - */ - memset(&csi_cfg, 0, sizeof(csi_cfg)); - csi_cfg.csi_id = 1; - csi_cfg.flags = 0; - csi_cfg.num_lanes = GB_CAMERA_CSI_NUM_DATA_LANES; - - clk_freq = resp->data_rate / 2 / GB_CAMERA_CSI_NUM_DATA_LANES; - clk_freq = clamp(clk_freq + GB_CAMERA_CSI_CLK_FREQ_MARGIN, - GB_CAMERA_CSI_CLK_FREQ_MIN, - GB_CAMERA_CSI_CLK_FREQ_MAX); - csi_cfg.csi_clk_freq = clk_freq; - - ret = gb_camera_get_max_pkt_size(gcam, resp); - if (ret < 0) { - ret = -EIO; - goto error_power; - } - csi_cfg.max_pkt_size = ret; - - ret = gb_hd_output(gcam->connection->hd, &csi_cfg, - sizeof(csi_cfg), - GB_APB_REQUEST_CSI_TX_CONTROL, false); - if (ret < 0) { - dev_err(&gcam->bundle->dev, "failed to start the CSI transmitter\n"); - goto error_power; - } - - if (csi_params) { - csi_params->clk_freq = csi_cfg.csi_clk_freq; - csi_params->num_lanes = csi_cfg.num_lanes; - } - - return 0; - -error_power: - gb_camera_set_power_mode(gcam, false); -error_conn_disable: - gb_connection_disable(gcam->data_connection); -error_conn_destroy: - gb_connection_destroy(gcam->data_connection); - gcam->data_connection = NULL; - return ret; -} - -static void gb_camera_teardown_data_connection(struct gb_camera *gcam) -{ - struct ap_csi_config_request csi_cfg; - int ret; - - /* Stop the APB1 CSI transmitter. */ - memset(&csi_cfg, 0, sizeof(csi_cfg)); - csi_cfg.csi_id = 1; - - ret = gb_hd_output(gcam->connection->hd, &csi_cfg, - sizeof(csi_cfg), - GB_APB_REQUEST_CSI_TX_CONTROL, false); - - if (ret < 0) - dev_err(&gcam->bundle->dev, "failed to stop the CSI transmitter\n"); - - /* Set the UniPro link to low speed mode. */ - gb_camera_set_power_mode(gcam, false); - - /* Destroy the data connection. */ - gb_connection_disable(gcam->data_connection); - gb_connection_destroy(gcam->data_connection); - gcam->data_connection = NULL; -} - -/* ----------------------------------------------------------------------------- - * Camera Protocol Operations - */ - -static int gb_camera_capabilities(struct gb_camera *gcam, - u8 *capabilities, size_t *size) -{ - int ret; - - ret = gb_pm_runtime_get_sync(gcam->bundle); - if (ret) - return ret; - - mutex_lock(&gcam->mutex); - - if (!gcam->connection) { - ret = -EINVAL; - goto done; - } - - ret = gb_camera_operation_sync_flags(gcam->connection, - GB_CAMERA_TYPE_CAPABILITIES, - GB_OPERATION_FLAG_SHORT_RESPONSE, - NULL, 0, - (void *)capabilities, size); - if (ret) - dev_err(&gcam->bundle->dev, "failed to retrieve capabilities: %d\n", ret); - -done: - mutex_unlock(&gcam->mutex); - - gb_pm_runtime_put_autosuspend(gcam->bundle); - - return ret; -} - -static int gb_camera_configure_streams(struct gb_camera *gcam, - unsigned int *num_streams, - unsigned int *flags, - struct gb_camera_stream_config *streams, - struct gb_camera_csi_params *csi_params) -{ - struct gb_camera_configure_streams_request *req; - struct gb_camera_configure_streams_response *resp; - unsigned int nstreams = *num_streams; - unsigned int i; - size_t req_size; - size_t resp_size; - int ret; - - if (nstreams > GB_CAMERA_MAX_STREAMS) - return -EINVAL; - - req_size = sizeof(*req) + nstreams * sizeof(req->config[0]); - resp_size = sizeof(*resp) + nstreams * sizeof(resp->config[0]); - - req = kmalloc(req_size, GFP_KERNEL); - resp = kmalloc(resp_size, GFP_KERNEL); - if (!req || !resp) { - kfree(req); - kfree(resp); - return -ENOMEM; - } - - req->num_streams = nstreams; - req->flags = *flags; - req->padding = 0; - - for (i = 0; i < nstreams; ++i) { - struct gb_camera_stream_config_request *cfg = &req->config[i]; - - cfg->width = cpu_to_le16(streams[i].width); - cfg->height = cpu_to_le16(streams[i].height); - cfg->format = cpu_to_le16(streams[i].format); - cfg->padding = 0; - } - - mutex_lock(&gcam->mutex); - - ret = gb_pm_runtime_get_sync(gcam->bundle); - if (ret) - goto done_skip_pm_put; - - if (!gcam->connection) { - ret = -EINVAL; - goto done; - } - - ret = gb_camera_operation_sync_flags(gcam->connection, - GB_CAMERA_TYPE_CONFIGURE_STREAMS, - GB_OPERATION_FLAG_SHORT_RESPONSE, - req, req_size, - resp, &resp_size); - if (ret < 0) - goto done; - - ret = gb_camera_configure_streams_validate_response(gcam, resp, - nstreams); - if (ret < 0) - goto done; - - *flags = resp->flags; - *num_streams = resp->num_streams; - - for (i = 0; i < resp->num_streams; ++i) { - struct gb_camera_stream_config_response *cfg = &resp->config[i]; - - streams[i].width = le16_to_cpu(cfg->width); - streams[i].height = le16_to_cpu(cfg->height); - streams[i].format = le16_to_cpu(cfg->format); - streams[i].vc = cfg->virtual_channel; - streams[i].dt[0] = cfg->data_type[0]; - streams[i].dt[1] = cfg->data_type[1]; - streams[i].max_size = le32_to_cpu(cfg->max_size); - } - - if ((resp->flags & GB_CAMERA_CONFIGURE_STREAMS_ADJUSTED) || - (req->flags & GB_CAMERA_CONFIGURE_STREAMS_TEST_ONLY)) - goto done; - - if (gcam->state == GB_CAMERA_STATE_CONFIGURED) { - gb_camera_teardown_data_connection(gcam); - gcam->state = GB_CAMERA_STATE_UNCONFIGURED; - - /* - * When unconfiguring streams release the PM runtime reference - * that was acquired when streams were configured. The bundle - * won't be suspended until the PM runtime reference acquired at - * the beginning of this function gets released right before - * returning. - */ - gb_pm_runtime_put_noidle(gcam->bundle); - } - - if (resp->num_streams == 0) - goto done; - - /* - * Make sure the bundle won't be suspended until streams get - * unconfigured after the stream is configured successfully - */ - gb_pm_runtime_get_noresume(gcam->bundle); - - /* Setup CSI-2 connection from APB-A to AP */ - ret = gb_camera_setup_data_connection(gcam, resp, csi_params); - if (ret < 0) { - memset(req, 0, sizeof(*req)); - gb_operation_sync(gcam->connection, - GB_CAMERA_TYPE_CONFIGURE_STREAMS, - req, sizeof(*req), - resp, sizeof(*resp)); - *flags = 0; - *num_streams = 0; - gb_pm_runtime_put_noidle(gcam->bundle); - goto done; - } - - gcam->state = GB_CAMERA_STATE_CONFIGURED; - -done: - gb_pm_runtime_put_autosuspend(gcam->bundle); - -done_skip_pm_put: - mutex_unlock(&gcam->mutex); - kfree(req); - kfree(resp); - return ret; -} - -static int gb_camera_capture(struct gb_camera *gcam, u32 request_id, - unsigned int streams, unsigned int num_frames, - size_t settings_size, const void *settings) -{ - struct gb_camera_capture_request *req; - size_t req_size; - int ret; - - if (settings_size > GB_CAMERA_MAX_SETTINGS_SIZE) - return -EINVAL; - - req_size = sizeof(*req) + settings_size; - req = kmalloc(req_size, GFP_KERNEL); - if (!req) - return -ENOMEM; - - req->request_id = cpu_to_le32(request_id); - req->streams = streams; - req->padding = 0; - req->num_frames = cpu_to_le16(num_frames); - memcpy(req->settings, settings, settings_size); - - mutex_lock(&gcam->mutex); - - if (!gcam->connection) { - ret = -EINVAL; - goto done; - } - - ret = gb_operation_sync(gcam->connection, GB_CAMERA_TYPE_CAPTURE, - req, req_size, NULL, 0); -done: - mutex_unlock(&gcam->mutex); - - kfree(req); - - return ret; -} - -static int gb_camera_flush(struct gb_camera *gcam, u32 *request_id) -{ - struct gb_camera_flush_response resp; - int ret; - - mutex_lock(&gcam->mutex); - - if (!gcam->connection) { - ret = -EINVAL; - goto done; - } - - ret = gb_operation_sync(gcam->connection, GB_CAMERA_TYPE_FLUSH, NULL, 0, - &resp, sizeof(resp)); - - if (ret < 0) - goto done; - - if (request_id) - *request_id = le32_to_cpu(resp.request_id); - -done: - mutex_unlock(&gcam->mutex); - - return ret; -} - -static int gb_camera_request_handler(struct gb_operation *op) -{ - struct gb_camera *gcam = gb_connection_get_data(op->connection); - struct gb_camera_metadata_request *payload; - struct gb_message *request; - - if (op->type != GB_CAMERA_TYPE_METADATA) { - dev_err(&gcam->bundle->dev, "Unsupported unsolicited event: %u\n", op->type); - return -EINVAL; - } - - request = op->request; - - if (request->payload_size < sizeof(*payload)) { - dev_err(&gcam->bundle->dev, "Wrong event size received (%zu < %zu)\n", - request->payload_size, sizeof(*payload)); - return -EINVAL; - } - - payload = request->payload; - - dev_dbg(&gcam->bundle->dev, "received metadata for request %u, frame %u, stream %u\n", - payload->request_id, payload->frame_number, payload->stream); - - return 0; -} - -/* ----------------------------------------------------------------------------- - * Interface with HOST gmp camera. - */ -static unsigned int gb_camera_mbus_to_gb(enum v4l2_mbus_pixelcode mbus_code) -{ - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(gb_fmt_info); i++) { - if (gb_fmt_info[i].mbus_code == mbus_code) - return gb_fmt_info[i].gb_format; - } - return gb_fmt_info[0].gb_format; -} - -static enum v4l2_mbus_pixelcode gb_camera_gb_to_mbus(u16 gb_fmt) -{ - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(gb_fmt_info); i++) { - if (gb_fmt_info[i].gb_format == gb_fmt) - return gb_fmt_info[i].mbus_code; - } - return gb_fmt_info[0].mbus_code; -} - -static ssize_t gb_camera_op_capabilities(void *priv, char *data, size_t len) -{ - struct gb_camera *gcam = priv; - size_t capabilities_len = len; - int ret; - - ret = gb_camera_capabilities(gcam, data, &capabilities_len); - if (ret) - return ret; - - return capabilities_len; -} - -static int gb_camera_op_configure_streams(void *priv, unsigned int *nstreams, - unsigned int *flags, struct gb_camera_stream *streams, - struct gb_camera_csi_params *csi_params) -{ - struct gb_camera *gcam = priv; - struct gb_camera_stream_config *gb_streams; - unsigned int gb_flags = 0; - unsigned int gb_nstreams = *nstreams; - unsigned int i; - int ret; - - if (gb_nstreams > GB_CAMERA_MAX_STREAMS) - return -EINVAL; - - gb_streams = kzalloc_objs(*gb_streams, gb_nstreams); - if (!gb_streams) - return -ENOMEM; - - for (i = 0; i < gb_nstreams; i++) { - gb_streams[i].width = streams[i].width; - gb_streams[i].height = streams[i].height; - gb_streams[i].format = - gb_camera_mbus_to_gb(streams[i].pixel_code); - } - - if (*flags & GB_CAMERA_IN_FLAG_TEST) - gb_flags |= GB_CAMERA_CONFIGURE_STREAMS_TEST_ONLY; - - ret = gb_camera_configure_streams(gcam, &gb_nstreams, - &gb_flags, gb_streams, csi_params); - if (ret < 0) - goto done; - if (gb_nstreams > *nstreams) { - ret = -EINVAL; - goto done; - } - - *flags = 0; - if (gb_flags & GB_CAMERA_CONFIGURE_STREAMS_ADJUSTED) - *flags |= GB_CAMERA_OUT_FLAG_ADJUSTED; - - for (i = 0; i < gb_nstreams; i++) { - streams[i].width = gb_streams[i].width; - streams[i].height = gb_streams[i].height; - streams[i].vc = gb_streams[i].vc; - streams[i].dt[0] = gb_streams[i].dt[0]; - streams[i].dt[1] = gb_streams[i].dt[1]; - streams[i].max_size = gb_streams[i].max_size; - streams[i].pixel_code = - gb_camera_gb_to_mbus(gb_streams[i].format); - } - *nstreams = gb_nstreams; - -done: - kfree(gb_streams); - return ret; -} - -static int gb_camera_op_capture(void *priv, u32 request_id, - unsigned int streams, unsigned int num_frames, - size_t settings_size, const void *settings) -{ - struct gb_camera *gcam = priv; - - return gb_camera_capture(gcam, request_id, streams, num_frames, - settings_size, settings); -} - -static int gb_camera_op_flush(void *priv, u32 *request_id) -{ - struct gb_camera *gcam = priv; - - return gb_camera_flush(gcam, request_id); -} - -static const struct gb_camera_ops gb_cam_ops = { - .capabilities = gb_camera_op_capabilities, - .configure_streams = gb_camera_op_configure_streams, - .capture = gb_camera_op_capture, - .flush = gb_camera_op_flush, -}; - -/* ----------------------------------------------------------------------------- - * DebugFS - */ - -static ssize_t gb_camera_debugfs_capabilities(struct gb_camera *gcam, - char *buf, size_t len) -{ - struct gb_camera_debugfs_buffer *buffer = - &gcam->debugfs.buffers[GB_CAMERA_DEBUGFS_BUFFER_CAPABILITIES]; - size_t size = 1024; - unsigned int i; - u8 *caps; - int ret; - - caps = kmalloc(size, GFP_KERNEL); - if (!caps) - return -ENOMEM; - - ret = gb_camera_capabilities(gcam, caps, &size); - if (ret < 0) - goto done; - - /* - * hex_dump_to_buffer() doesn't return the number of bytes dumped prior - * to v4.0, we need our own implementation :-( - */ - buffer->length = 0; - - for (i = 0; i < size; i += 16) { - unsigned int nbytes = min_t(unsigned int, size - i, 16); - - buffer->length += sprintf(buffer->data + buffer->length, - "%*ph\n", nbytes, caps + i); - } - -done: - kfree(caps); - return ret; -} - -static ssize_t gb_camera_debugfs_configure_streams(struct gb_camera *gcam, - char *buf, size_t len) -{ - struct gb_camera_debugfs_buffer *buffer = - &gcam->debugfs.buffers[GB_CAMERA_DEBUGFS_BUFFER_STREAMS]; - struct gb_camera_stream_config *streams; - unsigned int nstreams; - unsigned int flags; - unsigned int i; - char *token; - int ret; - - /* Retrieve number of streams to configure */ - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - - ret = kstrtouint(token, 10, &nstreams); - if (ret < 0) - return ret; - - if (nstreams > GB_CAMERA_MAX_STREAMS) - return -EINVAL; - - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - - ret = kstrtouint(token, 10, &flags); - if (ret < 0) - return ret; - - /* For each stream to configure parse width, height and format */ - streams = kzalloc_objs(*streams, nstreams); - if (!streams) - return -ENOMEM; - - for (i = 0; i < nstreams; ++i) { - struct gb_camera_stream_config *stream = &streams[i]; - - /* width */ - token = strsep(&buf, ";"); - if (!token) { - ret = -EINVAL; - goto done; - } - ret = kstrtouint(token, 10, &stream->width); - if (ret < 0) - goto done; - - /* height */ - token = strsep(&buf, ";"); - if (!token) - goto done; - - ret = kstrtouint(token, 10, &stream->height); - if (ret < 0) - goto done; - - /* Image format code */ - token = strsep(&buf, ";"); - if (!token) - goto done; - - ret = kstrtouint(token, 16, &stream->format); - if (ret < 0) - goto done; - } - - ret = gb_camera_configure_streams(gcam, &nstreams, &flags, streams, - NULL); - if (ret < 0) - goto done; - - buffer->length = sprintf(buffer->data, "%u;%u;", nstreams, flags); - - for (i = 0; i < nstreams; ++i) { - struct gb_camera_stream_config *stream = &streams[i]; - - buffer->length += sprintf(buffer->data + buffer->length, - "%u;%u;%u;%u;%u;%u;%u;", - stream->width, stream->height, - stream->format, stream->vc, - stream->dt[0], stream->dt[1], - stream->max_size); - } - - ret = len; - -done: - kfree(streams); - return ret; -}; - -static ssize_t gb_camera_debugfs_capture(struct gb_camera *gcam, - char *buf, size_t len) -{ - unsigned int request_id; - unsigned int streams_mask; - unsigned int num_frames; - char *token; - int ret; - - /* Request id */ - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - ret = kstrtouint(token, 10, &request_id); - if (ret < 0) - return ret; - - /* Stream mask */ - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - ret = kstrtouint(token, 16, &streams_mask); - if (ret < 0) - return ret; - - /* number of frames */ - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - ret = kstrtouint(token, 10, &num_frames); - if (ret < 0) - return ret; - - ret = gb_camera_capture(gcam, request_id, streams_mask, num_frames, 0, - NULL); - if (ret < 0) - return ret; - - return len; -} - -static ssize_t gb_camera_debugfs_flush(struct gb_camera *gcam, - char *buf, size_t len) -{ - struct gb_camera_debugfs_buffer *buffer = - &gcam->debugfs.buffers[GB_CAMERA_DEBUGFS_BUFFER_FLUSH]; - unsigned int req_id; - int ret; - - ret = gb_camera_flush(gcam, &req_id); - if (ret < 0) - return ret; - - buffer->length = sprintf(buffer->data, "%u", req_id); - - return len; -} - -struct gb_camera_debugfs_entry { - const char *name; - unsigned int mask; - unsigned int buffer; - ssize_t (*execute)(struct gb_camera *gcam, char *buf, size_t len); -}; - -static const struct gb_camera_debugfs_entry gb_camera_debugfs_entries[] = { - { - .name = "capabilities", - .mask = S_IFREG | 0444, - .buffer = GB_CAMERA_DEBUGFS_BUFFER_CAPABILITIES, - .execute = gb_camera_debugfs_capabilities, - }, { - .name = "configure_streams", - .mask = S_IFREG | 0666, - .buffer = GB_CAMERA_DEBUGFS_BUFFER_STREAMS, - .execute = gb_camera_debugfs_configure_streams, - }, { - .name = "capture", - .mask = S_IFREG | 0666, - .buffer = GB_CAMERA_DEBUGFS_BUFFER_CAPTURE, - .execute = gb_camera_debugfs_capture, - }, { - .name = "flush", - .mask = S_IFREG | 0666, - .buffer = GB_CAMERA_DEBUGFS_BUFFER_FLUSH, - .execute = gb_camera_debugfs_flush, - }, -}; - -static ssize_t gb_camera_debugfs_read(struct file *file, char __user *buf, - size_t len, loff_t *offset) -{ - const struct gb_camera_debugfs_entry *op = file->private_data; - struct gb_camera *gcam = file_inode(file)->i_private; - struct gb_camera_debugfs_buffer *buffer; - ssize_t ret; - - /* For read-only entries the operation is triggered by a read. */ - if (!(op->mask & 0222)) { - ret = op->execute(gcam, NULL, 0); - if (ret < 0) - return ret; - } - - buffer = &gcam->debugfs.buffers[op->buffer]; - - return simple_read_from_buffer(buf, len, offset, buffer->data, - buffer->length); -} - -static ssize_t gb_camera_debugfs_write(struct file *file, - const char __user *buf, size_t len, - loff_t *offset) -{ - const struct gb_camera_debugfs_entry *op = file->private_data; - struct gb_camera *gcam = file_inode(file)->i_private; - ssize_t ret; - char *kbuf; - - if (len > 1024) - return -EINVAL; - - kbuf = memdup_user_nul(buf, len); - if (IS_ERR(kbuf)) - return PTR_ERR(kbuf); - - ret = op->execute(gcam, kbuf, len); - -done: - kfree(kbuf); - return ret; -} - -static int gb_camera_debugfs_open(struct inode *inode, struct file *file) -{ - file->private_data = debugfs_get_aux(file); - return 0; -} - -static const struct file_operations gb_camera_debugfs_ops = { - .open = gb_camera_debugfs_open, - .read = gb_camera_debugfs_read, - .write = gb_camera_debugfs_write, -}; - -static int gb_camera_debugfs_init(struct gb_camera *gcam) -{ - struct gb_connection *connection = gcam->connection; - char dirname[27]; - unsigned int i; - - /* - * Create root debugfs entry and a file entry for each camera operation. - */ - snprintf(dirname, 27, "camera-%u.%u", connection->intf->interface_id, - gcam->bundle->id); - - gcam->debugfs.root = debugfs_create_dir(dirname, gb_debugfs_get()); - - gcam->debugfs.buffers = - vmalloc(array_size(GB_CAMERA_DEBUGFS_BUFFER_MAX, - sizeof(*gcam->debugfs.buffers))); - if (!gcam->debugfs.buffers) - return -ENOMEM; - - for (i = 0; i < ARRAY_SIZE(gb_camera_debugfs_entries); ++i) { - const struct gb_camera_debugfs_entry *entry = - &gb_camera_debugfs_entries[i]; - - gcam->debugfs.buffers[i].length = 0; - - debugfs_create_file_aux(entry->name, entry->mask, - gcam->debugfs.root, gcam, entry, - &gb_camera_debugfs_ops); - } - - return 0; -} - -static void gb_camera_debugfs_cleanup(struct gb_camera *gcam) -{ - debugfs_remove_recursive(gcam->debugfs.root); - - vfree(gcam->debugfs.buffers); -} - -/* ----------------------------------------------------------------------------- - * Init & Cleanup - */ - -static void gb_camera_cleanup(struct gb_camera *gcam) -{ - gb_camera_debugfs_cleanup(gcam); - - mutex_lock(&gcam->mutex); - if (gcam->data_connection) { - gb_connection_disable(gcam->data_connection); - gb_connection_destroy(gcam->data_connection); - gcam->data_connection = NULL; - } - - if (gcam->connection) { - gb_connection_disable(gcam->connection); - gb_connection_destroy(gcam->connection); - gcam->connection = NULL; - } - mutex_unlock(&gcam->mutex); -} - -static void gb_camera_release_module(struct kref *ref) -{ - struct gb_camera_module *cam_mod = - container_of(ref, struct gb_camera_module, refcount); - kfree(cam_mod->priv); -} - -static int gb_camera_probe(struct gb_bundle *bundle, - const struct greybus_bundle_id *id) -{ - struct gb_connection *conn; - struct gb_camera *gcam; - u16 mgmt_cport_id = 0; - u16 data_cport_id = 0; - unsigned int i; - int ret; - - /* - * The camera bundle must contain exactly two CPorts, one for the - * camera management protocol and one for the camera data protocol. - */ - if (bundle->num_cports != 2) - return -ENODEV; - - for (i = 0; i < bundle->num_cports; ++i) { - struct greybus_descriptor_cport *desc = &bundle->cport_desc[i]; - - switch (desc->protocol_id) { - case GREYBUS_PROTOCOL_CAMERA_MGMT: - mgmt_cport_id = le16_to_cpu(desc->id); - break; - case GREYBUS_PROTOCOL_CAMERA_DATA: - data_cport_id = le16_to_cpu(desc->id); - break; - default: - return -ENODEV; - } - } - - if (!mgmt_cport_id || !data_cport_id) - return -ENODEV; - - gcam = kzalloc_obj(*gcam); - if (!gcam) - return -ENOMEM; - - mutex_init(&gcam->mutex); - - gcam->bundle = bundle; - gcam->state = GB_CAMERA_STATE_UNCONFIGURED; - gcam->data_cport_id = data_cport_id; - - conn = gb_connection_create(bundle, mgmt_cport_id, - gb_camera_request_handler); - if (IS_ERR(conn)) { - ret = PTR_ERR(conn); - goto error; - } - - gcam->connection = conn; - gb_connection_set_data(conn, gcam); - - ret = gb_connection_enable(conn); - if (ret) - goto error; - - ret = gb_camera_debugfs_init(gcam); - if (ret < 0) - goto error; - - gcam->module.priv = gcam; - gcam->module.ops = &gb_cam_ops; - gcam->module.interface_id = gcam->connection->intf->interface_id; - gcam->module.release = gb_camera_release_module; - ret = gb_camera_register(&gcam->module); - if (ret < 0) - goto error; - - greybus_set_drvdata(bundle, gcam); - - gb_pm_runtime_put_autosuspend(gcam->bundle); - - return 0; - -error: - gb_camera_cleanup(gcam); - kfree(gcam); - return ret; -} - -static void gb_camera_disconnect(struct gb_bundle *bundle) -{ - struct gb_camera *gcam = greybus_get_drvdata(bundle); - int ret; - - ret = gb_pm_runtime_get_sync(bundle); - if (ret) - gb_pm_runtime_get_noresume(bundle); - - gb_camera_cleanup(gcam); - gb_camera_unregister(&gcam->module); -} - -static const struct greybus_bundle_id gb_camera_id_table[] = { - { GREYBUS_DEVICE_CLASS(GREYBUS_CLASS_CAMERA) }, - { }, -}; - -#ifdef CONFIG_PM -static int gb_camera_suspend(struct device *dev) -{ - struct gb_bundle *bundle = to_gb_bundle(dev); - struct gb_camera *gcam = greybus_get_drvdata(bundle); - - if (gcam->data_connection) - gb_connection_disable(gcam->data_connection); - - gb_connection_disable(gcam->connection); - - return 0; -} - -static int gb_camera_resume(struct device *dev) -{ - struct gb_bundle *bundle = to_gb_bundle(dev); - struct gb_camera *gcam = greybus_get_drvdata(bundle); - int ret; - - ret = gb_connection_enable(gcam->connection); - if (ret) { - dev_err(&gcam->bundle->dev, "failed to enable connection: %d\n", ret); - return ret; - } - - if (gcam->data_connection) { - ret = gb_connection_enable(gcam->data_connection); - if (ret) { - dev_err(&gcam->bundle->dev, - "failed to enable data connection: %d\n", ret); - return ret; - } - } - - return 0; -} -#endif - -static const struct dev_pm_ops gb_camera_pm_ops = { - SET_RUNTIME_PM_OPS(gb_camera_suspend, gb_camera_resume, NULL) -}; - -static struct greybus_driver gb_camera_driver = { - .name = "camera", - .probe = gb_camera_probe, - .disconnect = gb_camera_disconnect, - .id_table = gb_camera_id_table, - .driver.pm = &gb_camera_pm_ops, -}; - -module_greybus_driver(gb_camera_driver); - -MODULE_DESCRIPTION("Greybus Camera protocol driver."); -MODULE_LICENSE("GPL v2"); diff --git a/drivers/staging/greybus/gb-camera.h b/drivers/staging/greybus/gb-camera.h deleted file mode 100644 index d5a33a13f2a4..000000000000 --- a/drivers/staging/greybus/gb-camera.h +++ /dev/null @@ -1,127 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -/* - * Greybus Camera protocol driver. - * - * Copyright 2015 Google Inc. - */ -#ifndef __GB_CAMERA_H -#define __GB_CAMERA_H - -#include - -/* Input flags need to be set from the caller */ -#define GB_CAMERA_IN_FLAG_TEST BIT(0) -/* Output flags returned */ -#define GB_CAMERA_OUT_FLAG_ADJUSTED BIT(0) - -/** - * struct gb_camera_stream - Represents greybus camera stream. - * @width: Stream width in pixels. - * @height: Stream height in pixels. - * @pixel_code: Media bus pixel code. - * @vc: MIPI CSI virtual channel. - * @dt: MIPI CSI data types. Most formats use a single data type, in which case - * the second element will be ignored. - * @max_size: Maximum size of a frame in bytes. The camera module guarantees - * that all data between the Frame Start and Frame End packet for - * the associated virtual channel and data type(s) will not exceed - * this size. - */ -struct gb_camera_stream { - unsigned int width; - unsigned int height; - enum v4l2_mbus_pixelcode pixel_code; - unsigned int vc; - unsigned int dt[2]; - unsigned int max_size; -}; - -/** - * struct gb_camera_csi_params - CSI configuration parameters - * @num_lanes: number of CSI data lanes - * @clk_freq: CSI clock frequency in Hz - */ -struct gb_camera_csi_params { - unsigned int num_lanes; - unsigned int clk_freq; -}; - -/** - * struct gb_camera_ops - Greybus camera operations, used by the Greybus camera - * driver to expose operations to the host camera driver. - * @capabilities: Retrieve camera capabilities and store them in the buffer - * 'buf' capabilities. The buffer maximum size is specified by - * the caller in the 'size' parameter, and the effective - * capabilities size is returned from the function. If the buffer - * size is too small to hold the capabilities an error is - * returned and the buffer is left untouched. - * - * @configure_streams: Negotiate configuration and prepare the module for video - * capture. The caller specifies the number of streams it - * requests in the 'nstreams' argument and the associated - * streams configurations in the 'streams' argument. The - * GB_CAMERA_IN_FLAG_TEST 'flag' can be set to test a - * configuration without applying it, otherwise the - * configuration is applied by the module. The module can - * decide to modify the requested configuration, including - * using a different number of streams. In that case the - * modified configuration won't be applied, the - * GB_CAMERA_OUT_FLAG_ADJUSTED 'flag' will be set upon - * return, and the modified configuration and number of - * streams stored in 'streams' and 'array'. The module - * returns its CSI-2 bus parameters in the 'csi_params' - * structure in all cases. - * - * @capture: Submit a capture request. The supplied 'request_id' must be unique - * and higher than the IDs of all the previously submitted requests. - * The 'streams' argument specifies which streams are affected by the - * request in the form of a bitmask, with bits corresponding to the - * configured streams indexes. If the request contains settings, the - * 'settings' argument points to the settings buffer and its size is - * specified by the 'settings_size' argument. Otherwise the 'settings' - * argument should be set to NULL and 'settings_size' to 0. - * - * @flush: Flush the capture requests queue. Return the ID of the last request - * that will processed by the device before it stops transmitting video - * frames. All queued capture requests with IDs higher than the returned - * ID will be dropped without being processed. - */ -struct gb_camera_ops { - ssize_t (*capabilities)(void *priv, char *buf, size_t len); - int (*configure_streams)(void *priv, unsigned int *nstreams, - unsigned int *flags, - struct gb_camera_stream *streams, - struct gb_camera_csi_params *csi_params); - int (*capture)(void *priv, u32 request_id, - unsigned int streams, unsigned int num_frames, - size_t settings_size, const void *settings); - int (*flush)(void *priv, u32 *request_id); -}; - -/** - * struct gb_camera_module - Represents greybus camera module. - * @priv: Module private data, passed to all camera operations. - * @ops: Greybus camera operation callbacks. - * @interface_id: Interface id of the module. - * @refcount: Reference counting object. - * @release: Module release function. - * @list: List entry in the camera modules list. - */ -struct gb_camera_module { - void *priv; - const struct gb_camera_ops *ops; - - unsigned int interface_id; - struct kref refcount; - void (*release)(struct kref *kref); - struct list_head list; /* Global list */ -}; - -#define gb_camera_call(f, op, args...) \ - (!(f) ? -ENODEV : (((f)->ops->op) ? \ - (f)->ops->op((f)->priv, ##args) : -ENOIOCTLCMD)) - -int gb_camera_register(struct gb_camera_module *module); -int gb_camera_unregister(struct gb_camera_module *module); - -#endif /* __GB_CAMERA_H */ From cb4b807e9ea6f467504e6deea7e444c00863c67d Mon Sep 17 00:00:00 2001 From: Park Tae-sun Date: Sun, 20 Sep 2026 22:38:02 +0900 Subject: [PATCH 088/145] staging: greybus: gbphy: use sysfs_emit() instead of sprintf() The sysfs documentation (Documentation/filesystems/sysfs.rst) recommends using sysfs_emit() instead of sprintf() in sysfs show() callbacks. Replace sprintf() with sysfs_emit() in the protocol_id_show() callback. This follows the standard kernel practice and existing use of sysfs_emit() in other Greybus sysfs show functions. No functional change. Signed-off-by: Park Tae-sun Link: https://patch.msgid.link/178991148260.29938.9272611738457436343@naver.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/gbphy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/greybus/gbphy.c b/drivers/staging/greybus/gbphy.c index bdb0f5164a6f..bb9a5b538e6e 100644 --- a/drivers/staging/greybus/gbphy.c +++ b/drivers/staging/greybus/gbphy.c @@ -31,7 +31,7 @@ static ssize_t protocol_id_show(struct device *dev, { struct gbphy_device *gbphy_dev = to_gbphy_dev(dev); - return sprintf(buf, "0x%02x\n", gbphy_dev->cport_desc->protocol_id); + return sysfs_emit(buf, "0x%02x\n", gbphy_dev->cport_desc->protocol_id); } static DEVICE_ATTR_RO(protocol_id); From 2ff2a6cec7c6d1df48e49eef070ee0fda34ad03e Mon Sep 17 00:00:00 2001 From: Isaac Aneek Sarker Date: Sat, 12 Sep 2026 11:26:44 +0600 Subject: [PATCH 089/145] staging: rtl8723bs: rename CamelCase variables in function paramater As per the kernel style guidelines, and reported by checkpatch.pl rename CamelCase variable naming in function parameters and also inside the function Signed-off-by: Isaac Aneek Sarker Link: https://patch.msgid.link/20260912052648.12007-1-alvasarker2004@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/hal_com_phycfg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c index df0eaff4c841..3c3eb2790714 100644 --- a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c +++ b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c @@ -77,7 +77,7 @@ static void phy_StoreTxPowerByRateBase(struct adapter *padapter) } u8 PHY_GetRateSectionIndexOfTxPowerByRate( - struct adapter *padapter, u32 RegAddr, u32 BitMask + struct adapter *padapter, u32 reg_addr, u32 bit_mask ) { struct hal_com_data *pHalData = GET_HAL_DATA(padapter); @@ -85,7 +85,7 @@ u8 PHY_GetRateSectionIndexOfTxPowerByRate( u8 index = 0; if (pDM_Odm->PhyRegPgVersion == 0) { - switch (RegAddr) { + switch (reg_addr) { case rTxAGC_A_Rate18_06: index = 0; break; @@ -96,9 +96,9 @@ u8 PHY_GetRateSectionIndexOfTxPowerByRate( index = 6; break; case rTxAGC_B_CCK11_A_CCK2_11: - if (BitMask == bMaskH3Bytes) + if (bit_mask == bMaskH3Bytes) index = 7; - else if (BitMask == 0x000000ff) + else if (bit_mask == 0x000000ff) index = 15; break; From b7687f467c6aa4a777c77979dfa681e75a43c884 Mon Sep 17 00:00:00 2001 From: Muhammad Israr <7israr.work@gmail.com> Date: Mon, 14 Sep 2026 18:56:39 +0500 Subject: [PATCH 090/145] staging: rtl8723bs: add braces on all arms of if/else in rtw_mlme_ext.c Fix checkpatch CHECKs: braces {} should be used on all arms of this statement, and Unbalanced braces around else statement. i checked the kernel CodingStyle, when one branch of an if/else requires braces, both branches should use braces. did not change any functionality Signed-off-by: Muhammad Israr <7israr.work@gmail.com> Link: https://patch.msgid.link/20260914135639.28269-1-7israr.work@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index 7622f0ef0aba..80194796a9f7 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -356,9 +356,9 @@ static u8 init_channel_set(struct adapter *padapter, u8 ChannelPlan, struct rt_c channel_set[chanset_size].scan_type = SCAN_ACTIVE; else channel_set[chanset_size].scan_type = SCAN_PASSIVE; - } else + } else { channel_set[chanset_size].scan_type = SCAN_ACTIVE; - + } chanset_size++; } } @@ -1205,8 +1205,9 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) memcpy(&pstat->htpriv.ht_cap, elems.ht_capabilities, sizeof(struct ieee80211_ht_cap)); - } else + } else { pstat->flags &= ~WLAN_STA_HT; + } if (!pmlmepriv->htpriv.ht_option && (pstat->flags & WLAN_STA_HT)) { status = WLAN_STATUS_CHALLENGE_FAIL; @@ -2803,9 +2804,9 @@ void issue_assocreq(struct adapter *padapter) if (bssrate_len > 8) { pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, 8, bssrate, &(pattrib->pktlen)); pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES, (bssrate_len - 8), (bssrate + 8), &(pattrib->pktlen)); - } else + } else { pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, bssrate_len, bssrate, &(pattrib->pktlen)); - + } /* vendor specific IE, such as WPA, WMM, WPS */ for (i = sizeof(struct ndis_802_11_fix_ie); i < pmlmeinfo->network.ie_length;) { if (i + sizeof(*pIE) > pmlmeinfo->network.ie_length) @@ -3798,9 +3799,9 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str memcpy(bssid->ssid.ssid, (p + 2), *(p + 1)); bssid->ssid.ssid_length = *(p + 1); - } else + } else { bssid->ssid.ssid_length = 0; - + } memset(bssid->supported_rates, 0, NDIS_802_11_LENGTH_RATES_EX); /* checking rate info... */ @@ -3878,8 +3879,9 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str if (le16_to_cpu(pHT_caps->u.HT_cap_element.HT_caps_info) & BIT(14)) pmlmepriv->num_FortyMHzIntolerant++; - } else + } else { pmlmepriv->num_sta_no_ht++; + } } /* mark bss info receiving from nearby channel as signal_quality 101 */ From f5783c98cc66e62bfa02a96e03d87b4b737ac7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rare=C8=99-Mihai=20Vladu?= Date: Wed, 16 Sep 2026 07:48:43 +0000 Subject: [PATCH 091/145] staging: rtl8723bs: fix lines exceeding 100 columns in rtw_security.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reformat long lines in rtw_security.c to fit within the 100-column limit by splitting function arguments, expressions, and moving Signed-off-by: Rareș-Mihai Vladu Link: https://patch.msgid.link/20260916074843.1038743-1-vladurares@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_security.c | 83 +++++++++++++------ 1 file changed, 58 insertions(+), 25 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 310555657302..4b4a95195826 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -34,7 +34,8 @@ const char *security_type_str(u8 value) /* Need to consider the fragment situation */ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) -{ /* exclude ICV */ +{ + /* exclude ICV */ union { __le32 f0; unsigned char f1[4]; @@ -62,14 +63,19 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) keylength = psecuritypriv->dot11DefKeylen[psecuritypriv->dot11PrivacyKeyIndex]; for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { + int idx = psecuritypriv->dot11PrivacyKeyIndex; + iv = pframe + pattrib->hdrlen; memcpy(&wepkey[0], iv, 3); - memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[psecuritypriv->dot11PrivacyKeyIndex].skey[0], keylength); + memcpy(&wepkey[3], + &psecuritypriv->dot11DefKey[idx].skey[0], + keylength); payload = pframe + pattrib->iv_len + pattrib->hdrlen; if ((curfragnum + 1) == pattrib->nr_frags) { /* the last fragment */ - length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pattrib->last_txcmdsz - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length)); @@ -78,7 +84,8 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) arc4_crypt(ctx, payload + length, crc.f1, 4); } else { - length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pxmitpriv->frag_len - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length)); arc4_setkey(ctx, wepkey, 3 + keylength); arc4_crypt(ctx, payload, payload, length); @@ -155,7 +162,8 @@ void rtw_secmicappendbyte(struct mic_data *pmicdata, u8 b) pmicdata->L ^= pmicdata->M; pmicdata->R ^= ROL32(pmicdata->L, 17); pmicdata->L += pmicdata->R; - pmicdata->R ^= ((pmicdata->L & 0xff00ff00) >> 8) | ((pmicdata->L & 0x00ff00ff) << 8); + pmicdata->R ^= ((pmicdata->L & 0xff00ff00) >> 8) | + ((pmicdata->L & 0x00ff00ff) << 8); pmicdata->L += pmicdata->R; pmicdata->R ^= ROL32(pmicdata->L, 3); pmicdata->L += pmicdata->R; @@ -416,7 +424,8 @@ static void phase2(u8 *rc4key, const u8 *tk, const u16 *p1k, u16 iv16) /* The hlen isn't include the IV */ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) -{ /* exclude ICV */ +{ + /* exclude ICV */ u16 pnl; u32 pnh; u8 rc4key[16]; @@ -465,7 +474,8 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) phase2(&rc4key[0], prwskey, (u16 *)&ttkey[0], pnl); if ((curfragnum + 1) == pattrib->nr_frags) { /* 4 the last fragment */ - length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pattrib->last_txcmdsz - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length)); arc4_setkey(ctx, rc4key, 16); @@ -473,7 +483,8 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) arc4_crypt(ctx, payload + length, crc.f1, 4); } else { - length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pxmitpriv->frag_len - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length)); arc4_setkey(ctx, rc4key, 16); @@ -489,7 +500,8 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) /* The hlen isn't include the IV */ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) -{ /* exclude ICV */ +{ + /* exclude ICV */ u16 pnl; u32 pnh; u8 rc4key[16]; @@ -534,7 +546,8 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) if (jiffies_to_msecs(jiffies - start) > 1000) { if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", + FUNC_ADPT_FMT + " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); @@ -548,7 +561,8 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", + FUNC_ADPT_FMT + " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); @@ -564,7 +578,8 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) iv = pframe + prxattrib->hdrlen; payload = pframe + prxattrib->iv_len + prxattrib->hdrlen; - length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len; + length = ((union recv_frame *)precvframe)->u.hdr.len - + prxattrib->hdrlen - prxattrib->iv_len; GET_TKIP_PN(iv, dot11txpn); @@ -755,10 +770,12 @@ static void construct_ctr_preload(u8 *ctr_preload, if (frtype == WIFI_MGT_TYPE) ctr_preload[1] |= BIT(4); + /* ctr_preload[2:7] = A2[0:5] = mpdu[10:15] */ for (i = 2; i < 8; i++) - ctr_preload[i] = mpdu[i + 8]; /* ctr_preload[2:7] = A2[0:5] = mpdu[10:15] */ + ctr_preload[i] = mpdu[i + 8]; + /* ctr_preload[8:13] = PN[5:0] */ for (i = 8; i < 14; i++) - ctr_preload[i] = pn_vector[13 - i]; /* ctr_preload[8:13] = PN[5:0] */ + ctr_preload[i] = pn_vector[13 - i]; ctr_preload[14] = (unsigned char)(c / 256); /* Ctr */ ctr_preload[15] = (unsigned char)(c % 256); } @@ -947,11 +964,13 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { if ((curfragnum + 1) == pattrib->nr_frags) { /* 4 the last fragment */ - length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pattrib->last_txcmdsz - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; aes_cipher(prwskey, pattrib->hdrlen, pframe, length); } else { - length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pxmitpriv->frag_len - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; aes_cipher(prwskey, pattrib->hdrlen, pframe, length); pframe += pxmitpriv->frag_len; @@ -1197,7 +1216,8 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) if (jiffies_to_msecs(jiffies - start) > 1000) { if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", + FUNC_ADPT_FMT + " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); @@ -1212,7 +1232,8 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", + FUNC_ADPT_FMT + " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); @@ -1230,7 +1251,8 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) prwskey = &stainfo->dot118021x_UncstKey.skey[0]; } - length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len; + length = ((union recv_frame *)precvframe)->u.hdr.len - + prxattrib->hdrlen - prxattrib->iv_len; res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length); @@ -1261,13 +1283,20 @@ u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe) /* mapping to wlan header */ pwlanhdr = (struct ieee80211_hdr *)pframe; /* save the frame body + MME */ - memcpy(BIP_AAD + BIP_AAD_SIZE, pframe + WLAN_HDR_A3_LEN, pattrib->pkt_len - WLAN_HDR_A3_LEN); + memcpy(BIP_AAD + BIP_AAD_SIZE, + pframe + WLAN_HDR_A3_LEN, + pattrib->pkt_len - WLAN_HDR_A3_LEN); /* find MME IE pointer */ - p = rtw_get_ie(BIP_AAD + BIP_AAD_SIZE, WLAN_EID_MMIE, &len, pattrib->pkt_len - WLAN_HDR_A3_LEN); + p = rtw_get_ie(BIP_AAD + BIP_AAD_SIZE, + WLAN_EID_MMIE, + &len, + pattrib->pkt_len - WLAN_HDR_A3_LEN); /* Baron */ if (p) { u16 keyid = 0; u64 temp_ipn = 0; + int bip_keyid; + u8 *bip_key; /* save packet number */ memcpy(&le_tmp64, p + 4, 6); temp_ipn = le64_to_cpu(le_tmp64); @@ -1292,8 +1321,10 @@ u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe) /* conscruct AAD, copy address 1 to address 3 */ memcpy(BIP_AAD + 2, &pwlanhdr->addrs, sizeof(pwlanhdr->addrs)); - if (omac1_aes_128(padapter->securitypriv.dot11wBIPKey[padapter->securitypriv.dot11wBIPKeyid].skey - , BIP_AAD, ori_len, mic)) + bip_keyid = padapter->securitypriv.dot11wBIPKeyid; + bip_key = padapter->securitypriv.dot11wBIPKey[bip_keyid].skey; + + if (omac1_aes_128(bip_key, BIP_AAD, ori_len, mic)) goto BIP_exit; /* MIC field should be last 8 bytes of packet (packet without FCS) */ @@ -1422,7 +1453,8 @@ void rtw_sec_restore_wep_key(struct adapter *adapter) struct security_priv *securitypriv = &adapter->securitypriv; signed int keyid; - if ((securitypriv->dot11_privacy_algrthm == _WEP40_) || (securitypriv->dot11_privacy_algrthm == _WEP104_)) { + if ((securitypriv->dot11_privacy_algrthm == _WEP40_) || + (securitypriv->dot11_privacy_algrthm == _WEP104_)) { for (keyid = 0; keyid < 4; keyid++) { if (securitypriv->key_mask & BIT(keyid)) { if (keyid == securitypriv->dot11PrivacyKeyIndex) @@ -1440,7 +1472,8 @@ u8 rtw_handle_tkip_countermeasure(struct adapter *adapter, const char *caller) u8 status = _SUCCESS; if (securitypriv->btkip_countermeasure) { - unsigned long passing_ms = jiffies_to_msecs(jiffies - securitypriv->btkip_countermeasure_time); + unsigned long elapsed = jiffies - securitypriv->btkip_countermeasure_time; + unsigned long passing_ms = jiffies_to_msecs(elapsed); if (passing_ms > 60 * 1000) { netdev_dbg(adapter->pnetdev, From 511147d0936c60e4468142b54bc2bf5636f00230 Mon Sep 17 00:00:00 2001 From: Shyam Sunder Reddy Padira Date: Sat, 19 Sep 2026 16:52:04 +0000 Subject: [PATCH 092/145] staging: rtl8723bs: Remove redundant else block When the if branch returns directly, the following else block is unnecessary. Remove the redundant else block to improve readability. No functional change. Signed-off-by: Shyam Sunder Reddy Padira Link: https://patch.msgid.link/20260919165205.9896-1-shyamsunderreddypadira@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/odm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c index 9049b7073a33..f3989fa33d9f 100644 --- a/drivers/staging/rtl8723bs/hal/odm.c +++ b/drivers/staging/rtl8723bs/hal/odm.c @@ -549,10 +549,9 @@ void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm) pDM_Odm->RFCalibrateInfo.TM_Trigger = 1; return; - } else { - ODM_TXPowerTrackingCallback_ThermalMeter(Adapter); - pDM_Odm->RFCalibrateInfo.TM_Trigger = 0; } + ODM_TXPowerTrackingCallback_ThermalMeter(Adapter); + pDM_Odm->RFCalibrateInfo.TM_Trigger = 0; } /* 3 Export Interface */ From 643c52bf760c46496413348e5fb4e0e5140bf692 Mon Sep 17 00:00:00 2001 From: Matheus Alves de Almeida Date: Sat, 19 Sep 2026 18:29:50 -0300 Subject: [PATCH 093/145] staging: rtl8723bs: remove reduntant externs in rtw_xmit.h Several function declarations in rtw_xmit.h are currently done with extern. This is not necessary, so remove the extern from them. Signed-off-by: Matheus Alves de Almeida Link: https://patch.msgid.link/20260919212950.26636-1-matheus.aalmeida@inf.ufrgs.br Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/rtw_xmit.h | 26 +++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h index 866e9d5f4aa6..c5cb814789d8 100644 --- a/drivers/staging/rtl8723bs/include/rtw_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h @@ -371,34 +371,36 @@ struct xmit_priv { spinlock_t lock_sctx; }; -extern struct xmit_frame *__rtw_alloc_cmdxmitframe(struct xmit_priv *pxmitpriv, - enum cmdbuf_type buf_type); +struct xmit_frame *__rtw_alloc_cmdxmitframe(struct xmit_priv *pxmitpriv, + enum cmdbuf_type buf_type); #define rtw_alloc_cmdxmitframe(p) __rtw_alloc_cmdxmitframe(p, CMDBUF_RSVD) #define rtw_alloc_bcnxmitframe(p) __rtw_alloc_cmdxmitframe(p, CMDBUF_BEACON) -extern struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv); +struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv); void rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); -extern struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv); +struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv); void rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz); -extern void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len); -extern int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib); -extern s32 rtw_put_snap(u8 *data, u16 h_proto); +void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len); +int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib); +s32 rtw_put_snap(u8 *data, u16 h_proto); -extern struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv); +struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv); struct xmit_frame *rtw_alloc_xmitframe_ext(struct xmit_priv *pxmitpriv); struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv); void rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe); -extern void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue); +void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue); struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, signed int up, u8 *ac); int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe); -extern u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib); +u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib); #define rtw_wlan_pkt_size(f) rtw_calculate_wlan_pkt_size_by_attribue(&f->attrib) -extern int rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe); -extern int rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe); +int rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, + struct xmit_frame *pxmitframe); +int rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, + struct xmit_frame *pxmitframe); s32 _rtw_init_hw_txqueue(struct hw_txqueue *phw_txqueue, u8 ac_tag); void _rtw_init_sta_xmit_priv(struct sta_xmit_priv *psta_xmitpriv); From 6f18b14bf35abf4dbf010ba49cd3f930b15dca56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki=20Sobera=20Sotomayor?= Date: Wed, 23 Sep 2026 11:20:49 -0600 Subject: [PATCH 094/145] staging: rtl8723bs: remove unused NDIS association and auth defines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The NDIS_802_11_AI_REQFI_*, NDIS_802_11_AI_RESFI_* and NDIS_802_11_AUTH_REQUEST_* macros are leftovers from the original NDIS-based vendor driver. None of them is referenced anywhere in the driver, so drop them. No functional change intended. Signed-off-by: Iñaki Sobera Sotomayor Link: https://patch.msgid.link/20260923172049.1644917-1-inakisobera8@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/wlan_bssdef.h | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/wlan_bssdef.h b/drivers/staging/rtl8723bs/include/wlan_bssdef.h index 9137057726ef..d318c80c3be3 100644 --- a/drivers/staging/rtl8723bs/include/wlan_bssdef.h +++ b/drivers/staging/rtl8723bs/include/wlan_bssdef.h @@ -78,14 +78,6 @@ enum { Ndis802_11_EncrypteionWAPI }; -#define NDIS_802_11_AI_REQFI_CAPABILITIES 1 -#define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2 -#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4 - -#define NDIS_802_11_AI_RESFI_CAPABILITIES 1 -#define NDIS_802_11_AI_RESFI_STATUSCODE 2 -#define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4 - /* Key mapping keys require a BSSID */ struct ndis_802_11_wep { @@ -95,13 +87,6 @@ struct ndis_802_11_wep { u8 key_material[16];/* variable length depending on above field */ }; -/* mask for authentication/integrity fields */ -#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f -#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01 -#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02 -#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06 -#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0E - /* MIC check time, 60 seconds. */ #define MIC_CHECK_TIME 60000000 From bbcc68a61f3beda10bb325292b620f3fcc53cf34 Mon Sep 17 00:00:00 2001 From: Siho Kim Date: Thu, 24 Sep 2026 03:56:49 +0900 Subject: [PATCH 095/145] staging: rtl8723bs: fix block comment style Add a leading asterisk to each line of block comments to follow the kernel coding style. Signed-off-by: Siho Kim Link: https://patch.msgid.link/20260923185649.1634863-1-siho93.kim@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/rtw_cmd.h | 404 ++++++++++---------- 1 file changed, 192 insertions(+), 212 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/rtw_cmd.h b/drivers/staging/rtl8723bs/include/rtw_cmd.h index 3b4cb95225f8..75a774f8c4f3 100644 --- a/drivers/staging/rtl8723bs/include/rtw_cmd.h +++ b/drivers/staging/rtl8723bs/include/rtw_cmd.h @@ -158,80 +158,75 @@ enum { }; /* -Caller Mode: Infra, Ad-HoC - -Notes: To join a known BSS. - -Command-Event Mode - -*/ + * Caller Mode: Infra, Ad-HoC + * + * Notes: To join a known BSS. + * + * Command-Event Mode + */ /* -Caller Mode: Infra, Ad-Hoc - -Notes: To join the specified bss - -Command Event Mode - -*/ + * Caller Mode: Infra, Ad-Hoc + * + * Notes: To join the specified bss + * + * Command Event Mode + */ struct joinbss_parm { struct wlan_bssid_ex network; }; /* -Caller Mode: Infra, Ad-HoC(C) - -Notes: To disconnect the current associated BSS - -Command Mode - -*/ + * Caller Mode: Infra, Ad-HoC(C) + * + * Notes: To disconnect the current associated BSS + * + * Command Mode + */ struct disconnect_parm { u32 deauth_timeout_ms; }; /* -Caller Mode: AP, Ad-HoC(M) - -Notes: To create a BSS - -Command Mode -*/ + * Caller Mode: AP, Ad-HoC(M) + * + * Notes: To create a BSS + * + * Command Mode + */ struct createbss_parm { struct wlan_bssid_ex network; }; /* -Caller Mode: AP, Ad-HoC, Infra - -Notes: To set the NIC mode of RTL8711 - -Command Mode - -The definition of mode: - -#define IW_MODE_AUTO 0 Let the driver decides which AP to join -#define IW_MODE_ADHOC 1 Single cell network (Ad-Hoc Clients) -#define IW_MODE_INFRA 2 Multi cell network, roaming, .. -#define IW_MODE_MASTER 3 Synchronisation master or Access Point -#define IW_MODE_REPEAT 4 Wireless Repeater (forwarder) -#define IW_MODE_SECOND 5 Secondary master/repeater (backup) -#define IW_MODE_MONITOR 6 Passive monitor (listen only) - -*/ + * Caller Mode: AP, Ad-HoC, Infra + * + * Notes: To set the NIC mode of RTL8711 + * + * Command Mode + * + * The definition of mode: + * + * #define IW_MODE_AUTO 0 Let the driver decides which AP to join + * #define IW_MODE_ADHOC 1 Single cell network (Ad-Hoc Clients) + * #define IW_MODE_INFRA 2 Multi cell network, roaming, .. + * #define IW_MODE_MASTER 3 Synchronisation master or Access Point + * #define IW_MODE_REPEAT 4 Wireless Repeater (forwarder) + * #define IW_MODE_SECOND 5 Secondary master/repeater (backup) + * #define IW_MODE_MONITOR 6 Passive monitor (listen only) + */ struct setopmode_parm { u8 mode; u8 rsvd[3]; }; /* -Caller Mode: AP, Ad-HoC, Infra - -Notes: To ask RTL8711 performing site-survey - -Command-Event Mode - -*/ + * Caller Mode: AP, Ad-HoC, Infra + * + * Notes: To ask RTL8711 performing site-survey + * + * Command-Event Mode + */ #define RTW_SSID_SCAN_AMOUNT 9 /* for WEXT_CSCAN_AMOUNT 9 */ #define RTW_CHANNEL_SCAN_AMOUNT (14+37) @@ -244,13 +239,12 @@ struct sitesurvey_parm { }; /* -Caller Mode: Any - -Notes: To set the auth type of RTL8711. open/shared/802.1x - -Command Mode - -*/ + * Caller Mode: Any + * + * Notes: To set the auth type of RTL8711. open/shared/802.1x + * + * Command Mode + */ struct setauth_parm { u8 mode; /* 0: legacy open, 1: legacy shared 2: 802.1x */ u8 _1x; /* 0: PSK, 1: TLS */ @@ -258,17 +252,16 @@ struct setauth_parm { }; /* -Caller Mode: Infra - -a. algorithm: wep40, wep104, tkip & aes -b. keytype: grp key/unicast key -c. key contents - -when shared key ==> keyid is the camid -when 802.1x ==> keyid [0:1] ==> grp key -when 802.1x ==> keyid > 2 ==> unicast key - -*/ + * Caller Mode: Infra + * + * a. algorithm: wep40, wep104, tkip & aes + * b. keytype: grp key/unicast key + * c. key contents + * + * when shared key ==> keyid is the camid + * when 802.1x ==> keyid [0:1] ==> grp key + * when 802.1x ==> keyid > 2 ==> unicast key + */ struct setkey_parm { u8 algorithm; /* encryption algorithm, could be none, wep40, TKIP, CCMP, wep104 */ u8 keyid; @@ -278,14 +271,13 @@ struct setkey_parm { }; /* -When in AP or Ad-Hoc mode, this is used to -allocate an sw/hw entry for a newly associated sta. - -Command - -when shared key ==> algorithm/keyid - -*/ + * When in AP or Ad-Hoc mode, this is used to + * allocate an sw/hw entry for a newly associated sta. + * + * Command + * + * when shared key ==> algorithm/keyid + */ struct set_stakey_parm { u8 addr[ETH_ALEN]; u8 algorithm; @@ -300,15 +292,14 @@ struct set_stakey_rsp { }; /* -Caller Ad-Hoc/AP - -Command -Rsp(AID == CAMID) mode - -This is to force fw to add an sta_data entry per driver's request. - -FW will write an cam entry associated with it. - -*/ + * Caller Ad-Hoc/AP + * + * Command -Rsp(AID == CAMID) mode + * + * This is to force fw to add an sta_data entry per driver's request. + * + * FW will write an cam entry associated with it. + */ struct set_assocsta_parm { u8 addr[ETH_ALEN]; }; @@ -319,27 +310,25 @@ struct set_assocsta_rsp { }; /* - Caller Ad-Hoc/AP + * Caller Ad-Hoc/AP - Command mode + * Command mode - This is to force fw to del an sta_data entry per driver's request + * This is to force fw to del an sta_data entry per driver's request - FW will invalidate the cam entry associated with it. - -*/ + * FW will invalidate the cam entry associated with it. + */ struct del_assocsta_parm { u8 addr[ETH_ALEN]; }; /* -Caller Mode: AP/Ad-HoC(M) - -Notes: To notify fw that given staid has changed its power state - -Command Mode - -*/ + * Caller Mode: AP/Ad-HoC(M) + * + * Notes: To notify fw that given staid has changed its power state + * + * Command Mode + */ struct setstapwrstate_parm { u8 staid; u8 status; @@ -347,68 +336,63 @@ struct setstapwrstate_parm { }; /* -Caller Mode: Any - -Notes: To setup the basic rate of RTL8711 - -Command Mode - -*/ + * Caller Mode: Any + * + * Notes: To setup the basic rate of RTL8711 + * + * Command Mode + */ struct setbasicrate_parm { u8 basicrates[NumRates]; }; /* -Caller Mode: Any - -Notes: To read the current basic rate - -Command-Rsp Mode - -*/ + * Caller Mode: Any + * + * Notes: To read the current basic rate + * + * Command-Rsp Mode + */ struct getbasicrate_parm { u32 rsvd; }; /* -Caller Mode: Any - -Notes: To setup the data rate of RTL8711 - -Command Mode - -*/ + * Caller Mode: Any + * + * Notes: To setup the data rate of RTL8711 + * + * Command Mode + */ struct setdatarate_parm { u8 mac_id; u8 datarates[NumRates]; }; /* -Caller Mode: Any - -Notes: To read the current data rate - -Command-Rsp Mode - -*/ + * Caller Mode: Any + * + * Notes: To read the current data rate + * + * Command-Rsp Mode + */ struct getdatarate_parm { u32 rsvd; }; /* -Caller Mode: Any -AP: AP can use the info for the contents of beacon frame -Infra: STA can use the info when sitesurveying -Ad-HoC(M): Like AP -Ad-HoC(C): Like STA + * Caller Mode: Any + * AP: AP can use the info for the contents of beacon frame + * Infra: STA can use the info when sitesurveying + * Ad-HoC(M): Like AP + * Ad-HoC(C): Like STA -Notes: To set the phy capability of the NIC + * Notes: To set the phy capability of the NIC -Command Mode - -*/ + * Command Mode + */ struct setphyinfo_parm { struct regulatory_class class_sets[NUM_REGULATORYS]; @@ -420,27 +404,25 @@ struct getphyinfo_parm { }; /* -Caller Mode: Any - -Notes: To set the channel/modem/band -This command will be used when channel/modem/band is changed. - -Command Mode - -*/ + * Caller Mode: Any + * + * Notes: To set the channel/modem/band + * This command will be used when channel/modem/band is changed. + * + * Command Mode + */ struct setphy_parm { u8 rfchannel; u8 modem; }; /* -Caller Mode: Any - -Notes: To get the current setting of channel/modem/band - -Command-Rsp Mode - -*/ + * Caller Mode: Any + * + * Notes: To get the current setting of channel/modem/band + * + * Command-Rsp Mode + */ struct getphy_parm { u32 rsvd; @@ -451,58 +433,57 @@ struct Tx_Beacon_param { }; /* - Notes: This command is used for H2C/C2H loopback testing - - mac[0] == 0 - ==> CMD mode, return H2C_SUCCESS. - The following condition must be true under CMD mode - mac[1] == mac[4], mac[2] == mac[3], mac[0]=mac[5]= 0; - s0 == 0x1234, s1 == 0xabcd, w0 == 0x78563412, w1 == 0x5aa5def7; - s2 == (b1 << 8 | b0); - - mac[0] == 1 - ==> CMD_RSP mode, return H2C_SUCCESS_RSP - - The rsp layout shall be: - rsp: parm: - mac[0] = mac[5]; - mac[1] = mac[4]; - mac[2] = mac[3]; - mac[3] = mac[2]; - mac[4] = mac[1]; - mac[5] = mac[0]; - s0 = s1; - s1 = swap16(s0); - w0 = swap32(w1); - b0 = b1 - s2 = s0 + s1 - b1 = b0 - w1 = w0 - - mac[0] == 2 - ==> CMD_EVENT mode, return H2C_SUCCESS - The event layout shall be: - event: parm: - mac[0] = mac[5]; - mac[1] = mac[4]; - mac[2] = event's sequence number, starting from 1 to parm's marc[3] - mac[3] = mac[2]; - mac[4] = mac[1]; - mac[5] = mac[0]; - s0 = swap16(s0) - event.mac[2]; - s1 = s1 + event.mac[2]; - w0 = swap32(w0); - b0 = b1 - s2 = s0 + event.mac[2] - b1 = b0 - w1 = swap32(w1) - event.mac[2]; - - parm->mac[3] is the total event counts that host requested. - - - event will be the same with the cmd's param. - -*/ + * Notes: This command is used for H2C/C2H loopback testing + * + * mac[0] == 0 + * ==> CMD mode, return H2C_SUCCESS. + * The following condition must be true under CMD mode + * mac[1] == mac[4], mac[2] == mac[3], mac[0]=mac[5]= 0; + * s0 == 0x1234, s1 == 0xabcd, w0 == 0x78563412, w1 == 0x5aa5def7; + * s2 == (b1 << 8 | b0); + * + * mac[0] == 1 + * ==> CMD_RSP mode, return H2C_SUCCESS_RSP + * + * The rsp layout shall be: + * rsp: parm: + * mac[0] = mac[5]; + * mac[1] = mac[4]; + * mac[2] = mac[3]; + * mac[3] = mac[2]; + * mac[4] = mac[1]; + * mac[5] = mac[0]; + * s0 = s1; + * s1 = swap16(s0); + * w0 = swap32(w1); + * b0 = b1 + * s2 = s0 + s1 + * b1 = b0 + * w1 = w0 + * + * mac[0] == 2 + * ==> CMD_EVENT mode, return H2C_SUCCESS + * The event layout shall be: + * event: parm: + * mac[0] = mac[5]; + * mac[1] = mac[4]; + * mac[2] = event's sequence number, starting from 1 to parm's marc[3] + * mac[3] = mac[2]; + * mac[4] = mac[1]; + * mac[5] = mac[0]; + * s0 = swap16(s0) - event.mac[2]; + * s1 = s1 + event.mac[2]; + * w0 = swap32(w0); + * b0 = b1 + * s2 = s0 + event.mac[2] + * b1 = b0 + * w1 = swap32(w1) - event.mac[2]; + * + * parm->mac[3] is the total event counts that host requested. + * + * + * event will be the same with the cmd's param. + */ /* CMD param Formart for driver extra cmd handler */ struct drvextra_cmd_parm { @@ -550,15 +531,14 @@ struct RunInThread_param { /* - -Result: -0x00: success -0x01: success, and check Response. -0x02: cmd ignored due to duplicated sequence number -0x03: cmd dropped due to invalid cmd code -0x04: reserved. - -*/ + * + * Result: + * 0x00: success + * 0x01: success, and check Response. + * 0x02: cmd ignored due to duplicated sequence number + * 0x03: cmd dropped due to invalid cmd code + * 0x04: reserved. + */ #define H2C_RSP_OFFSET 512 From 2268c1bf1a861e1cb5ff71900faf801f9af5d20b Mon Sep 17 00:00:00 2001 From: Franco Hector Hugo Montenegro Date: Thu, 24 Sep 2026 19:21:22 -0300 Subject: [PATCH 096/145] Staging: rtl8723bs: fixed camel case coding style issue. Fixed a coding style issue for the field dot118021XPrivacy in the struct sta_info. Signed-off-by: Franco Hector Hugo Montenegro Link: https://patch.msgid.link/20260924222122.682920-1-franco.montenegro.ruke@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_ap.c | 2 +- drivers/staging/rtl8723bs/core/rtw_mlme.c | 4 ++-- .../staging/rtl8723bs/include/rtw_security.h | 2 +- drivers/staging/rtl8723bs/include/sta_info.h | 2 +- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 18 +++++++++--------- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c index c0ad656361d8..f98360b59737 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -1163,7 +1163,7 @@ u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta) init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para, SET_STA_KEY_CMD); - psetstakey_para->algorithm = (u8)psta->dot118021XPrivacy; + psetstakey_para->algorithm = (u8)psta->dot118021_x_privacy; memcpy(psetstakey_para->addr, psta->hwaddr, ETH_ALEN); diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index d644e5c5628c..0d0602eb4808 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -982,7 +982,7 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *adapter, stru adapter->securitypriv.bgrpkey_handshake = false; psta->ieee8021x_blocked = true; - psta->dot118021XPrivacy = adapter->securitypriv.dot11_privacy_algrthm; + psta->dot118021_x_privacy = adapter->securitypriv.dot11_privacy_algrthm; memset((u8 *)&psta->dot118021x_UncstKey, 0, sizeof(union Keytype)); @@ -1336,7 +1336,7 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *buf) rtw_sta_media_status_rpt(adapter, psta, 1); if (adapter->securitypriv.dot11_auth_algrthm == dot11_auth_algrthm_8021x) - psta->dot118021XPrivacy = adapter->securitypriv.dot11_privacy_algrthm; + psta->dot118021_x_privacy = adapter->securitypriv.dot11_privacy_algrthm; psta->ieee8021x_blocked = false; diff --git a/drivers/staging/rtl8723bs/include/rtw_security.h b/drivers/staging/rtl8723bs/include/rtw_security.h index 791528aa9b3e..33bc1adc8d90 100644 --- a/drivers/staging/rtl8723bs/include/rtw_security.h +++ b/drivers/staging/rtl8723bs/include/rtw_security.h @@ -179,7 +179,7 @@ do {\ if (bmcst)\ encry_algo = (u8)psecuritypriv->dot118021XGrpPrivacy;\ else\ - encry_algo = (u8)psta->dot118021XPrivacy;\ + encry_algo = (u8)psta->dot118021_x_privacy;\ break;\ case dot11_auth_algrthm_wapi:\ encry_algo = (u8)psecuritypriv->dot11_privacy_algrthm;\ diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h index 4c0733f823b4..21a4ca841e6e 100644 --- a/drivers/staging/rtl8723bs/include/sta_info.h +++ b/drivers/staging/rtl8723bs/include/sta_info.h @@ -87,7 +87,7 @@ struct sta_info { u8 hwaddr[ETH_ALEN]; bool ieee8021x_blocked; - uint dot118021XPrivacy; /* aes, tkip... */ + uint dot118021_x_privacy; /* aes, tkip... */ union Keytype dot11tkiptxmickey; union Keytype dot11tkiprxmickey; union Keytype dot118021x_UncstKey; diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index 8a995b7a06c4..1d64b90538fd 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -597,7 +597,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa pbcmc_sta = rtw_get_bcmc_stainfo(padapter); if (pbcmc_sta) { pbcmc_sta->ieee8021x_blocked = false; - pbcmc_sta->dot118021XPrivacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021XPrivacy */ + pbcmc_sta->dot118021_x_privacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021_x_privacy */ } } @@ -610,11 +610,11 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); if (strcmp(param->u.crypt.alg, "WEP") == 0) { - psta->dot118021XPrivacy = _WEP40_; + psta->dot118021_x_privacy = _WEP40_; if (param->u.crypt.key_len == 13) - psta->dot118021XPrivacy = _WEP104_; + psta->dot118021_x_privacy = _WEP104_; } else if (strcmp(param->u.crypt.alg, "TKIP") == 0) { - psta->dot118021XPrivacy = _TKIP_; + psta->dot118021_x_privacy = _TKIP_; /* set mic key */ memcpy(psta->dot11tkiptxmickey.skey, ¶m->u.crypt.key[16], 8); @@ -623,9 +623,9 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa psecuritypriv->busetkipkey = true; } else if (strcmp(param->u.crypt.alg, "CCMP") == 0) { - psta->dot118021XPrivacy = _AES_; + psta->dot118021_x_privacy = _AES_; } else { - psta->dot118021XPrivacy = _NO_PRIVACY_; + psta->dot118021_x_privacy = _NO_PRIVACY_; } rtw_ap_set_pairwise_key(padapter, psta); @@ -671,7 +671,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa pbcmc_sta = rtw_get_bcmc_stainfo(padapter); if (pbcmc_sta) { pbcmc_sta->ieee8021x_blocked = false; - pbcmc_sta->dot118021XPrivacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021XPrivacy */ + pbcmc_sta->dot118021_x_privacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021_x_privacy */ } } } @@ -765,7 +765,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) || (padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption3Enabled)) { - psta->dot118021XPrivacy = padapter->securitypriv.dot11_privacy_algrthm; + psta->dot118021_x_privacy = padapter->securitypriv.dot11_privacy_algrthm; } if (param->u.crypt.set_tx == 1) { /* pairwise key */ @@ -806,7 +806,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) || (padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption3Enabled)) { - pbcmc_sta->dot118021XPrivacy = padapter->securitypriv.dot11_privacy_algrthm; + pbcmc_sta->dot118021_x_privacy = padapter->securitypriv.dot11_privacy_algrthm; } } } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { /* adhoc mode */ From 6b4405c0f6001b9e300270fa4b8b55f60344dca1 Mon Sep 17 00:00:00 2001 From: Rishik Yechuri Date: Fri, 25 Sep 2026 11:28:27 -0500 Subject: [PATCH 097/145] staging: rtl8723bs: align function parameters in aes_decipher Fix checkpatch.pl alignment check in aes_decipher() where parameter alignment on the second line didn't match the open parenthesis Signed-off-by: Rishik Yechuri Link: https://patch.msgid.link/20260925162828.221356-1-rishikyechuri@protonmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_security.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 4b4a95195826..72af46391e23 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -980,8 +980,8 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) return res; } -static signed int aes_decipher(u8 *key, uint hdrlen, - u8 *pframe, uint plen) +static signed int aes_decipher(u8 *key, uint hdrlen, + u8 *pframe, uint plen) { static u8 message[MAX_MSG_SIZE]; uint qc_exists, a4_exists, i, j, payload_remainder, From 18a42264074ae1d3e010c7258e93fa545e5fc77b Mon Sep 17 00:00:00 2001 From: Rishik Yechuri Date: Fri, 25 Sep 2026 12:56:26 -0500 Subject: [PATCH 098/145] staging: rtl8723bs: remove unnecessary parentheses around prframe->u.hdr.list Removed redundant outer parentheses around prframe->u.hdr.list in a call to list_del_init() Signed-off-by: Rishik Yechuri Link: https://patch.msgid.link/20260925175627.227374-1-rishik.yechuri.code@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_recv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index b6ed3d3997c3..381b3e29afaf 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -1761,7 +1761,7 @@ static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, un break; } - list_del_init(&(prframe->u.hdr.list)); + list_del_init(&prframe->u.hdr.list); list_add_tail(&(prframe->u.hdr.list), plist); From 36d9b855cf94437ab839b023bda03dc3138d7a6e Mon Sep 17 00:00:00 2001 From: Hungyu Lin Date: Sat, 26 Sep 2026 10:27:36 +0000 Subject: [PATCH 099/145] staging: rtl8723bs: make xmitframe_swencrypt() return void xmitframe_swencrypt() always returns _SUCCESS, and none of its callers use the return value. Change the function to return void. No functional change. Signed-off-by: Hungyu Lin Link: https://patch.msgid.link/20260926102736.2773-1-dennylin0707@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_xmit.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index c0cb9973662f..57b3690bc48a 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -880,7 +880,7 @@ static int xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitfr return 0; } -static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmitframe) +static void xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmitframe) { struct pkt_attrib *pattrib = &pxmitframe->attrib; @@ -900,8 +900,6 @@ static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmi break; } } - - return _SUCCESS; } int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib) From 0e5058a181451625b3443a9a4a26ce64793392ce Mon Sep 17 00:00:00 2001 From: Leonardo Martins Martins Date: Sat, 26 Sep 2026 22:12:24 -0300 Subject: [PATCH 100/145] staging: rtl8723bs: rename PHY_ConvertTxPowerLimitToPowerIndex() Rename function PHY_ConvertTxPowerLimitToPowerIndex() to phy_tx_power_limit_to_index(). Signed-off-by: Leonardo Martins Martins Link: https://patch.msgid.link/20260926-rtl8723bs-tx-pwr-limit-v1-1-989dcbc113fd@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/hal_com_phycfg.c | 2 +- drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c | 2 +- drivers/staging/rtl8723bs/include/hal_com_phycfg.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c index 3c3eb2790714..3712b38cd37d 100644 --- a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c +++ b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c @@ -739,7 +739,7 @@ s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 reg_pwr_tbl_sel, return pwr_lmt; } -void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter) +void phy_tx_power_limit_to_index(struct adapter *Adapter) { struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); struct registry_priv *r = &Adapter->registrypriv; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c index 3b28da8aea46..3c99621311e5 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c @@ -338,7 +338,7 @@ static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter) if (Adapter->registrypriv.reg_enable_tx_power_limit == 1 || (Adapter->registrypriv.reg_enable_tx_power_limit == 2 && pHalData->EEPROMRegulatory == 1)) - PHY_ConvertTxPowerLimitToPowerIndex(Adapter); + phy_tx_power_limit_to_index(Adapter); } /* 2. Read BB AGC table Initialization */ diff --git a/drivers/staging/rtl8723bs/include/hal_com_phycfg.h b/drivers/staging/rtl8723bs/include/hal_com_phycfg.h index cb7c7ed74146..a20b4c233de8 100644 --- a/drivers/staging/rtl8723bs/include/hal_com_phycfg.h +++ b/drivers/staging/rtl8723bs/include/hal_com_phycfg.h @@ -97,7 +97,7 @@ s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 RegPwrTblSel, void PHY_SetTxPowerLimit(struct adapter *Adapter, u8 *Regulation, u8 *Bandwidth, u8 *RateSection, u8 *RfPath, u8 *Channel, u8 *PowerLimit); -void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter); +void phy_tx_power_limit_to_index(struct adapter *Adapter); void PHY_InitTxPowerLimit(struct adapter *Adapter); From 94f8dd8b96b03a24d9831ecc564eefa95f2edb80 Mon Sep 17 00:00:00 2001 From: AmirHossein HajiMohammadi Date: Tue, 29 Sep 2026 21:02:00 +0330 Subject: [PATCH 101/145] staging: rtl8723bs: remove unused monitor interface name ifname_mon is assigned when the monitor interface is created and cleared when it is deleted, but the value is never read. Remove the unused field and its dead stores. Signed-off-by: AmirHossein HajiMohammadi Link: https://patch.msgid.link/71228854-6533-486D-B930-BBFD2B51D2B1@hajimohammadi.net Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/ioctl_cfg80211.h | 1 - drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 3 --- 2 files changed, 4 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h b/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h index a1fc18cd247b..15c14b28165e 100644 --- a/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h +++ b/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h @@ -16,7 +16,6 @@ struct rtw_wdev_priv { spinlock_t scan_req_lock; struct net_device *pmon_ndev;/* for monitor interface */ - char ifname_mon[IFNAMSIZ + 1]; /* interface name for monitor interface */ bool block; bool power_mgmt; diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index 1d64b90538fd..a715ac6aa6b9 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -2140,7 +2140,6 @@ static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, str goto out; *ndev = pwdev_priv->pmon_ndev = mon_ndev; - memcpy(pwdev_priv->ifname_mon, name, IFNAMSIZ + 1); out: if (ret && mon_wdev) { @@ -2214,7 +2213,6 @@ static int cfg80211_rtw_del_virtual_intf(struct wiphy *wiphy, if (ndev == pwdev_priv->pmon_ndev) { pwdev_priv->pmon_ndev = NULL; - pwdev_priv->ifname_mon[0] = '\0'; } exit: @@ -2720,7 +2718,6 @@ int rtw_wdev_alloc(struct adapter *padapter, struct device *dev) pwdev_priv = adapter_wdev_data(padapter); pwdev_priv->rtw_wdev = wdev; pwdev_priv->pmon_ndev = NULL; - pwdev_priv->ifname_mon[0] = '\0'; pwdev_priv->padapter = padapter; pwdev_priv->scan_request = NULL; spin_lock_init(&pwdev_priv->scan_req_lock); From eb903412616ff46a88d30fefb1c550d89a7c3d55 Mon Sep 17 00:00:00 2001 From: Hungyu Lin Date: Thu, 1 Oct 2026 11:23:51 +0000 Subject: [PATCH 102/145] staging: rtl8723bs: make rtl8723_dequeue_writeport() return bool rtl8723_dequeue_writeport() returns boolean state and its caller uses the return value as a boolean. Change the return type to bool and replace _FAIL with false. Also use bool for the caller's queue_empty variable. No functional change. Signed-off-by: Hungyu Lin Link: https://patch.msgid.link/20261001112351.6820-1-dennylin0707@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c index dec9d4d53de7..6624d2aac4bc 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c @@ -32,7 +32,7 @@ static u8 rtw_sdio_wait_enough_TxOQT_space(struct adapter *padapter, u8 agg_num) return true; } -static s32 rtl8723_dequeue_writeport(struct adapter *padapter) +static bool rtl8723_dequeue_writeport(struct adapter *padapter) { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; @@ -104,7 +104,7 @@ static s32 rtl8723_dequeue_writeport(struct adapter *padapter) free_xmitbuf: rtw_free_xmitbuf(pxmitpriv, pxmitbuf); - return _FAIL; + return false; } /* @@ -118,7 +118,8 @@ static s32 rtl8723_dequeue_writeport(struct adapter *padapter) s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter) { struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - u8 queue_empty, queue_pending; + bool queue_empty; + u8 queue_pending; s32 ret; if (wait_for_completion_interruptible(&pxmitpriv->xmit_comp)) { From dbc2fa996f44602af72ea56efa68c043407eaaac Mon Sep 17 00:00:00 2001 From: Svyatoslav Nikolenko Date: Thu, 1 Oct 2026 17:12:41 +0300 Subject: [PATCH 103/145] staging: rtl8723bs: Remove manual ifname allocation The manual ifname allocation via dev_alloc_name() is redundant because the networking core handles interface naming automatically during register_netdev(). Remove the ifname module parameter, the corresponding field from struct registry_priv, and the rtw_init_netdev_name() callpath. Suggested-by: Greg Kroah-Hartman Signed-off-by: Svyatoslav Nikolenko Link: https://patch.msgid.link/20261001141242.2763-1-nsvatoslav515@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/drv_types.h | 2 -- .../staging/rtl8723bs/include/osdep_intf.h | 1 - drivers/staging/rtl8723bs/os_dep/os_intfs.c | 26 +++---------------- 3 files changed, 3 insertions(+), 26 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h index 0db276d46b1c..7f7d4fbad4bd 100644 --- a/drivers/staging/rtl8723bs/include/drv_types.h +++ b/drivers/staging/rtl8723bs/include/drv_types.h @@ -151,8 +151,6 @@ struct registry_priv { u8 enable80211d; - u8 ifname[16]; - u8 notch_filter; /* define for tx power adjust */ diff --git a/drivers/staging/rtl8723bs/include/osdep_intf.h b/drivers/staging/rtl8723bs/include/osdep_intf.h index 83a25598e962..f1e7a303a286 100644 --- a/drivers/staging/rtl8723bs/include/osdep_intf.h +++ b/drivers/staging/rtl8723bs/include/osdep_intf.h @@ -20,7 +20,6 @@ u32 rtw_start_drv_threads(struct adapter *padapter); void rtw_stop_drv_threads(struct adapter *padapter); void rtw_cancel_all_timer(struct adapter *padapter); -int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname); struct net_device *rtw_init_netdev(struct adapter *padapter); void rtw_unregister_netdevs(struct dvobj_priv *dvobj); diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index ab291792459b..d220df325fa9 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -106,10 +106,6 @@ static int rtw_80211d; static int rtw_qos_opt_enable;/* 0: disable, 1:enable */ module_param(rtw_qos_opt_enable, int, 0644); -static char *ifname = "wlan%d"; -module_param(ifname, charp, 0644); -MODULE_PARM_DESC(ifname, "The default name to allocate for first interface"); - char *rtw_initmac; /* temp mac address if users want to use instead of the mac address in Efuse */ module_param(rtw_initmac, charp, 0644); @@ -249,8 +245,6 @@ static void loadparam(struct adapter *padapter) registry_par->enable80211d = (u8)rtw_80211d; - snprintf(registry_par->ifname, 16, "%s", ifname); - registry_par->notch_filter = (u8)rtw_notch_filter; registry_par->reg_enable_tx_power_limit = (u8)rtw_tx_pwr_lmt_enable; @@ -394,17 +388,6 @@ static const struct net_device_ops rtw_netdev_ops = { .ndo_get_stats = rtw_net_get_stats, }; -int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname) -{ - if (dev_alloc_name(pnetdev, ifname) < 0) { - pr_err("dev_alloc_name, fail for %s\n", ifname); - return 1; - } - netif_carrier_off(pnetdev); - - return 0; -} - struct net_device *rtw_init_netdev(struct adapter *old_padapter) { struct adapter *padapter; @@ -726,14 +709,12 @@ u8 rtw_free_drv_sw(struct adapter *padapter) return _SUCCESS; } -static int _rtw_drv_register_netdev(struct adapter *padapter, char *name) +static int _rtw_drv_register_netdev(struct adapter *padapter) { int ret = _SUCCESS; struct net_device *pnetdev = padapter->pnetdev; - /* alloc netdev name */ - if (rtw_init_netdev_name(pnetdev, name)) - return _FAIL; + netif_carrier_off(pnetdev); eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr); @@ -758,9 +739,8 @@ int rtw_drv_register_netdev(struct adapter *if1) { struct dvobj_priv *dvobj = if1->dvobj; struct adapter *padapter = dvobj->padapters; - char *name = if1->registrypriv.ifname; - return _rtw_drv_register_netdev(padapter, name); + return _rtw_drv_register_netdev(padapter); } static int _netdev_open(struct net_device *pnetdev) From d355fbb22519c61501e203b54589dd0ee8e99f76 Mon Sep 17 00:00:00 2001 From: Timo Joannin Date: Thu, 1 Oct 2026 17:18:14 +0200 Subject: [PATCH 104/145] staging: rtl8723bs: rename phy_status_rpt_8192cd_t to rtl8723bs_phy_status_rpt. The struct identifier references the 8192CD chip while being in a rtl8723bs codebase. Additionally, the identifier uses the _t suffix, while being generally reserved for typedef identifiers. Rename the struct to rtl8723bs_phy_status_rpt across the rtl8723bs codebase to accurately reflect the driver and clean up the naming. Additionally, propagate the real structure type all the way through the call chain to remove redundant casts to and from u8 *. Signed-off-by: Timo Joannin Link: https://patch.msgid.link/20261001151814.157881-1-timo.joannin@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/odm_HWConfig.c | 6 +++--- drivers/staging/rtl8723bs/hal/odm_HWConfig.h | 5 +++-- drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c | 7 ++++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c index 34b0369a7936..c85194c8fe67 100644 --- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c +++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c @@ -95,7 +95,7 @@ static s8 odm_cck_rssi(u8 lna_idx, u8 vga_idx) static void odm_rx_phy_status_parsing(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info, - u8 *phy_status, + struct rtl8723bs_phy_status_rpt *phy_sta_rpt, struct odm_packet_info *pkt_info) { u8 i; @@ -105,7 +105,6 @@ static void odm_rx_phy_status_parsing(struct dm_odm_t *dm_odm, bool is_cck_rate = false; u8 rf_rx_num = 0; u8 lna_idx, vga_idx; - struct phy_status_rpt_8192cd_t *phy_sta_rpt = (struct phy_status_rpt_8192cd_t *)phy_status; is_cck_rate = pkt_info->data_rate <= DESC_RATE11M; phy_info->rx_mimo_signal_quality[RF_PATH_A] = -1; @@ -383,7 +382,8 @@ static void odm_Process_RSSIForDM( /* Endianness before calling this API */ void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info, - u8 *phy_status, struct odm_packet_info *pkt_info) + struct rtl8723bs_phy_status_rpt *phy_status, + struct odm_packet_info *pkt_info) { odm_rx_phy_status_parsing(dm_odm, phy_info, phy_status, pkt_info); diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h index ca3380328a72..21182a880da3 100644 --- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h +++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h @@ -18,7 +18,7 @@ struct phy_rx_agc_info_t { #endif }; -struct phy_status_rpt_8192cd_t { +struct rtl8723bs_phy_status_rpt { struct phy_rx_agc_info_t path_agc[2]; u8 ch_corr[2]; u8 cck_sig_qual_ofdm_pwdb_all; @@ -57,7 +57,8 @@ struct phy_status_rpt_8192cd_t { }; void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info, - u8 *phy_status, struct odm_packet_info *pkt_info); + struct rtl8723bs_phy_status_rpt *phy_status, + struct odm_packet_info *pkt_info); enum hal_status ODM_ConfigRFWithTxPwrTrackHeaderFile(struct dm_odm_t *pDM_Odm); diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c index 304fda3a3b5c..a62b845c69f9 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c @@ -73,7 +73,7 @@ static void update_recvframe_attrib(struct adapter *padapter, *precvframe->u.hdr.rx_data should be ready! */ static void update_recvframe_phyinfo(union recv_frame *precvframe, - struct phy_stat *pphy_status) + struct rtl8723bs_phy_status_rpt *pphy_status) { struct adapter *padapter = precvframe->u.hdr.adapter; struct rx_pkt_attrib *pattrib = &precvframe->u.hdr.attrib; @@ -125,7 +125,7 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe, pkt_info.data_rate = pattrib->data_rate; odm_phy_status_query(&p_hal_data->odmpriv, p_phy_info, - (u8 *)pphy_status, &(pkt_info)); + pphy_status, &(pkt_info)); if (psta) psta->rssi = pattrib->phy_info.RecvSignalPower; precvframe->u.hdr.psta = NULL; @@ -317,7 +317,8 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t) if (pattrib->pkt_rpt_type == NORMAL_RX) { /* Normal rx packet */ if (pattrib->physt) - update_recvframe_phyinfo(precvframe, (struct phy_stat *)ptr); + update_recvframe_phyinfo(precvframe, + (struct rtl8723bs_phy_status_rpt *)ptr); rtw_recv_entry(precvframe); } else if (pattrib->pkt_rpt_type == C2H_PACKET) { From f56356ba219dec8acdd967a1dc2bb40c58890ab5 Mon Sep 17 00:00:00 2001 From: Marinela Tatiana Selseth Date: Fri, 2 Oct 2026 14:46:44 -0500 Subject: [PATCH 105/145] staging: rtl8723bs: Eliminate dead enum hal_status abstraction The internal driver configuration functions inside odm_HWConfig.c always hardcode a return of HAL_STATUS_SUCCESS and never fail. Consequently, the custom vendor wrapper type 'enum hal_status' is a completely redundant abstraction layer that introduces unnecessary complexity. Refactor ODM_ConfigRFWithHeaderFile(), ODM_ConfigBBWithHeaderFile(), and ODM_ConfigRFWithTxPwrTrackHeaderFile() to return standard 'void', removing the useless success return paths. Additionally, purge the unused ghost prototype ODM_ConfigFWWithHeaderFile() from the header and completely eliminate the now-vacant 'enum hal_status' declaration block from odm_types.h. Signed-off-by: Marinela Tatiana Selseth Link: https://patch.msgid.link/20261002194644.212473-1-marinela.selseth@firmwaredesign.org Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/odm_HWConfig.c | 13 +++---------- drivers/staging/rtl8723bs/hal/odm_HWConfig.h | 13 +++---------- drivers/staging/rtl8723bs/hal/odm_types.h | 5 ----- 3 files changed, 6 insertions(+), 25 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c index c85194c8fe67..173ef3f437b9 100644 --- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c +++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c @@ -394,7 +394,7 @@ void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info /* If you want to add a new IC, Please follow below template and generate a new one. */ -enum hal_status ODM_ConfigRFWithHeaderFile( +void ODM_ConfigRFWithHeaderFile( struct dm_odm_t *pDM_Odm, enum ODM_RF_Config_Type ConfigType, enum rf_path eRFPath @@ -404,19 +404,15 @@ enum hal_status ODM_ConfigRFWithHeaderFile( ODM_ReadAndConfig_MP_8723B_RadioA(pDM_Odm); else if (ConfigType == CONFIG_RF_TXPWR_LMT) ODM_ReadAndConfig_MP_8723B_TXPWR_LMT(pDM_Odm); - - return HAL_STATUS_SUCCESS; } -enum hal_status ODM_ConfigRFWithTxPwrTrackHeaderFile(struct dm_odm_t *pDM_Odm) +void ODM_ConfigRFWithTxPwrTrackHeaderFile(struct dm_odm_t *pDM_Odm) { if (pDM_Odm->SupportInterface == ODM_ITRF_SDIO) ODM_ReadAndConfig_MP_8723B_TxPowerTrack_SDIO(pDM_Odm); - - return HAL_STATUS_SUCCESS; } -enum hal_status ODM_ConfigBBWithHeaderFile( +void ODM_ConfigBBWithHeaderFile( struct dm_odm_t *pDM_Odm, enum ODM_BB_Config_Type ConfigType ) { @@ -426,7 +422,4 @@ enum hal_status ODM_ConfigBBWithHeaderFile( ODM_ReadAndConfig_MP_8723B_AGC_TAB(pDM_Odm); else if (ConfigType == CONFIG_BB_PHY_REG_PG) ODM_ReadAndConfig_MP_8723B_PHY_REG_PG(pDM_Odm); - - return HAL_STATUS_SUCCESS; } - diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h index 21182a880da3..8d554e2420f0 100644 --- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h +++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h @@ -60,25 +60,18 @@ void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info struct rtl8723bs_phy_status_rpt *phy_status, struct odm_packet_info *pkt_info); -enum hal_status ODM_ConfigRFWithTxPwrTrackHeaderFile(struct dm_odm_t *pDM_Odm); +void ODM_ConfigRFWithTxPwrTrackHeaderFile(struct dm_odm_t *pDM_Odm); -enum hal_status ODM_ConfigRFWithHeaderFile( +void ODM_ConfigRFWithHeaderFile( struct dm_odm_t *pDM_Odm, enum ODM_RF_Config_Type ConfigType, enum rf_path eRFPath ); -enum hal_status ODM_ConfigBBWithHeaderFile( +void ODM_ConfigBBWithHeaderFile( struct dm_odm_t *pDM_Odm, enum ODM_BB_Config_Type ConfigType ); -enum hal_status ODM_ConfigFWWithHeaderFile( - struct dm_odm_t *pDM_Odm, - enum ODM_FW_Config_Type ConfigType, - u8 *pFirmware, - u32 *pSize -); - s32 odm_signal_scale_mapping(struct dm_odm_t *pDM_Odm, s32 CurrSig); #endif diff --git a/drivers/staging/rtl8723bs/hal/odm_types.h b/drivers/staging/rtl8723bs/hal/odm_types.h index 25f0edd716cc..f5a02a79ead1 100644 --- a/drivers/staging/rtl8723bs/hal/odm_types.h +++ b/drivers/staging/rtl8723bs/hal/odm_types.h @@ -15,11 +15,6 @@ #define GET_ODM(__padapter) ((PDM_ODM_T)(&((GET_HAL_DATA(__padapter))->odmpriv))) -enum hal_status { - HAL_STATUS_SUCCESS, - HAL_STATUS_FAILURE, -}; - #if defined(__LITTLE_ENDIAN) #define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE #else From 759e162171f3de2fdc07fb43c98d988f0c648804 Mon Sep 17 00:00:00 2001 From: Rishik Yechuri Date: Fri, 2 Oct 2026 15:13:53 -0500 Subject: [PATCH 106/145] staging: rtl8723bs: remove unused BoardType field and its parser Hal_EfuseParseBoardType_8723BS() reads the board option byte from the efuse and stores bits 5 through 7 in pHalData->BoardType. Nothing in the driver ever reads pHalData->BoardType, so the value isn't used. The function also tries to fall back to a default when the efuse byte is unprogrammed, but the check can never be true: BoardType = (hwinfo[...] & 0xE0) >> 5; /* at most 7 */ if (BoardType == 0xFF) /* never true */ Remove the function, the one place it's called, and the unused BoardType member of struct hal_com_data. This doesn't change how the driver behaves. Signed-off-by: Rishik Yechuri Link: https://patch.msgid.link/20261002201354.156065-1-rishik.yechuri.code@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/sdio_halinit.c | 16 ---------------- drivers/staging/rtl8723bs/include/hal_data.h | 1 - 2 files changed, 17 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/sdio_halinit.c b/drivers/staging/rtl8723bs/hal/sdio_halinit.c index 4a2f5c3bb3cf..26e0ea46551a 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_halinit.c +++ b/drivers/staging/rtl8723bs/hal/sdio_halinit.c @@ -933,21 +933,6 @@ static void Hal_EfuseParseMACAddr_8723BS( } } -static void Hal_EfuseParseBoardType_8723BS( - struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail -) -{ - struct hal_com_data *pHalData = GET_HAL_DATA(padapter); - - if (!AutoLoadFail) { - pHalData->BoardType = (hwinfo[EEPROM_RF_BOARD_OPTION_8723B] & 0xE0) >> 5; - if (pHalData->BoardType == 0xFF) - pHalData->BoardType = (EEPROM_DEFAULT_BOARD_OPTION & 0xE0) >> 5; - } else { - pHalData->BoardType = 0; - } -} - static void _ReadEfuseInfo8723BS(struct adapter *padapter) { struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); @@ -963,7 +948,6 @@ static void _ReadEfuseInfo8723BS(struct adapter *padapter) Hal_EfuseParseMACAddr_8723BS(padapter, hwinfo, pEEPROM->bautoload_fail_flag); Hal_EfuseParseTxPowerInfo_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); - Hal_EfuseParseBoardType_8723BS(padapter, hwinfo, pEEPROM->bautoload_fail_flag); /* Read Bluetooth co-exist and initialize */ Hal_EfuseParsePackageType_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); diff --git a/drivers/staging/rtl8723bs/include/hal_data.h b/drivers/staging/rtl8723bs/include/hal_data.h index c345b632bf53..588dada524e5 100644 --- a/drivers/staging/rtl8723bs/include/hal_data.h +++ b/drivers/staging/rtl8723bs/include/hal_data.h @@ -186,7 +186,6 @@ struct hal_com_data { u8 TypeALNA; u8 TypeAPA; u8 RFEType; - u8 BoardType; bool bLCKInProgress; bool bSwChnl; From 10e066f8fe5153710722719a452a68495c712683 Mon Sep 17 00:00:00 2001 From: Steven Sierra Date: Fri, 2 Oct 2026 23:46:43 -0500 Subject: [PATCH 107/145] staging: rtl8723bs: remove multiple blank lines in rtw_recv.h Collapse runs of consecutive blank lines to a single blank line to resolve the "Please do not use multiple blank lines" checkpatch warnings in this file. No functional change. Signed-off-by: Steven Sierra Link: https://patch.msgid.link/20261003044643.2451960-1-bizoru@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/rtw_recv.h | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h index b2a863e4d6ce..75f75d574da4 100644 --- a/drivers/staging/rtl8723bs/include/rtw_recv.h +++ b/drivers/staging/rtl8723bs/include/rtw_recv.h @@ -58,7 +58,6 @@ struct stainfo_rxcache { */ }; - struct signal_stat { u8 update_req; /* used to indicate */ u8 avg_val; /* avg of valid elements */ @@ -140,7 +139,6 @@ struct rx_pkt_attrib { struct phy_info phy_info; }; - /* These definition is used for Rx packet reordering. */ #define SN_LESS(a, b) (((a - b) & 0x800) != 0) #define SN_EQUAL(a, b) (a == b) @@ -248,7 +246,6 @@ struct recv_buf { u8 reuse; }; - /* head -----> @@ -258,7 +255,6 @@ struct recv_buf { tail -----> - end -----> len = (unsigned int)(tail - data); @@ -342,11 +338,9 @@ static inline u8 *recvframe_pull(union recv_frame *precvframe, signed int sz) /* used for extract sz bytes from rx_data, update rx_data and return the updated rx_data to the caller */ - if (!precvframe) return NULL; - precvframe->u.hdr.rx_data += sz; if (precvframe->u.hdr.rx_data > precvframe->u.hdr.rx_tail) { @@ -386,8 +380,6 @@ static inline u8 *recvframe_put(union recv_frame *precvframe, signed int sz) } - - static inline u8 *recvframe_pull_tail(union recv_frame *precvframe, signed int sz) { /* rmv data from rx_tail (by yitsen) */ @@ -416,7 +408,6 @@ static inline signed int get_recvframe_len(union recv_frame *precvframe) return precvframe->u.hdr.len; } - static inline s32 translate_percentage_to_dbm(u32 SignalStrengthIndex) { s32 SignalPower; /* in dBm. */ @@ -428,7 +419,6 @@ static inline s32 translate_percentage_to_dbm(u32 SignalStrengthIndex) return SignalPower; } - struct sta_info; extern void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv); From c6131b7a0776eaebdc30189ac02b871e9d89bf71 Mon Sep 17 00:00:00 2001 From: Luca Hernandez Date: Sat, 3 Oct 2026 14:38:07 +0100 Subject: [PATCH 108/145] staging: rtl8723bs: remove unused driver_stopped pointer from HAL Remove the unused driver_stopped pointer field from struct dm_odm_t and clear out its dead assignment loop block inside ODM_CmnInfoHook(). This eliminates completely dead weight from the driver's HAL layer codebase. Suggested-by: Greg Kroah-Hartman Signed-off-by: Luca Hernandez Link: https://patch.msgid.link/20261003133807.27676-1-lucay202@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/odm.c | 4 ---- drivers/staging/rtl8723bs/hal/odm.h | 1 - 2 files changed, 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c index f3989fa33d9f..7f9e8ad4a752 100644 --- a/drivers/staging/rtl8723bs/hal/odm.c +++ b/drivers/staging/rtl8723bs/hal/odm.c @@ -772,10 +772,6 @@ void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void pDM_Odm->pOnePathCCA = pValue; break; - case ODM_CMNINFO_DRV_STOP: - pDM_Odm->pbDriverStopped = pValue; - break; - case ODM_CMNINFO_PNP_IN: pDM_Odm->pbDriverIsGoingToPnpSetPowerSleep = pValue; break; diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h index 3532f0d79363..e8563ad6ada8 100644 --- a/drivers/staging/rtl8723bs/hal/odm.h +++ b/drivers/staging/rtl8723bs/hal/odm.h @@ -848,7 +848,6 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ /* common */ - bool *pbDriverStopped; bool *pbDriverIsGoingToPnpSetPowerSleep; bool *pinit_adpt_in_progress; From 61d39f2c35bf04549ef4210b4a5f8ffc2df029d1 Mon Sep 17 00:00:00 2001 From: Gowtham S Bhushan Date: Sun, 4 Oct 2026 14:49:11 +0530 Subject: [PATCH 109/145] staging: rtl8723bs: rename dot118021x_UncstKey to dot118021x_uncst_key checkpatch.pl warns about CamelCase in the struct member dot118021x_UncstKey. Rename it to dot118021x_uncst_key to follow the kernel coding style. Also wrap lines that exceed 100 columns because of the longer name Signed-off-by: Gowtham S Bhushan Link: https://patch.msgid.link/20261004091911.16169-1-gowtham398gs@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_ap.c | 2 +- drivers/staging/rtl8723bs/core/rtw_cmd.c | 2 +- drivers/staging/rtl8723bs/core/rtw_mlme.c | 2 +- drivers/staging/rtl8723bs/core/rtw_security.c | 8 ++++---- drivers/staging/rtl8723bs/core/rtw_xmit.c | 7 ++++--- drivers/staging/rtl8723bs/include/rtw_xmit.h | 2 +- drivers/staging/rtl8723bs/include/sta_info.h | 2 +- drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 7 +++++-- 8 files changed, 18 insertions(+), 14 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c index f98360b59737..c76a2ed910e1 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -1167,7 +1167,7 @@ u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta) memcpy(psetstakey_para->addr, psta->hwaddr, ETH_ALEN); - memcpy(psetstakey_para->key, &psta->dot118021x_UncstKey, 16); + memcpy(psetstakey_para->key, &psta->dot118021x_uncst_key, 16); res = rtw_enqueue_cmd(pcmdpriv, ph2c); diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl8723bs/core/rtw_cmd.c index 1b95ef6996c6..c59b29a02298 100644 --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c @@ -880,7 +880,7 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_ GET_ENCRY_ALGO(psecuritypriv, sta, psetstakey_para->algorithm, false); if (unicast_key) - memcpy(&psetstakey_para->key, &sta->dot118021x_UncstKey, 16); + memcpy(&psetstakey_para->key, &sta->dot118021x_uncst_key, 16); else memcpy(&psetstakey_para->key, &psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey, 16); diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 0d0602eb4808..7fa64c33a2b3 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -984,7 +984,7 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *adapter, stru psta->ieee8021x_blocked = true; psta->dot118021_x_privacy = adapter->securitypriv.dot11_privacy_algrthm; - memset((u8 *)&psta->dot118021x_UncstKey, 0, sizeof(union Keytype)); + memset((u8 *)&psta->dot118021x_uncst_key, 0, sizeof(union Keytype)); memset((u8 *)&psta->dot11tkiprxmickey, 0, sizeof(union Keytype)); memset((u8 *)&psta->dot11tkiptxmickey, 0, sizeof(union Keytype)); diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 72af46391e23..c6a23ddc419f 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -458,7 +458,7 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) if (is_multicast_ether_addr(pattrib->ra)) prwskey = psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey; else - prwskey = pattrib->dot118021x_UncstKey.skey; + prwskey = pattrib->dot118021x_uncst_key.skey; for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { iv = pframe + pattrib->hdrlen; @@ -573,7 +573,7 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey; } else { - prwskey = &stainfo->dot118021x_UncstKey.skey[0]; + prwskey = &stainfo->dot118021x_uncst_key.skey[0]; } iv = pframe + prxattrib->hdrlen; @@ -960,7 +960,7 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) if (is_multicast_ether_addr(pattrib->ra)) prwskey = psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey; else - prwskey = pattrib->dot118021x_UncstKey.skey; + prwskey = pattrib->dot118021x_uncst_key.skey; for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { if ((curfragnum + 1) == pattrib->nr_frags) { /* 4 the last fragment */ @@ -1248,7 +1248,7 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) goto exit; } } else { - prwskey = &stainfo->dot118021x_UncstKey.skey[0]; + prwskey = &stainfo->dot118021x_uncst_key.skey[0]; } length = ((union recv_frame *)precvframe)->u.hdr.len - diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index 57b3690bc48a..4e2f96fc33e3 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -512,7 +512,7 @@ static int update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p struct security_priv *psecuritypriv = &padapter->securitypriv; signed int bmcast = is_multicast_ether_addr(pattrib->ra); - memset(pattrib->dot118021x_UncstKey.skey, 0, 16); + memset(pattrib->dot118021x_uncst_key.skey, 0, 16); memset(pattrib->dot11tkiptxmickey.skey, 0, 16); pattrib->mac_id = psta->mac_id; @@ -589,7 +589,7 @@ static int update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p } if (pattrib->encrypt > 0) - memcpy(pattrib->dot118021x_UncstKey.skey, psta->dot118021x_UncstKey.skey, 16); + memcpy(pattrib->dot118021x_uncst_key.skey, psta->dot118021x_uncst_key.skey, 16); if (pattrib->encrypt && ((padapter->securitypriv.sw_encrypt) || (!psecuritypriv->hw_decrypted))) @@ -1289,7 +1289,8 @@ int rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s goto xmitframe_coalesce_fail; /* before encrypt dump the management packet content */ if (pattrib->encrypt > 0) - memcpy(pattrib->dot118021x_UncstKey.skey, psta->dot118021x_UncstKey.skey, 16); + memcpy(pattrib->dot118021x_uncst_key.skey, + psta->dot118021x_uncst_key.skey, 16); /* bakeup original management packet */ memcpy(tmp_buf, pframe, pattrib->pktlen); /* move to data portion */ diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h index c5cb814789d8..d6970f244ed0 100644 --- a/drivers/staging/rtl8723bs/include/rtw_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h @@ -162,7 +162,7 @@ struct pkt_attrib { u8 rtsen; u8 cts2self; union Keytype dot11tkiptxmickey; - union Keytype dot118021x_UncstKey; + union Keytype dot118021x_uncst_key; u8 icmp_pkt; diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h index 21a4ca841e6e..59f17b67335e 100644 --- a/drivers/staging/rtl8723bs/include/sta_info.h +++ b/drivers/staging/rtl8723bs/include/sta_info.h @@ -90,7 +90,7 @@ struct sta_info { uint dot118021_x_privacy; /* aes, tkip... */ union Keytype dot11tkiptxmickey; union Keytype dot11tkiprxmickey; - union Keytype dot118021x_UncstKey; + union Keytype dot118021x_uncst_key; union pn48 dot11txpn; /* PN48 used for Unicast xmit */ union pn48 dot11wtxpn; /* PN48 used for Unicast mgmt xmit. */ union pn48 dot11rxpn; /* PN48 used for Unicast recv. */ diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index a715ac6aa6b9..127fbae53c89 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -607,7 +607,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa if (psecuritypriv->dot11_auth_algrthm == dot11_auth_algrthm_8021x && psta) {/* psk/802_1x */ if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) { if (param->u.crypt.set_tx == 1) { /* pairwise key */ - memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); + memcpy(psta->dot118021x_uncst_key.skey, param->u.crypt.key, + (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); if (strcmp(param->u.crypt.alg, "WEP") == 0) { psta->dot118021_x_privacy = _WEP40_; @@ -770,7 +771,9 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param if (param->u.crypt.set_tx == 1) { /* pairwise key */ - memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); + memcpy(psta->dot118021x_uncst_key.skey, param->u.crypt.key, + (param->u.crypt.key_len > 16 ? 16 : + param->u.crypt.key_len)); if (strcmp(param->u.crypt.alg, "TKIP") == 0) { /* set mic key */ memcpy(psta->dot11tkiptxmickey.skey, ¶m->u.crypt.key[16], 8); From ed8ae033bdce922e7e8fd3d66ee728c1cf6e53d2 Mon Sep 17 00:00:00 2001 From: Marinela Tatiana Selseth Date: Sun, 4 Oct 2026 14:55:38 -0500 Subject: [PATCH 110/145] staging: rtl8723bs: condense NDIS encryption status enum Address maintainer feedback regarding loose anonymous enum constants and redundant naming aliases. The legacy driver framework contained multiple duplicate definitions (such as mapping both WEPDisabled and EncryptionDisabled to identical tracking states) alongside several completely unreferenced, dead tracking properties. Clean up this subsystem by defining an explicit, named enumeration layout 'enum ndis_802_11_encryption_status' inside wlan_bssdef.h. Consolidate redundant aliases down to singular, uniform variables, purge all unused legacy elements (KeyAbsent, NotSupported, and EncrypteionWAPI blocks), and convert all remaining active states over to standard uppercase snake_case conventions. Update all internal software state assignments and state evaluation loops across the entire driver operational baseline to conform to the updated definitions, ensuring code tracking clarity while leaving hardware execution behaviors completely unaltered. Fix associated line length violations and remove redundant braces for single-statement conditions introduced by long macro names. Assisted-by: Gemini Signed-off-by: Marinela Tatiana Selseth Link: https://patch.msgid.link/20261004195539.305487-1-marinela.selseth@firmwaredesign.org Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_ap.c | 2 +- drivers/staging/rtl8723bs/core/rtw_mlme.c | 8 +-- .../staging/rtl8723bs/include/wlan_bssdef.h | 19 ++---- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 58 ++++++++++--------- drivers/staging/rtl8723bs/os_dep/os_intfs.c | 2 +- 5 files changed, 41 insertions(+), 48 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c index c76a2ed910e1..6f372201592a 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -1907,7 +1907,7 @@ void stop_ap_mode(struct adapter *padapter) 0, sizeof(struct security_priv)); padapter->securitypriv.ndisauthtype = Ndis802_11AuthModeOpen; - padapter->securitypriv.ndisencryptstatus = Ndis802_11WEPDisabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; /* for ACL */ spin_lock_bh(&pacl_node_q->lock); diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 7fa64c33a2b3..6dcc99253039 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -607,7 +607,7 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network u8 *p = NULL; uint ie_len = 0; - if ((desired_encmode == Ndis802_11EncryptionDisabled) && (privacy != 0)) + if ((desired_encmode == NDIS_802_11_ENCRYPTION_DISABLED) && (privacy != 0)) bselected = false; if (psecuritypriv->ndisauthtype == Ndis802_11AuthModeWPA2PSK) { @@ -623,7 +623,7 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network } } - if ((desired_encmode != Ndis802_11EncryptionDisabled) && (privacy == 0)) + if ((desired_encmode != NDIS_802_11_ENCRYPTION_DISABLED) && (privacy == 0)) bselected = false; if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { @@ -1115,7 +1115,7 @@ void rtw_reset_securitypriv(struct adapter *adapter) adapter->securitypriv.btkip_countermeasure_time = backup_tkip_countermeasure_time; adapter->securitypriv.ndisauthtype = Ndis802_11AuthModeOpen; - adapter->securitypriv.ndisencryptstatus = Ndis802_11WEPDisabled; + adapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; } else { /* reset values in securitypriv */ @@ -1130,7 +1130,7 @@ void rtw_reset_securitypriv(struct adapter *adapter) psec_priv->dot118021XGrpKeyid = 1; psec_priv->ndisauthtype = Ndis802_11AuthModeOpen; - psec_priv->ndisencryptstatus = Ndis802_11WEPDisabled; + psec_priv->ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; } spin_unlock_bh(&adapter->security_key_mutex); } diff --git a/drivers/staging/rtl8723bs/include/wlan_bssdef.h b/drivers/staging/rtl8723bs/include/wlan_bssdef.h index d318c80c3be3..ac8e1f286571 100644 --- a/drivers/staging/rtl8723bs/include/wlan_bssdef.h +++ b/drivers/staging/rtl8723bs/include/wlan_bssdef.h @@ -62,20 +62,11 @@ enum ndis_802_11_authentication_mode { Ndis802_11AuthModeMax /* Not a real mode, defined as upper bound */ }; -enum { - Ndis802_11WEPEnabled, - Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled, - Ndis802_11WEPDisabled, - Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled, - Ndis802_11WEPKeyAbsent, - Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent, - Ndis802_11WEPNotSupported, - Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported, - Ndis802_11Encryption2Enabled, - Ndis802_11Encryption2KeyAbsent, - Ndis802_11Encryption3Enabled, - Ndis802_11Encryption3KeyAbsent, - Ndis802_11_EncrypteionWAPI +enum ndis_802_11_encryption_status { + NDIS_802_11_ENCRYPTION_1_ENABLED, + NDIS_802_11_ENCRYPTION_DISABLED, + NDIS_802_11_ENCRYPTION_2_ENABLED, + NDIS_802_11_ENCRYPTION_3_ENABLED, }; /* Key mapping keys require a BSSID */ diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index 127fbae53c89..797c8529d5c6 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -535,7 +535,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa /* wep default key has not been set, so use this key index as default key. */ psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_auto; - psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled; + psecuritypriv->ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; psecuritypriv->dot11_privacy_algrthm = _WEP40_; psecuritypriv->dot118021XGrpPrivacy = _WEP40_; @@ -732,7 +732,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param wep_key_len = wep_key_len <= 5 ? 5 : 13; - psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled; + psecuritypriv->ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; psecuritypriv->dot11_privacy_algrthm = _WEP40_; psecuritypriv->dot118021XGrpPrivacy = _WEP40_; @@ -764,10 +764,11 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param if (strcmp(param->u.crypt.alg, "none") != 0) psta->ieee8021x_blocked = false; - if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) || - (padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption3Enabled)) { + if (padapter->securitypriv.ndisencryptstatus == + NDIS_802_11_ENCRYPTION_2_ENABLED || + padapter->securitypriv.ndisencryptstatus == + NDIS_802_11_ENCRYPTION_3_ENABLED) psta->dot118021_x_privacy = padapter->securitypriv.dot11_privacy_algrthm; - } if (param->u.crypt.set_tx == 1) { /* pairwise key */ @@ -807,10 +808,11 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param if (strcmp(param->u.crypt.alg, "none") != 0) pbcmc_sta->ieee8021x_blocked = false; - if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) || - (padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption3Enabled)) { + if (padapter->securitypriv.ndisencryptstatus == + NDIS_802_11_ENCRYPTION_2_ENABLED || + padapter->securitypriv.ndisencryptstatus == + NDIS_802_11_ENCRYPTION_3_ENABLED) pbcmc_sta->dot118021_x_privacy = padapter->securitypriv.dot11_privacy_algrthm; - } } } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { /* adhoc mode */ } @@ -931,7 +933,7 @@ static int cfg80211_rtw_set_default_key(struct wiphy *wiphy, struct security_priv *psecuritypriv = &padapter->securitypriv; if ((key_index < WEP_KEYS) && ((psecuritypriv->dot11_privacy_algrthm == _WEP40_) || (psecuritypriv->dot11_privacy_algrthm == _WEP104_))) { /* set wep default key */ - psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled; + psecuritypriv->ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; psecuritypriv->dot11PrivacyKeyIndex = key_index; @@ -1319,7 +1321,7 @@ static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv, psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_shared; - psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled; + psecuritypriv->ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; break; default: @@ -1331,7 +1333,7 @@ static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv, static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 cipher, bool ucast) { - u32 ndisencryptstatus = Ndis802_11EncryptionDisabled; + u32 ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; u32 *profile_cipher = ucast ? &psecuritypriv->dot11_privacy_algrthm : &psecuritypriv->dot118021XGrpPrivacy; @@ -1345,23 +1347,23 @@ static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 ciph switch (cipher) { case IW_AUTH_CIPHER_NONE: *profile_cipher = _NO_PRIVACY_; - ndisencryptstatus = Ndis802_11EncryptionDisabled; + ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; break; case WLAN_CIPHER_SUITE_WEP40: *profile_cipher = _WEP40_; - ndisencryptstatus = Ndis802_11Encryption1Enabled; + ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; break; case WLAN_CIPHER_SUITE_WEP104: *profile_cipher = _WEP104_; - ndisencryptstatus = Ndis802_11Encryption1Enabled; + ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; break; case WLAN_CIPHER_SUITE_TKIP: *profile_cipher = _TKIP_; - ndisencryptstatus = Ndis802_11Encryption2Enabled; + ndisencryptstatus = NDIS_802_11_ENCRYPTION_2_ENABLED; break; case WLAN_CIPHER_SUITE_CCMP: *profile_cipher = _AES_; - ndisencryptstatus = Ndis802_11Encryption3Enabled; + ndisencryptstatus = NDIS_802_11_ENCRYPTION_3_ENABLED; break; default: return -ENOTSUPP; @@ -1452,46 +1454,46 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel switch (group_cipher) { case WPA_CIPHER_NONE: padapter->securitypriv.dot118021XGrpPrivacy = _NO_PRIVACY_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11EncryptionDisabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; break; case WPA_CIPHER_WEP40: padapter->securitypriv.dot118021XGrpPrivacy = _WEP40_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; break; case WPA_CIPHER_TKIP: padapter->securitypriv.dot118021XGrpPrivacy = _TKIP_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption2Enabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_2_ENABLED; break; case WPA_CIPHER_CCMP: padapter->securitypriv.dot118021XGrpPrivacy = _AES_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption3Enabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_3_ENABLED; break; case WPA_CIPHER_WEP104: padapter->securitypriv.dot118021XGrpPrivacy = _WEP104_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; break; } switch (pairwise_cipher) { case WPA_CIPHER_NONE: padapter->securitypriv.dot11_privacy_algrthm = _NO_PRIVACY_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11EncryptionDisabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; break; case WPA_CIPHER_WEP40: padapter->securitypriv.dot11_privacy_algrthm = _WEP40_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; break; case WPA_CIPHER_TKIP: padapter->securitypriv.dot11_privacy_algrthm = _TKIP_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption2Enabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_2_ENABLED; break; case WPA_CIPHER_CCMP: padapter->securitypriv.dot11_privacy_algrthm = _AES_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption3Enabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_3_ENABLED; break; case WPA_CIPHER_WEP104: padapter->securitypriv.dot11_privacy_algrthm = _WEP104_; - padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled; + padapter->securitypriv.ndisencryptstatus = NDIS_802_11_ENCRYPTION_1_ENABLED; break; } @@ -1557,7 +1559,7 @@ static int cfg80211_rtw_join_ibss(struct wiphy *wiphy, struct net_device *ndev, ndis_ssid.ssid_length = params->ssid_len; memcpy(ndis_ssid.ssid, (u8 *)params->ssid, params->ssid_len); - psecuritypriv->ndisencryptstatus = Ndis802_11EncryptionDisabled; + psecuritypriv->ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; psecuritypriv->dot11_privacy_algrthm = _NO_PRIVACY_; psecuritypriv->dot118021XGrpPrivacy = _NO_PRIVACY_; psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_open; /* open system */ @@ -1653,7 +1655,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev, if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) rtw_scan_abort(padapter); - psecuritypriv->ndisencryptstatus = Ndis802_11EncryptionDisabled; + psecuritypriv->ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; psecuritypriv->dot11_privacy_algrthm = _NO_PRIVACY_; psecuritypriv->dot118021XGrpPrivacy = _NO_PRIVACY_; psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_open; /* open system */ diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index d220df325fa9..a4bc4ff58c56 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -507,7 +507,7 @@ static void rtw_init_default_value(struct adapter *padapter) psecuritypriv->dot118021XGrpKeyid = 1; psecuritypriv->ndisauthtype = Ndis802_11AuthModeOpen; - psecuritypriv->ndisencryptstatus = Ndis802_11WEPDisabled; + psecuritypriv->ndisencryptstatus = NDIS_802_11_ENCRYPTION_DISABLED; /* registry_priv */ rtw_init_registrypriv_dev_network(padapter); From a7fe96e04160cae30b7543c5d8d23aaeefea328d Mon Sep 17 00:00:00 2001 From: Marinela Tatiana Selseth Date: Sun, 4 Oct 2026 17:28:21 -0500 Subject: [PATCH 111/145] staging: rtl8723bs: remove dead antenna diversity infrastructure (FAT/SWAT) Manual code tracking via grep reveals that the driver contains code for Fast Antenna Training (FAT) and Software Antenna Switching (SWAS) that are completely uninitialized, unread, or write-only. Remove the 'struct fat_t' definition from hal/odm.h and refactor the fallback path in hal/rtl8723b_phycfg.c. Because the unassigned structural member 'RxIdleAnt' naturally defaults to 0, the conditional path check statically resolves to false, permanently routing RFPath to RF_PATH_B whenever antenna diversity is active. Hardcode this layout behavior to match factual reality and remove the now unused macro 'MAIN_ANT'. Additionally, purge the write-only 'struct swat_t' infrastructure from hal/odm.h and include/hal_data.h. Inside hal/odm.c, eliminate the dead variable tracking assignments while explicitly preserving the hardware register read to rDPDT_control as a dummy read to ensure initialization sequencing and hardware timing remain completely unaltered. Lastly, clean up legacy comment baggage across hal/odm.c and hal/odm_DIG.c. Remove arbitrary spreadsheet digits and references to unsupported legacy chipsets (92E, 8723A, 8821, 8812) to ensure inline notes are highly focused on the active RTL8723B Bluetooth coexistence parameters. Assisted-by: Gemini Signed-off-by: Marinela Tatiana Selseth Link: https://patch.msgid.link/20261004222821.6524-1-marinela.selseth@firmwaredesign.org Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/odm.c | 12 +-- drivers/staging/rtl8723bs/hal/odm.h | 100 ------------------ drivers/staging/rtl8723bs/hal/odm_DIG.c | 5 +- .../staging/rtl8723bs/hal/rtl8723b_phycfg.c | 11 +- drivers/staging/rtl8723bs/include/hal_data.h | 1 - 5 files changed, 11 insertions(+), 118 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c index 7f9e8ad4a752..d9002ff83143 100644 --- a/drivers/staging/rtl8723bs/hal/odm.c +++ b/drivers/staging/rtl8723bs/hal/odm.c @@ -461,12 +461,8 @@ static void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm) /* 3 ============================================================ */ static void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm) { - struct swat_t *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table; - - pDM_SWAT_Table->SWAS_NoLink_BK_Reg92c = rtw_read32(pDM_Odm->Adapter, rDPDT_control); - pDM_SWAT_Table->PreAntenna = MAIN_ANT; - pDM_SWAT_Table->CurAntenna = MAIN_ANT; - pDM_SWAT_Table->SWAS_NoLink_State = 0; + /* Dummy read rDPDT_control to preserve initialization hardware sequencing */ + rtw_read32(pDM_Odm->Adapter, rDPDT_control); } /* 3 ============================================================ */ @@ -589,9 +585,7 @@ void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm) odm_RSSIMonitorCheck(pDM_Odm); - /* For CE Platform(SPRD or Tablet) */ - /* 8723A or 8189ES platform */ - /* NeilChen--2012--08--24-- */ + /* For CE Platform (Spreadtrum or Tablet) */ /* Fix Leave LPS issue */ if (adapter_to_pwrctl(pDM_Odm->Adapter)->pwr_mode != PS_MODE_ACTIVE) { /* in LPS mode */ diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h index e8563ad6ada8..f2570b49bea9 100644 --- a/drivers/staging/rtl8723bs/hal/odm.h +++ b/drivers/staging/rtl8723bs/hal/odm.h @@ -50,12 +50,6 @@ #define PSD_RESCAN 4 #define PSD_SCAN_INTERVAL 700 /* ms */ -/* 8723A High Power IGI Setting */ -#define DM_DIG_HIGH_PWR_IGI_LOWER_BOUND 0x22 -#define DM_DIG_Gmode_HIGH_PWR_IGI_LOWER_BOUND 0x28 -#define DM_DIG_HIGH_PWR_THRESHOLD 0x3a -#define DM_DIG_LOW_PWR_THRESHOLD 0x14 - /* ANT Test */ #define ANTTESTALL 0x00 /* Ant A or B will be Testing */ #define ANTTESTA 0x01 /* Ant A will be Testing */ @@ -63,11 +57,6 @@ #define PS_MODE_ACTIVE 0x01 -/* for 8723A Ant Definition--2012--06--07 due to different IC may be different ANT define */ -#define MAIN_ANT 1 /* Ant A or Ant Main */ -#define AUX_ANT 2 /* AntB or Ant Aux */ -#define MAX_ANT 3 /* 3 for AP using */ - /* Antenna Diversity Type */ #define SW_ANTDIV 0 #define HW_ANTDIV 1 @@ -123,54 +112,6 @@ struct rxhp_t { #define TRAFFIC_HIGH 1 #define TRAFFIC_UltraLOW 2 -struct swat_t { /* _SW_Antenna_Switch_ */ - u8 Double_chk_flag; - u8 try_flag; - s32 PreRSSI; - u8 CurAntenna; - u8 PreAntenna; - u8 RSSI_Trying; - u8 TestMode; - u8 bTriggerAntennaSwitch; - u8 SelectAntennaMap; - u8 RSSI_target; - u8 reset_idx; - u16 Single_Ant_Counter; - u16 Dual_Ant_Counter; - u16 Aux_FailDetec_Counter; - u16 Retry_Counter; - - /* Before link Antenna Switch check */ - u8 SWAS_NoLink_State; - u32 SWAS_NoLink_BK_Reg860; - u32 SWAS_NoLink_BK_Reg92c; - u32 SWAS_NoLink_BK_Reg948; - bool ANTA_ON; /* To indicate Ant A is or not */ - bool ANTB_ON; /* To indicate Ant B is on or not */ - bool Pre_Aux_FailDetec; - bool RSSI_AntDect_bResult; - u8 Ant2G; - - s32 RSSI_sum_A; - s32 RSSI_sum_B; - s32 RSSI_cnt_A; - s32 RSSI_cnt_B; - - u64 lastTxOkCnt; - u64 lastRxOkCnt; - u64 TXByteCnt_A; - u64 TXByteCnt_B; - u64 RXByteCnt_A; - u64 RXByteCnt_B; - u8 TrafficLoad; - u8 Train_time; - u8 Train_time_flag; - struct timer_list SwAntennaSwitchTimer; - struct timer_list SwAntennaSwitchTimer_8723B; - u32 PktCnt_SWAntDivByCtrlFrame; - bool bSWAntDivByCtrlFrame; -}; - /* Remove Edca by YuChen */ struct odm_rate_adaptive { @@ -557,45 +498,6 @@ struct odm_rf_cal_t { /* ODM_RF_Calibration_Structure */ }; -/* ODM Dynamic common info value definition */ -struct fat_t { /* _FAST_ANTENNA_TRAINNING_ */ - u8 Bssid[6]; - u8 antsel_rx_keep_0; - u8 antsel_rx_keep_1; - u8 antsel_rx_keep_2; - u8 antsel_rx_keep_3; - u32 antSumRSSI[7]; - u32 antRSSIcnt[7]; - u32 antAveRSSI[7]; - u8 FAT_State; - u32 TrainIdx; - u8 antsel_a[ODM_ASSOCIATE_ENTRY_NUM]; - u8 antsel_b[ODM_ASSOCIATE_ENTRY_NUM]; - u8 antsel_c[ODM_ASSOCIATE_ENTRY_NUM]; - u32 MainAnt_Sum[ODM_ASSOCIATE_ENTRY_NUM]; - u32 AuxAnt_Sum[ODM_ASSOCIATE_ENTRY_NUM]; - u32 MainAnt_Cnt[ODM_ASSOCIATE_ENTRY_NUM]; - u32 AuxAnt_Cnt[ODM_ASSOCIATE_ENTRY_NUM]; - u8 RxIdleAnt; - bool bBecomeLinked; - u32 MinMaxRSSI; - u8 idx_AntDiv_counter_2G; - u32 CCK_counter_main; - u32 CCK_counter_aux; - u32 OFDM_counter_main; - u32 OFDM_counter_aux; - - u32 CCK_CtrlFrame_Cnt_main; - u32 CCK_CtrlFrame_Cnt_aux; - u32 OFDM_CtrlFrame_Cnt_main; - u32 OFDM_CtrlFrame_Cnt_aux; - u32 MainAnt_CtrlFrame_Sum; - u32 AuxAnt_CtrlFrame_Sum; - u32 MainAnt_CtrlFrame_Cnt; - u32 AuxAnt_CtrlFrame_Cnt; - -}; - enum { NO_ANTDIV = 0xFF, CG_TRX_HW_ANTDIV = 0x01, @@ -828,7 +730,6 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ struct odm_mac_status_info *pMacInfo; /* ODM Structure */ - struct fat_t DM_FatTable; struct dig_t DM_DigTable; struct ps_t DM_PSTable; struct dynamic_primary_CCA DM_PriCCA; @@ -836,7 +737,6 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ struct ra_t DM_RA_Table; struct false_ALARM_STATISTICS FalseAlmCnt; struct false_ALARM_STATISTICS FlaseAlmCntBuddyAdapter; - struct swat_t DM_SWAT_Table; bool RSSI_test; struct cfo_tracking DM_CfoTrack; diff --git a/drivers/staging/rtl8723bs/hal/odm_DIG.c b/drivers/staging/rtl8723bs/hal/odm_DIG.c index c862c86b7695..44932b2c9f9f 100644 --- a/drivers/staging/rtl8723bs/hal/odm_DIG.c +++ b/drivers/staging/rtl8723bs/hal/odm_DIG.c @@ -395,10 +395,9 @@ void odm_DIG(void *pDM_VOID) dm_dig_min = DM_DIG_MIN_NIC; DIG_MaxOfMin = DM_DIG_MAX_AP; - /* 1 Adjust boundary by RSSI */ + /* Adjust boundary by RSSI */ if (pDM_Odm->bLinked && bPerformance) { - /* 2 Modify DIG upper bound */ - /* 4 Modify DIG upper bound for 92E, 8723A\B, 8821 & 8812 BT */ + /* Modify DIG upper bound for 8723B BT */ if (pDM_Odm->bBtLimitedDig == 1) offset = 10; else diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c index 3c99621311e5..18fb3fe4ecfd 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c @@ -527,13 +527,14 @@ u8 PHY_GetTxPowerIndex( void PHY_SetTxPowerLevel8723B(struct adapter *Adapter, u8 Channel) { struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); - struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; - struct fat_t *pDM_FatTable = &pDM_Odm->DM_FatTable; u8 RFPath = RF_PATH_A; - if (pHalData->AntDivCfg) {/* antenna diversity Enable */ - RFPath = ((pDM_FatTable->RxIdleAnt == MAIN_ANT) ? RF_PATH_A : RF_PATH_B); - } else { /* antenna diversity disable */ + if (pHalData->AntDivCfg) {/* antenna diversity enable */ + /* Antenna diversity forces path B because Fast Antenna Training + * (FAT) logic is unhandled in this staging driver baseline. + */ + RFPath = RF_PATH_B; + } else { /* antenna diversity disable */ RFPath = pHalData->ant_path; } diff --git a/drivers/staging/rtl8723bs/include/hal_data.h b/drivers/staging/rtl8723bs/include/hal_data.h index 588dada524e5..f8b384bffd49 100644 --- a/drivers/staging/rtl8723bs/include/hal_data.h +++ b/drivers/staging/rtl8723bs/include/hal_data.h @@ -208,7 +208,6 @@ struct hal_com_data { u8 RegReg542; u16 RegRRSR; - u8 CurAntenna; u8 AntDivCfg; u8 AntDetection; u8 ant_path; /* for 8723B s0/s1 selection */ From 4cac37ada4488d3b988a1cf3e656a101e2c210ca Mon Sep 17 00:00:00 2001 From: Rahul Rao Date: Wed, 7 Oct 2026 14:07:17 +0530 Subject: [PATCH 112/145] staging: rtl8723bs: align arguments with open parenthesis Fix a coding style check reported by checkpatch.pl by aligning the continuation argument with the open parenthesis in rtw_get_ie(). Signed-off-by: Rahul Rao Link: https://patch.msgid.link/20261007083717.14031-1-shreeramrahul94@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_cmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl8723bs/core/rtw_cmd.c index c59b29a02298..9fc62cb1ae01 100644 --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c @@ -749,7 +749,7 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork) phtpriv->ht_option = false; ptmp = rtw_get_ie(&pnetwork->network.ies[12], WLAN_EID_HT_CAPABILITY, &tmp_len, - pnetwork->network.ie_length - 12); + pnetwork->network.ie_length - 12); if (pregistrypriv->ht_enable && ptmp && tmp_len > 0) { /* Added by Albert 2010/06/23 */ From 2abd5824f23a47f63b13977e2f0c5b47b43dc191 Mon Sep 17 00:00:00 2001 From: Feiyu Wang Date: Wed, 7 Oct 2026 18:22:12 +0800 Subject: [PATCH 113/145] staging: rtl8723bs: fix logical continuation style Move logical operators to the end of the previous line to follow the kernel coding style, as reported by checkpatch.pl. Signed-off-by: Feiyu Wang Link: https://patch.msgid.link/20261007102212.112463-1-wangfeiyu_mc_code@163.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index 797c8529d5c6..91d98418c0c1 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -393,8 +393,8 @@ void rtw_cfg80211_indicate_connect(struct adapter *padapter) struct wlan_network *cur_network = &pmlmepriv->cur_network; struct wireless_dev *pwdev = padapter->rtw_wdev; - if (pwdev->iftype != NL80211_IFTYPE_STATION - && pwdev->iftype != NL80211_IFTYPE_P2P_CLIENT + if (pwdev->iftype != NL80211_IFTYPE_STATION && + pwdev->iftype != NL80211_IFTYPE_P2P_CLIENT ) { return; } @@ -462,8 +462,8 @@ void rtw_cfg80211_indicate_disconnect(struct adapter *padapter) struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct wireless_dev *pwdev = padapter->rtw_wdev; - if (pwdev->iftype != NL80211_IFTYPE_STATION - && pwdev->iftype != NL80211_IFTYPE_P2P_CLIENT + if (pwdev->iftype != NL80211_IFTYPE_STATION && + pwdev->iftype != NL80211_IFTYPE_P2P_CLIENT ) { return; } @@ -976,8 +976,8 @@ static int cfg80211_rtw_get_station(struct wiphy *wiphy, } /* for infra./P2PClient mode */ - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) - && check_fwstate(pmlmepriv, _FW_LINKED)) { + if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) && + check_fwstate(pmlmepriv, _FW_LINKED)) { struct wlan_network *cur_network = &pmlmepriv->cur_network; if (memcmp((u8 *)mac, cur_network->network.mac_address, ETH_ALEN)) { @@ -1512,9 +1512,9 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel } /* TKIP and AES disallow multicast packets until installing group key */ - if (padapter->securitypriv.dot11_privacy_algrthm == _TKIP_ - || padapter->securitypriv.dot11_privacy_algrthm == _TKIP_WTMIC_ - || padapter->securitypriv.dot11_privacy_algrthm == _AES_) + if (padapter->securitypriv.dot11_privacy_algrthm == _TKIP_ || + padapter->securitypriv.dot11_privacy_algrthm == _TKIP_WTMIC_ || + padapter->securitypriv.dot11_privacy_algrthm == _AES_) /* WPS open need to enable multicast */ /* check_fwstate(&padapter->mlmepriv, WIFI_UNDER_WPS) == true) */ rtw_hal_set_hwreg(padapter, HW_VAR_OFF_RCR_AM, null_addr); From 4cd5b75819e108dd725b001ba6c2fd61f419a930 Mon Sep 17 00:00:00 2001 From: Feiyu Wang Date: Wed, 7 Oct 2026 18:46:10 +0800 Subject: [PATCH 114/145] staging: rtl8723bs: remove multiple blank lines Remove redundant blank lines as reported by checkpatch.pl. Signed-off-by: Feiyu Wang Link: https://patch.msgid.link/20261007104610.128178-1-wangfeiyu_mc_code@163.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c index 6ef3a7198533..e18cb7fc93da 100644 --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c @@ -48,7 +48,6 @@ static void sd_sync_int_hdl(struct sdio_func *func) { struct dvobj_priv *psdpriv; - psdpriv = sdio_get_drvdata(func); if (!psdpriv->if1) @@ -216,7 +215,6 @@ static void sd_intf_stop(struct adapter *padapter) rtw_sdio_disable_interrupt(padapter); } - static struct adapter *rtw_sdio_if1_init(struct dvobj_priv *dvobj) { int status = _FAIL; @@ -250,7 +248,6 @@ static struct adapter *rtw_sdio_if1_init(struct dvobj_priv *dvobj) /* 4 3.1 set hardware operation functions */ rtw_set_hal_ops(padapter); - /* 3 5. initialize Chip version */ padapter->intf_start = &sd_intf_start; padapter->intf_stop = &sd_intf_stop; From 13f2b41cf3fd35fe9eca0f12d5e621145e6789c6 Mon Sep 17 00:00:00 2001 From: Pranav Desai Date: Wed, 7 Oct 2026 17:23:37 +0530 Subject: [PATCH 115/145] staging: rtl8723bs: use explicit types for lengths in rtw_security.c Replace 'uint' with explicit types for length variables in rtw_security.c based on how they are used: - aes_cipher(): use u16 for hdrlen and u32 for plen to match the fields in struct pkt_attrib. - aes_decipher(): use u8 for hdrlen to match struct rx_pkt_attrib. Use u32 for plen since it is calculated from a 32-bit packet length. Signed-off-by: Pranav Desai Link: https://patch.msgid.link/20261007115342.1121742-2-contact.pranavdesai@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_security.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index c6a23ddc419f..4e689cef38a1 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -780,8 +780,8 @@ static void construct_ctr_preload(u8 *ctr_preload, ctr_preload[15] = (unsigned char)(c % 256); } -static signed int aes_cipher(u8 *key, uint hdrlen, - u8 *pframe, uint plen) +static signed int aes_cipher(u8 *key, u16 hdrlen, + u8 *pframe, u32 plen) { uint qc_exists, a4_exists, i, j, payload_remainder, num_blocks, payload_index; @@ -980,8 +980,8 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) return res; } -static signed int aes_decipher(u8 *key, uint hdrlen, - u8 *pframe, uint plen) +static signed int aes_decipher(u8 *key, u8 hdrlen, + u8 *pframe, u32 plen) { static u8 message[MAX_MSG_SIZE]; uint qc_exists, a4_exists, i, j, payload_remainder, From 4751a8a7f9a509ddbeb533ceb9138fc6ea585cb1 Mon Sep 17 00:00:00 2001 From: Pranav Desai Date: Wed, 7 Oct 2026 17:23:38 +0530 Subject: [PATCH 116/145] staging: rtl8723bs: use bool for flags in rtw_security.c Replace 'uint' with 'bool' for the 'qc_exists' and 'a4_exists' variables since they are only used to track true/false state. Update their assignments from 1/0 to true/false to match the standard boolean type. Signed-off-by: Pranav Desai Link: https://patch.msgid.link/20261007115342.1121742-3-contact.pranavdesai@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_security.c | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 4e689cef38a1..f9b6c8f2a059 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -628,8 +628,8 @@ static void aes128k128d(u8 *key, u8 *data, u8 *ciphertext) /* nonce */ /************************************************/ static void construct_mic_iv(u8 *mic_iv, - signed int qc_exists, - signed int a4_exists, + bool qc_exists, + bool a4_exists, u8 *mpdu, uint payload_length, u8 *pn_vector, @@ -702,8 +702,8 @@ static void construct_mic_header1(u8 *mic_header1, /************************************************/ static void construct_mic_header2(u8 *mic_header2, u8 *mpdu, - signed int a4_exists, - signed int qc_exists) + bool a4_exists, + bool qc_exists) { signed int i; @@ -783,7 +783,8 @@ static void construct_ctr_preload(u8 *ctr_preload, static signed int aes_cipher(u8 *key, u16 hdrlen, u8 *pframe, u32 plen) { - uint qc_exists, a4_exists, i, j, payload_remainder, + bool qc_exists, a4_exists; + uint i, j, payload_remainder, num_blocks, payload_index; u8 pn_vector[6]; @@ -803,14 +804,14 @@ static signed int aes_cipher(u8 *key, u16 hdrlen, frsubtype = frsubtype >> 4; if ((hdrlen == WLAN_HDR_A3_LEN) || (hdrlen == WLAN_HDR_A3_QOS_LEN)) - a4_exists = 0; + a4_exists = false; else - a4_exists = 1; + a4_exists = true; if (((frtype | frsubtype) == WIFI_DATA_CFACK) || ((frtype | frsubtype) == WIFI_DATA_CFPOLL) || ((frtype | frsubtype) == WIFI_DATA_CFACKPOLL)) { - qc_exists = 1; + qc_exists = true; if (hdrlen != WLAN_HDR_A3_QOS_LEN) hdrlen += 2; @@ -822,9 +823,9 @@ static signed int aes_cipher(u8 *key, u16 hdrlen, if (hdrlen != WLAN_HDR_A3_QOS_LEN) hdrlen += 2; - qc_exists = 1; + qc_exists = true; } else { - qc_exists = 0; + qc_exists = false; } pn_vector[0] = pframe[hdrlen]; @@ -984,7 +985,8 @@ static signed int aes_decipher(u8 *key, u8 hdrlen, u8 *pframe, u32 plen) { static u8 message[MAX_MSG_SIZE]; - uint qc_exists, a4_exists, i, j, payload_remainder, + bool qc_exists, a4_exists; + uint i, j, payload_remainder, num_blocks, payload_index; signed int res = _SUCCESS; u8 pn_vector[6]; @@ -1018,14 +1020,14 @@ static signed int aes_decipher(u8 *key, u8 hdrlen, pn_vector[5] = pframe[hdrlen + 7]; if ((hdrlen == WLAN_HDR_A3_LEN) || (hdrlen == WLAN_HDR_A3_QOS_LEN)) - a4_exists = 0; + a4_exists = false; else - a4_exists = 1; + a4_exists = true; if (((frtype | frsubtype) == WIFI_DATA_CFACK) || ((frtype | frsubtype) == WIFI_DATA_CFPOLL) || ((frtype | frsubtype) == WIFI_DATA_CFACKPOLL)) { - qc_exists = 1; + qc_exists = true; if (hdrlen != WLAN_HDR_A3_QOS_LEN) hdrlen += 2; @@ -1037,9 +1039,9 @@ static signed int aes_decipher(u8 *key, u8 hdrlen, if (hdrlen != WLAN_HDR_A3_QOS_LEN) hdrlen += 2; - qc_exists = 1; + qc_exists = true; } else { - qc_exists = 0; + qc_exists = false; } /* now, decrypt pframe with hdrlen offset and plen long */ From 59ffe9fef1b166e9152f7862819dd4d8710f8bf5 Mon Sep 17 00:00:00 2001 From: Pranav Desai Date: Wed, 7 Oct 2026 17:23:39 +0530 Subject: [PATCH 117/145] staging: rtl8723bs: use u8 for frame types in rtw_security.c Replace 'uint' with 'u8' for the 'frtype' and 'frsubtype' variables in rtw_security.c. These variables are populated by the GetFrameType() and GetFrameSubType() macros, which read a 16-bit value but apply a bitwise mask (bits 2-3 for type, bits 2-7 for subtype). Because the highest possible value after masking is 252, these variables are guaranteed to fit within an 8-bit unsigned integer. Signed-off-by: Pranav Desai Link: https://patch.msgid.link/20261007115342.1121742-4-contact.pranavdesai@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_security.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index f9b6c8f2a059..0f4852aed4bf 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -633,7 +633,7 @@ static void construct_mic_iv(u8 *mic_iv, u8 *mpdu, uint payload_length, u8 *pn_vector, - uint frtype) + u8 frtype) { signed int i; @@ -669,7 +669,7 @@ static void construct_mic_iv(u8 *mic_iv, static void construct_mic_header1(u8 *mic_header1, signed int header_length, u8 *mpdu, - uint frtype) + u8 frtype) { mic_header1[0] = (u8)((header_length - 2) / 256); mic_header1[1] = (u8)((header_length - 2) % 256); @@ -752,7 +752,7 @@ static void construct_ctr_preload(u8 *ctr_preload, u8 *mpdu, u8 *pn_vector, signed int c, - uint frtype) + u8 frtype) { signed int i = 0; @@ -798,8 +798,8 @@ static signed int aes_cipher(u8 *key, u16 hdrlen, u8 aes_out[16] = {}; u8 padded_buffer[16] = {}; u8 mic[8]; - uint frtype = GetFrameType(pframe); - uint frsubtype = GetFrameSubType(pframe); + u8 frtype = GetFrameType(pframe); + u8 frsubtype = GetFrameSubType(pframe); frsubtype = frsubtype >> 4; @@ -1001,8 +1001,8 @@ static signed int aes_decipher(u8 *key, u8 hdrlen, u8 padded_buffer[16] = {}; u8 mic[8]; - uint frtype = GetFrameType(pframe); - uint frsubtype = GetFrameSubType(pframe); + u8 frtype = GetFrameType(pframe); + u8 frsubtype = GetFrameSubType(pframe); frsubtype = frsubtype >> 4; From 5c3a64105d2ff21f77b3735a3427259d43a3847b Mon Sep 17 00:00:00 2001 From: Pranav Desai Date: Wed, 7 Oct 2026 17:23:40 +0530 Subject: [PATCH 118/145] staging: rtl8723bs: use explicit types for math variables and iterators Replace 'uint' with explicit types for variables used in math operations and loops inside the aes_cipher() and aes_decipher() functions: - Change 'payload_remainder' to u8 because it is calculated as (plen % 16), which guarantees a range of 0-15. - Change 'payload_index' to u32 because it indexes into the payload, which is bounded by plen (u32). - Change 'num_blocks' to u32 since it is derived from 'plen' (u32). - Change loop iterators (i, j) to standard 'unsigned int'. Signed-off-by: Pranav Desai Link: https://patch.msgid.link/20261007115342.1121742-5-contact.pranavdesai@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_security.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 0f4852aed4bf..2067e7ef442b 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -784,8 +784,10 @@ static signed int aes_cipher(u8 *key, u16 hdrlen, u8 *pframe, u32 plen) { bool qc_exists, a4_exists; - uint i, j, payload_remainder, - num_blocks, payload_index; + u8 payload_remainder; + u32 payload_index; + u32 num_blocks; + unsigned int i, j; u8 pn_vector[6]; u8 mic_iv[16] = {}; @@ -986,8 +988,10 @@ static signed int aes_decipher(u8 *key, u8 hdrlen, { static u8 message[MAX_MSG_SIZE]; bool qc_exists, a4_exists; - uint i, j, payload_remainder, - num_blocks, payload_index; + u8 payload_remainder; + u32 payload_index; + u32 num_blocks; + unsigned int i, j; signed int res = _SUCCESS; u8 pn_vector[6]; u8 mic_iv[16] = {}; From 4771c78a190e34a9fd04e218358419d30e789ee8 Mon Sep 17 00:00:00 2001 From: Pranav Desai Date: Wed, 7 Oct 2026 17:23:41 +0530 Subject: [PATCH 119/145] staging: rtl8723bs: use u32 for payload_length in rtw_security.c Replace 'uint' with 'u32' for the 'payload_length' parameter in the construct_mic_iv() helper function. This parameter is passed directly from the 'plen' variable in the caller functions, which has been explicitly typed as u32. Signed-off-by: Pranav Desai Link: https://patch.msgid.link/20261007115342.1121742-6-contact.pranavdesai@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_security.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 2067e7ef442b..14c4edf41186 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -631,7 +631,7 @@ static void construct_mic_iv(u8 *mic_iv, bool qc_exists, bool a4_exists, u8 *mpdu, - uint payload_length, + u32 payload_length, u8 *pn_vector, u8 frtype) { From 68163adbb0def589178c74f13a6ffa37ca8cef9f Mon Sep 17 00:00:00 2001 From: Pranav Desai Date: Wed, 7 Oct 2026 17:23:42 +0530 Subject: [PATCH 120/145] staging: rtl8723bs: use u32 for length variables in rtw_BIP_verify() Replace 'uint' with 'u32' for the 'len' and 'ori_len' variables in the rtw_BIP_verify() function. These variables are calculated directly from 'pattrib->pkt_len', which is defined as a u32 in struct pkt_attrib. Explicitly typing them as u32 prevents potential bounds or overflow issues during subsequent length calculations. Signed-off-by: Pranav Desai Link: https://patch.msgid.link/20261007115342.1121742-7-contact.pranavdesai@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_security.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 14c4edf41186..ae64823afb8b 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -1272,7 +1272,7 @@ u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe) u8 *pframe; u8 *BIP_AAD, *p; u32 res = _FAIL; - uint len, ori_len; + u32 len, ori_len; struct ieee80211_hdr *pwlanhdr; u8 mic[16]; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; From 05d9b0b4e461be0a142eded4d796a19eb3a97045 Mon Sep 17 00:00:00 2001 From: "Cen Zhang (Microsoft)" Date: Wed, 7 Oct 2026 08:32:21 -0400 Subject: [PATCH 121/145] staging: rtl8723bs: hal: fix a multi-line comment in hal_btcoex.c The comment in the BTC_GET_BL_WIFI_SCAN switch case of halbtcoutsrc_Get() has coding style issues. Fix them by placing the opening and closing comment delimiters on separate lines, and keeping each line within 80 columns. Signed-off-by: Cen Zhang (Microsoft) Link: https://patch.msgid.link/20261007123221.60521-1-cenzhang@linux.microsoft.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/hal_btcoex.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/hal_btcoex.c b/drivers/staging/rtl8723bs/hal/hal_btcoex.c index a06e2e5b516c..d231b0277b76 100644 --- a/drivers/staging/rtl8723bs/hal/hal_btcoex.c +++ b/drivers/staging/rtl8723bs/hal/hal_btcoex.c @@ -290,8 +290,11 @@ static u8 halbtcoutsrc_Get(void *pBtcContext, u8 getType, void *pOutBuf) break; case BTC_GET_BL_WIFI_SCAN: - /* Use the value of the new variable GLBtcWiFiInScanState to judge whether WiFi is in scan state or not, since the originally used flag - WIFI_SITE_MONITOR in fwstate may not be cleared in time */ + /* + * Use the value of the new variable GLBtcWiFiInScanState to judge + * whether WiFi is in scan state or not, since the originally used + * flag WIFI_SITE_MONITOR in fwstate may not be cleared in time. + */ *pu8 = GLBtcWiFiInScanState; break; From b8569e8d510963a97a194012aa202fe3d4965605 Mon Sep 17 00:00:00 2001 From: Mohammed Sohail Date: Wed, 7 Oct 2026 21:51:14 +0530 Subject: [PATCH 122/145] staging: rtl8723bs: remove comparisons to true/false in rtw_mlme_ext.c Checkpatch reports "Using comparison to true/false is error prone" in rtw_mlme_ext.c. Replace "x == true" with "x" and "x == false" with "!x". bwmode_updated and bxmitok are u8, but they are only ever assigned true or false, so this does not change behavior. Signed-off-by: Mohammed Sohail Link: https://patch.msgid.link/20261007162114.138541-1-mohd.sohail.biz@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index 80194796a9f7..511eccf5b5a3 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -3457,7 +3457,7 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) if ((pmlmepriv->num_FortyMHzIntolerant == 0) || (pmlmepriv->num_sta_no_ht == 0)) return; - if (true == pmlmeinfo->bwmode_updated) + if (pmlmeinfo->bwmode_updated) return; category = RTW_WLAN_CATEGORY_PUBLIC; @@ -3625,7 +3625,7 @@ unsigned int send_beacon(struct adapter *padapter) !padapter->bSurpriseRemoved && !padapter->driver_stopped); - } while (false == bxmitok && issue < 100 && !padapter->bSurpriseRemoved && + } while (!bxmitok && issue < 100 && !padapter->bSurpriseRemoved && !padapter->driver_stopped); if (padapter->bSurpriseRemoved || padapter->driver_stopped) @@ -3868,7 +3868,7 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str bssid->configuration.atim_window = 0; /* 20/40 BSS Coexistence check */ - if ((pregistrypriv->wifi_spec == 1) && (false == pmlmeinfo->bwmode_updated)) { + if ((pregistrypriv->wifi_spec == 1) && (!pmlmeinfo->bwmode_updated)) { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_HT_CAPABILITY, &len, bssid->ie_length - ie_offset); From 5fb21929ddef7806c9ef76819613b14a0d8c4e6e Mon Sep 17 00:00:00 2001 From: Mohammed Sohail Date: Fri, 9 Oct 2026 00:24:14 +0530 Subject: [PATCH 123/145] staging: rtl8723bs: remove extern from recv and sta_info prototypes Function declarations in header files are implicitly extern, so the keyword is redundant. Remove it from the prototypes in rtw_recv.h and sta_info.h to follow the kernel coding style. There is no functional change. Signed-off-by: Mohammed Sohail Link: https://patch.msgid.link/20261008185414.160922-1-mohd.sohail.biz@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/rtw_recv.h | 16 ++++++++-------- drivers/staging/rtl8723bs/include/sta_info.h | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h index 75f75d574da4..f2fccd2289c9 100644 --- a/drivers/staging/rtl8723bs/include/rtw_recv.h +++ b/drivers/staging/rtl8723bs/include/rtw_recv.h @@ -303,14 +303,14 @@ enum { C2H_PACKET }; -extern union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */ -extern union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */ -extern int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue); +union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */ +union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */ +int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue); -extern int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue); -extern int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue); +int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue); +int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue); -extern void rtw_free_recvframe_queue(struct __queue *pframequeue, struct __queue *pfree_recv_queue); +void rtw_free_recvframe_queue(struct __queue *pframequeue, struct __queue *pfree_recv_queue); u32 rtw_free_uc_swdec_pending_queue(struct adapter *adapter); signed int rtw_enqueue_recvbuf_to_head(struct recv_buf *precvbuf, struct __queue *queue); @@ -421,8 +421,8 @@ static inline s32 translate_percentage_to_dbm(u32 SignalStrengthIndex) struct sta_info; -extern void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv); +void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv); -extern void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame); +void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame); #endif diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h index 59f17b67335e..c772d00677dd 100644 --- a/drivers/staging/rtl8723bs/include/sta_info.h +++ b/drivers/staging/rtl8723bs/include/sta_info.h @@ -304,19 +304,19 @@ static inline u32 wifi_mac_hash(u8 *mac) } -extern u32 _rtw_init_sta_priv(struct sta_priv *pstapriv); -extern u32 _rtw_free_sta_priv(struct sta_priv *pstapriv); +u32 _rtw_init_sta_priv(struct sta_priv *pstapriv); +u32 _rtw_free_sta_priv(struct sta_priv *pstapriv); #define stainfo_offset_valid(offset) (offset < NUM_STA && offset >= 0) int rtw_stainfo_offset(struct sta_priv *stapriv, struct sta_info *sta); struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv, int offset); -extern struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); -extern u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta); -extern void rtw_free_all_stainfo(struct adapter *padapter); -extern struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); -extern u32 rtw_init_bcmc_stainfo(struct adapter *padapter); -extern struct sta_info *rtw_get_bcmc_stainfo(struct adapter *padapter); -extern u8 rtw_access_ctrl(struct adapter *padapter, u8 *mac_addr); +struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); +u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta); +void rtw_free_all_stainfo(struct adapter *padapter); +struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); +u32 rtw_init_bcmc_stainfo(struct adapter *padapter); +struct sta_info *rtw_get_bcmc_stainfo(struct adapter *padapter); +u8 rtw_access_ctrl(struct adapter *padapter, u8 *mac_addr); #endif /* _STA_INFO_H_ */ From 62632f80ad1a593fda39c13eb82b9b34aa2a4a0f Mon Sep 17 00:00:00 2001 From: Feiyu Wang Date: Sun, 11 Oct 2026 14:56:24 +0800 Subject: [PATCH 124/145] staging: rtl8723bs: rename CamelCase variable wRxSeqInitialValue Rename wRxSeqInitialValue to rx_seq_initial_value to comply with kernel coding style. Found by checkpatch.pl strict. Signed-off-by: Feiyu Wang Link: https://patch.msgid.link/20261011065624.23494-1-wangfeiyu_mc_code@163.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_sta_mgt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c index 11351aa4f4d0..ba7e53140bdd 100644 --- a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c +++ b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c @@ -176,7 +176,7 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) struct __queue *pfree_sta_queue; struct recv_reorder_ctrl *preorder_ctrl; int i = 0; - u16 wRxSeqInitialValue = 0xffff; + u16 rx_seq_initial_value = 0xffff; pfree_sta_queue = &pstapriv->free_sta_queue; @@ -214,7 +214,7 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) /* So, we initialize the tid_rxseq variable as the 0xffff. */ for (i = 0; i < 16; i++) - memcpy(&psta->sta_recvpriv.rxcache.tid_rxseq[i], &wRxSeqInitialValue, 2); + memcpy(&psta->sta_recvpriv.rxcache.tid_rxseq[i], &rx_seq_initial_value, 2); timer_setup(&psta->addba_retry_timer, addba_timer_hdl, 0); From d3babb4eda4b674ea196b2f1827b78ab067a40e2 Mon Sep 17 00:00:00 2001 From: Hungyu Lin Date: Thu, 1 Oct 2026 12:42:52 +0000 Subject: [PATCH 125/145] staging: rtl8723bs: use errno in rtw_register_tx_alive() Replace the driver-specific _SUCCESS and _FAIL return values with 0 when TX can proceed and -EAGAIN when the firmware is not ready yet. Handle -EAGAIN explicitly in rtl8723bs_xmit_buf_handler(). The buffers remain queued and XMIT_ALIVE remains set so cpwm_int_hdl() can wake the TX thread for another attempt. Return _SUCCESS in this case to keep rtw_xmit_thread() running and waiting on xmit_comp; propagating -EAGAIN would terminate the thread. No functional change. Signed-off-by: Hungyu Lin Link: https://patch.msgid.link/20261001124252.7563-1-dennylin0707@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_pwrctrl.c | 13 ++++++------- drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c | 9 ++++++++- drivers/staging/rtl8723bs/include/rtw_pwrctrl.h | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c index 93a89712489e..c7c77b1df1f4 100644 --- a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c +++ b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c @@ -768,13 +768,12 @@ void rtw_unregister_task_alive(struct adapter *padapter, u32 task) * _SUCCESS rtw_xmit_thread can write fifo/txcmd afterwards. * _FAIL rtw_xmit_thread can not do anything. */ -s32 rtw_register_tx_alive(struct adapter *padapter) +int rtw_register_tx_alive(struct adapter *padapter) { - s32 res; + int ret = 0; struct pwrctrl_priv *pwrctrl; u8 pslv; - res = _SUCCESS; pwrctrl = adapter_to_pwrctl(padapter); pslv = PS_STATE_S2; @@ -785,7 +784,7 @@ s32 rtw_register_tx_alive(struct adapter *padapter) if (pwrctrl->fw_current_in_ps_mode) { if (pwrctrl->cpwm < pslv) { if (pwrctrl->cpwm < PS_STATE_S2) - res = _FAIL; + ret = -EAGAIN; if (pwrctrl->rpwm < pslv) rtw_set_rpwm(padapter, pslv); } @@ -793,11 +792,11 @@ s32 rtw_register_tx_alive(struct adapter *padapter) mutex_unlock(&pwrctrl->lock); - if (res == _FAIL) + if (ret) if (pwrctrl->cpwm >= PS_STATE_S2) - res = _SUCCESS; + ret = 0; - return res; + return ret; } /* diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c index 6624d2aac4bc..1c6ceba2b7ae 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c @@ -138,9 +138,16 @@ s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter) return _SUCCESS; ret = rtw_register_tx_alive(padapter); - if (ret != _SUCCESS) { + if (ret == -EAGAIN) { + /* + * Leave the buffers queued and XMIT_ALIVE registered so + * cpwm_int_hdl() can wake this thread for another attempt. + * Return success to keep the TX thread running. + */ return _SUCCESS; } + if (ret) + return _FAIL; do { queue_empty = rtl8723_dequeue_writeport(padapter); diff --git a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h index c308fcedd632..7c58e44d61d6 100644 --- a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h +++ b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h @@ -216,7 +216,7 @@ void rtw_free_pwrctrl_priv(struct adapter *adapter); s32 rtw_register_task_alive(struct adapter *adapter, u32 task); void rtw_unregister_task_alive(struct adapter *adapter, u32 task); -s32 rtw_register_tx_alive(struct adapter *padapter); +int rtw_register_tx_alive(struct adapter *padapter); void rtw_unregister_tx_alive(struct adapter *padapter); s32 rtw_register_cmd_alive(struct adapter *padapter); void rtw_unregister_cmd_alive(struct adapter *padapter); From 7a14346c4025037023911e09a3eb8af262014c46 Mon Sep 17 00:00:00 2001 From: Matheus Alves de Almeida Date: Fri, 2 Oct 2026 12:43:50 -0300 Subject: [PATCH 126/145] staging: rtl8723bs: return bool from check_pending_xmitbuf check_pending_xmitbuf() returns only true or false. To accurately describe the function's behavior, rename it to has_pending_xmitbuf() and change the return type to bool. Propagate the return type through one of the call chains. Signed-off-by: Matheus Alves de Almeida Link: https://patch.msgid.link/20261002154350.120639-1-matheus.aalmeida@inf.ufrgs.br Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_xmit.c | 16 +++++++--------- drivers/staging/rtl8723bs/hal/hal_intf.c | 2 +- drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c | 9 +++------ drivers/staging/rtl8723bs/include/hal_intf.h | 2 +- .../staging/rtl8723bs/include/rtl8723b_xmit.h | 2 +- drivers/staging/rtl8723bs/include/rtw_xmit.h | 2 +- 6 files changed, 14 insertions(+), 19 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index 4e2f96fc33e3..364de3c8d148 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -2464,37 +2464,35 @@ struct xmit_buf *dequeue_pending_xmitbuf_under_survey(struct xmit_priv *pxmitpri return pxmitbuf; } -signed int check_pending_xmitbuf(struct xmit_priv *pxmitpriv) +bool has_pending_xmitbuf(struct xmit_priv *pxmitpriv) { struct __queue *pqueue; - signed int ret = false; + bool xmitbuf_pending; pqueue = &pxmitpriv->pending_xmitbuf_queue; spin_lock_bh(&pqueue->lock); - if (!list_empty(&pqueue->queue)) - ret = true; + xmitbuf_pending = !list_empty(&pqueue->queue); spin_unlock_bh(&pqueue->lock); - return ret; + return xmitbuf_pending; } int rtw_xmit_thread(void *context) { - s32 err; + bool xmit_status; struct adapter *padapter; - err = _SUCCESS; padapter = context; allow_signal(SIGTERM); do { - err = rtw_hal_xmit_thread_handler(padapter); + xmit_status = rtw_hal_xmit_thread_handler(padapter); flush_signals_thread(); - } while (err == _SUCCESS); + } while (xmit_status == _SUCCESS); complete(&padapter->xmitpriv.terminate_xmitthread_comp); diff --git a/drivers/staging/rtl8723bs/hal/hal_intf.c b/drivers/staging/rtl8723bs/hal/hal_intf.c index 1443875d1369..9653ab3ad893 100644 --- a/drivers/staging/rtl8723bs/hal/hal_intf.c +++ b/drivers/staging/rtl8723bs/hal/hal_intf.c @@ -229,7 +229,7 @@ void beacon_timing_control(struct adapter *padapter) rtl8723b_SetBeaconRelatedRegisters(padapter); } -s32 rtw_hal_xmit_thread_handler(struct adapter *padapter) +bool rtw_hal_xmit_thread_handler(struct adapter *padapter) { return rtl8723bs_xmit_buf_handler(padapter); } diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c index 1c6ceba2b7ae..6ba004aa8112 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c @@ -115,11 +115,10 @@ static bool rtl8723_dequeue_writeport(struct adapter *padapter) *_SUCCESS ok *_FAIL something error */ -s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter) +bool rtl8723bs_xmit_buf_handler(struct adapter *padapter) { struct xmit_priv *pxmitpriv = &padapter->xmitpriv; bool queue_empty; - u8 queue_pending; s32 ret; if (wait_for_completion_interruptible(&pxmitpriv->xmit_comp)) { @@ -132,9 +131,7 @@ s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter) if (ret) return _FAIL; - queue_pending = check_pending_xmitbuf(pxmitpriv); - - if (!queue_pending) + if (!has_pending_xmitbuf(pxmitpriv)) return _SUCCESS; ret = rtw_register_tx_alive(padapter); @@ -206,7 +203,7 @@ static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv phwxmit = hwxmits + inx[idx]; if ( - (check_pending_xmitbuf(pxmitpriv)) && + (has_pending_xmitbuf(pxmitpriv)) && (padapter->mlmepriv.link_detect_info.higher_busy_tx_traffic) ) { if ((phwxmit->accnt > 0) && (phwxmit->accnt < 5)) { diff --git a/drivers/staging/rtl8723bs/include/hal_intf.h b/drivers/staging/rtl8723bs/include/hal_intf.h index 7b63116525ca..763ff6f3cb53 100644 --- a/drivers/staging/rtl8723bs/include/hal_intf.h +++ b/drivers/staging/rtl8723bs/include/hal_intf.h @@ -222,7 +222,7 @@ void rtw_hal_set_chnl_bw(struct adapter *padapter, u8 channel, enum channel_widt void rtw_hal_dm_watchdog(struct adapter *padapter); void rtw_hal_dm_watchdog_in_lps(struct adapter *padapter); -s32 rtw_hal_xmit_thread_handler(struct adapter *padapter); +bool rtw_hal_xmit_thread_handler(struct adapter *padapter); void rtw_hal_notch_filter(struct adapter *adapter, bool enable); diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h index d02ead67777a..acf0ac9e5a75 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h @@ -406,7 +406,7 @@ void rtl8723bs_free_xmit_priv(struct adapter *padapter); s32 rtl8723bs_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe); s32 rtl8723bs_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe); s32 rtl8723bs_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe); -s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter); +bool rtl8723bs_xmit_buf_handler(struct adapter *padapter); int rtl8723bs_xmit_thread(void *context); u8 BWMapping_8723B(struct adapter *Adapter, struct pkt_attrib *pattrib); diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h index d6970f244ed0..e33bd3b80cc1 100644 --- a/drivers/staging/rtl8723bs/include/rtw_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h @@ -432,7 +432,7 @@ void enqueue_pending_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmit void enqueue_pending_xmitbuf_to_head(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); struct xmit_buf *dequeue_pending_xmitbuf(struct xmit_priv *pxmitpriv); struct xmit_buf *dequeue_pending_xmitbuf_under_survey(struct xmit_priv *pxmitpriv); -signed int check_pending_xmitbuf(struct xmit_priv *pxmitpriv); +bool has_pending_xmitbuf(struct xmit_priv *pxmitpriv); int rtw_xmit_thread(void *context); u32 rtw_get_ff_hwaddr(struct xmit_frame *pxmitframe); From f1124ffde0749eaf910ad1e7ab4c7e9ed0449a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki=20Sobera=20Sotomayor?= Date: Tue, 6 Oct 2026 19:35:21 -0600 Subject: [PATCH 127/145] staging: rtl8723bs: remove unused EEPROM definitions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RTL8712_EEPROM_ID, HWSET_MAX_SIZE_128, HWSET_MAX_SIZE_256, CLOCK_RATE and the EEPROM_*_OPCODE macros are leftovers from the original vendor driver. None of them is referenced anywhere in the tree, so drop them. HWSET_MAX_SIZE_512 is left in place because EEPROM_MAX_SIZE expands to it. No functional change intended. Signed-off-by: Iñaki Sobera Sotomayor Link: https://patch.msgid.link/0c4bc57c3034233f330f620eeb03fd7d8f8de457.1791312824.git.inakisobera8@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/rtw_eeprom.h | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/rtw_eeprom.h b/drivers/staging/rtl8723bs/include/rtw_eeprom.h index 4294b021f1bd..92eea3e2e709 100644 --- a/drivers/staging/rtl8723bs/include/rtw_eeprom.h +++ b/drivers/staging/rtl8723bs/include/rtw_eeprom.h @@ -8,24 +8,12 @@ #define __RTW_EEPROM_H__ -#define RTL8712_EEPROM_ID 0x8712 /* define EEPROM_MAX_SIZE 256 */ -#define HWSET_MAX_SIZE_128 128 -#define HWSET_MAX_SIZE_256 256 #define HWSET_MAX_SIZE_512 512 #define EEPROM_MAX_SIZE HWSET_MAX_SIZE_512 -#define CLOCK_RATE 50 /* 100us */ - -/* EEPROM opcodes */ -#define EEPROM_READ_OPCODE 06 -#define EEPROM_WRITE_OPCODE 05 -#define EEPROM_ERASE_OPCODE 07 -#define EEPROM_EWEN_OPCODE 19 /* Erase/write enable */ -#define EEPROM_EWDS_OPCODE 16 /* Erase/write disable */ - /* Country codes */ #define USA 0x555320 #define EUROPE 0x1 /* temp, should be provided later */ From e6b71a873954d6193e1f40b1f095138ef9c73d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki=20Sobera=20Sotomayor?= Date: Tue, 6 Oct 2026 19:35:22 -0600 Subject: [PATCH 128/145] staging: rtl8723bs: remove unused PCI ASPM OSC definitions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RT_PCI_ASPM_OSC_IGNORE, RT_PCI_ASPM_OSC_ENABLE and RT_PCI_ASPM_OSC_DISABLE describe how PCI ASPM is arbitrated between the OS and the driver. This driver is SDIO only, it depends on MMC, and the macros are not referenced anywhere in the tree. Drop them along with their comment. No functional change intended. Signed-off-by: Iñaki Sobera Sotomayor Link: https://patch.msgid.link/8b372e2037cff170950c0dc0b94d7cdd78ba4c80.1791312824.git.inakisobera8@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/rtw_pwrctrl.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h index 7c58e44d61d6..3beb9c07d0b6 100644 --- a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h +++ b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h @@ -84,11 +84,6 @@ enum rt_rf_power_state { #define RT_CLEAR_PS_LEVEL(ppsc, _PS_FLAG) (ppsc->cur_ps_level &= (~(_PS_FLAG))) #define RT_SET_PS_LEVEL(ppsc, _PS_FLAG) (ppsc->cur_ps_level |= _PS_FLAG) -/* ASPM OSC Control bit, added by Roger, 2013.03.29. */ -#define RT_PCI_ASPM_OSC_IGNORE 0 /* PCI ASPM ignore OSC control in default */ -#define RT_PCI_ASPM_OSC_ENABLE BIT(0) /* PCI ASPM controlled by OS according to ACPI Spec 5.0 */ -#define RT_PCI_ASPM_OSC_DISABLE BIT(1) /* PCI ASPM controlled by driver or BIOS, i.e., force enable ASPM */ - enum { PSBBREG_RF0 = 0, PSBBREG_RF1, From 9ebd27164586bb47b8091471da189067b735d28c Mon Sep 17 00:00:00 2001 From: Wang Yibo Date: Tue, 13 Oct 2026 17:01:47 +0800 Subject: [PATCH 129/145] staging: rtl8723bs: remove unused defines in HalBtcOutSrc.h HalBtcOutSrc.h still defines a number of constants that no code in the driver ever references. They either describe hardware variants the RTL8723BS does not support - extra RF paths, dual-MAC/dual-PHY chips, MIMO power save modes, coupler antennas - or were simply never wired up: BTC_RF_OFF, BTC_RF_ON, BTC_RF_B, BTC_RF_C, BTC_RF_D BTC_DMDP, BTC_DMSP, BTC_MP_UNKNOWN BTC_MIMO_PS_STATIC, BTC_MIMO_PS_DYNAMIC BTC_RATE_DISABLE, BTC_RATE_ENABLE BTC_ANT_WIFI_AT_CPL_MAIN, BTC_ANT_WIFI_AT_CPL_AUX WIFI_HS_CONNECTED, BTC_RSSI_LOW Only BTC_RF_A is actually used, as the RF path argument of fBtcSetRfReg(). The "coupler Antenna definition" comment is removed together with the two defines it documented. No functional change intended. Signed-off-by: Wang Yibo Link: https://patch.msgid.link/20261013090147.374461-1-szwyb123@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h index c2ac06812bff..12ec83758e4b 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h +++ b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h @@ -10,29 +10,14 @@ #define NORMAL_EXEC false #define FORCE_EXEC true -#define BTC_RF_OFF 0x0 -#define BTC_RF_ON 0x1 - #define BTC_RF_A 0x0 -#define BTC_RF_B 0x1 -#define BTC_RF_C 0x2 -#define BTC_RF_D 0x3 #define BTC_SMSP SINGLEMAC_SINGLEPHY -#define BTC_DMDP DUALMAC_DUALPHY -#define BTC_DMSP DUALMAC_SINGLEPHY -#define BTC_MP_UNKNOWN 0xff #define BT_COEX_ANT_TYPE_PG 0 #define BT_COEX_ANT_TYPE_ANTDIV 1 #define BT_COEX_ANT_TYPE_DETECTED 2 -#define BTC_MIMO_PS_STATIC 0 /* 1ss */ -#define BTC_MIMO_PS_DYNAMIC 1 /* 2ss */ - -#define BTC_RATE_DISABLE 0 -#define BTC_RATE_ENABLE 1 - /* single Antenna definition */ #define BTC_ANT_PATH_WIFI 0 #define BTC_ANT_PATH_BT 1 @@ -40,9 +25,6 @@ /* dual Antenna definition */ #define BTC_ANT_WIFI_AT_MAIN 0 #define BTC_ANT_WIFI_AT_AUX 1 -/* coupler Antenna definition */ -#define BTC_ANT_WIFI_AT_CPL_MAIN 0 -#define BTC_ANT_WIFI_AT_CPL_AUX 1 enum { BTC_PS_WIFI_NATIVE = 0, /* wifi original power save behavior */ @@ -71,7 +53,6 @@ enum btc_chip_interface { /* following is for wifi link status */ #define WIFI_STA_CONNECTED BIT(0) #define WIFI_AP_CONNECTED BIT(1) -#define WIFI_HS_CONNECTED BIT(2) #define WIFI_P2P_GO_CONNECTED BIT(3) #define WIFI_P2P_GC_CONNECTED BIT(4) @@ -94,7 +75,6 @@ enum { }; #define BTC_RSSI_HIGH(_rssi_) ((_rssi_ == BTC_RSSI_STATE_HIGH || _rssi_ == BTC_RSSI_STATE_STAY_HIGH) ? true : false) #define BTC_RSSI_MEDIUM(_rssi_) ((_rssi_ == BTC_RSSI_STATE_MEDIUM || _rssi_ == BTC_RSSI_STATE_STAY_MEDIUM) ? true : false) -#define BTC_RSSI_LOW(_rssi_) ((_rssi_ == BTC_RSSI_STATE_LOW || _rssi_ == BTC_RSSI_STATE_STAY_LOW) ? true : false) enum { BTC_WIFI_BW_LEGACY = 0x0, From 67584d074bb1f5644708f72adedd3ca25a11280a Mon Sep 17 00:00:00 2001 From: Wang Yibo Date: Tue, 13 Oct 2026 17:29:08 +0800 Subject: [PATCH 130/145] staging: rtl8723bs: remove commented out code in hal/ files Remove commented out code in a few hal/ source files, including commented out switch case branches in odm.c, leftover debug statements in odm_DIG.c and stale assignments in hal_intf.c. The removed lines were already disabled and do not affect the generated code. Signed-off-by: Wang Yibo Link: https://patch.msgid.link/20261013092908.380050-1-szwyb123@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/hal_intf.c | 4 ---- drivers/staging/rtl8723bs/hal/odm.c | 22 ---------------------- drivers/staging/rtl8723bs/hal/odm_DIG.c | 11 ----------- 3 files changed, 37 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/hal_intf.c b/drivers/staging/rtl8723bs/hal/hal_intf.c index 9653ab3ad893..d47337118530 100644 --- a/drivers/staging/rtl8723bs/hal/hal_intf.c +++ b/drivers/staging/rtl8723bs/hal/hal_intf.c @@ -120,14 +120,10 @@ int rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe) int ret; update_mgntframe_attrib_addr(padapter, pmgntframe); - /* pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET; */ - /* pwlanhdr = (struct rtw_ieee80211_hdr *)pframe; */ - /* memcpy(pmgntframe->attrib.ra, pwlanhdr->addr1, ETH_ALEN); */ if (padapter->securitypriv.binstallBIPkey) { if (is_multicast_ether_addr(pmgntframe->attrib.ra)) { pmgntframe->attrib.encrypt = _BIP_; - /* pmgntframe->attrib.bswenc = true; */ } else { pmgntframe->attrib.encrypt = _AES_; pmgntframe->attrib.bswenc = true; diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c index d9002ff83143..9356ea858ddf 100644 --- a/drivers/staging/rtl8723bs/hal/odm.c +++ b/drivers/staging/rtl8723bs/hal/odm.c @@ -445,7 +445,6 @@ static void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm) FindMinimumRSSI(Adapter);/* get pdmpriv->MinUndecoratedPWDBForDM */ pDM_Odm->RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM; - /* ODM_CmnInfoUpdate(&pHalData->odmpriv , ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM); */ } static void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm) @@ -511,7 +510,6 @@ void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm) else pdmpriv->TxPowerTrackControl = false; - /* pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = true; */ pDM_Odm->RFCalibrateInfo.ThermalValue = pHalData->EEPROMThermalMeter; pDM_Odm->RFCalibrateInfo.ThermalValue_IQK = pHalData->EEPROMThermalMeter; pDM_Odm->RFCalibrateInfo.ThermalValue_LCK = pHalData->EEPROMThermalMeter; @@ -610,8 +608,6 @@ void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm) ODM_TXPowerTrackingCheck(pDM_Odm); - /* odm_EdcaTurboCheck(pDM_Odm); */ - /* 2010.05.30 LukeLee: For CE platform, files in IC subfolders may not be included to be compiled, */ /* so compile flags must be left here to prevent from compile errors */ pDM_Odm->PhyDbgInfo.NumQryBeaconPkt = 0; @@ -794,24 +790,6 @@ void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void pDM_Odm->mp_mode = pValue; break; - /* case ODM_CMNINFO_RTSTA_AID: */ - /* pDM_Odm->pAidMap = (u8 *)pValue; */ - /* break; */ - - /* case ODM_CMNINFO_BT_COEXIST: */ - /* pDM_Odm->BTCoexist = (bool *)pValue; */ - - /* case ODM_CMNINFO_STA_STATUS: */ - /* pDM_Odm->pODM_StaInfo[] = (PSTA_INFO_T)pValue; */ - /* break; */ - - /* case ODM_CMNINFO_PHY_STATUS: */ - /* pDM_Odm->pPhyInfo = (ODM_PHY_INFO *)pValue; */ - /* break; */ - - /* case ODM_CMNINFO_MAC_STATUS: */ - /* pDM_Odm->pMacInfo = (struct odm_mac_status_info *)pValue; */ - /* break; */ /* To remove the compiler warning, must add an empty default statement to handle the other values. */ default: /* do nothing */ diff --git a/drivers/staging/rtl8723bs/hal/odm_DIG.c b/drivers/staging/rtl8723bs/hal/odm_DIG.c index 44932b2c9f9f..b3745beb2621 100644 --- a/drivers/staging/rtl8723bs/hal/odm_DIG.c +++ b/drivers/staging/rtl8723bs/hal/odm_DIG.c @@ -68,8 +68,6 @@ void odm_NHMBBInit(void *pDM_VOID) void odm_NHMBB(void *pDM_VOID) { struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; - /* u8 test_status; */ - /* struct false_ALARM_STATISTICS *pFalseAlmCnt = &pDM_Odm->FalseAlmCnt; */ pDM_Odm->NHMCurTxOkcnt = *(pDM_Odm->pNumTxBytesUnicast)-pDM_Odm->NHMLastTxOkcnt; @@ -83,7 +81,6 @@ void odm_NHMBB(void *pDM_VOID) if ((pDM_Odm->NHMCurTxOkcnt) + 1 > (u64)(pDM_Odm->NHMCurRxOkcnt<<2) + 1) { /* Tx > 4*Rx possible for adaptivity test */ if (pDM_Odm->NHM_cnt_0 >= 190 || pDM_Odm->adaptivity_flag) { /* Enable EDCCA since it is possible running Adaptivity testing */ - /* test_status = 1; */ pDM_Odm->adaptivity_flag = true; pDM_Odm->tolerance_cnt = 0; } else { @@ -91,24 +88,19 @@ void odm_NHMBB(void *pDM_VOID) pDM_Odm->tolerance_cnt = pDM_Odm->tolerance_cnt + 1; else pDM_Odm->tolerance_cnt = 4; - /* test_status = 5; */ if (pDM_Odm->tolerance_cnt > 3) { - /* test_status = 3; */ pDM_Odm->adaptivity_flag = false; } } } else { /* TXadaptivity_flag && pDM_Odm->NHM_cnt_0 <= 200) { - /* test_status = 2; */ pDM_Odm->tolerance_cnt = 0; } else { if (pDM_Odm->tolerance_cnt < 3) pDM_Odm->tolerance_cnt = pDM_Odm->tolerance_cnt + 1; else pDM_Odm->tolerance_cnt = 4; - /* test_status = 5; */ if (pDM_Odm->tolerance_cnt > 3) { - /* test_status = 4; */ pDM_Odm->adaptivity_flag = false; } } @@ -585,7 +577,6 @@ void odm_DIGbyRSSI_LPS(void *pDM_VOID) CurrentIGI = RSSI_Lower; ODM_Write_DIG(pDM_Odm, CurrentIGI); - /* ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); */ } /* 3 ============================================================ */ @@ -708,10 +699,8 @@ u8 odm_ForbiddenIGICheck(void *pDM_VOID, u8 DIG_Dynamic_MIN, u8 CurrentIGI) if (pDM_DigTable->LargeFAHit != 3) pDM_DigTable->LargeFAHit++; - /* if (pDM_DigTable->ForbiddenIGI < pDM_DigTable->CurIGValue) */ if (pDM_DigTable->ForbiddenIGI < CurrentIGI) { pDM_DigTable->ForbiddenIGI = CurrentIGI; - /* pDM_DigTable->ForbiddenIGI = pDM_DigTable->CurIGValue; */ pDM_DigTable->LargeFAHit = 1; } From b269cadb8e3d23b6f34030fb03b5c322b6ba19fe Mon Sep 17 00:00:00 2001 From: Wang Yibo Date: Tue, 13 Oct 2026 17:57:07 +0800 Subject: [PATCH 131/145] staging: rtl8723bs: remove unused defines in odm.h hal/odm.h still defines several constants that no code in the driver ever references: BAND_NUM, AFH_PSD, Adaptive_SIR ANTTESTALL, ANTTESTA, ANTTESTB AUX_ANT They come from the PSD and antenna-diversity sections of the vendor ODM code and were never wired up for the RTL8723BS. The "/* ANT Test */" comment is removed together with the defines it introduced. No functional change intended. Signed-off-by: Wang Yibo Link: https://patch.msgid.link/20261013095707.387341-1-szwyb123@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/odm.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h index f2570b49bea9..d0c47a2cbca8 100644 --- a/drivers/staging/rtl8723bs/hal/odm.h +++ b/drivers/staging/rtl8723bs/hal/odm.h @@ -29,12 +29,10 @@ #define TXSCALE_TABLE_SIZE 37 #define TXPWR_TRACK_TABLE_SIZE 30 #define DELTA_SWINGIDX_SIZE 30 -#define BAND_NUM 4 /* 3 PSD Handler */ /* 3 ============================================================ */ -#define AFH_PSD 1 /* 0:normal PSD scan, 1: only do 20 pts PSD */ #define MODE_40M 0 /* 0:20M, 1:40M */ #define PSD_TH2 3 #define PSD_CHMIN 20 /* Minimum channel number for BT AFH */ @@ -46,7 +44,6 @@ #define Smooth_Size_3 20 #define Smooth_TH_3 4 #define Smooth_Step_Size 5 -#define Adaptive_SIR 1 #define PSD_RESCAN 4 #define PSD_SCAN_INTERVAL 700 /* ms */ From b8cb5f7f6de5dc33e82a477e5c81a965949f829c Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Tue, 6 Oct 2026 16:13:35 -0700 Subject: [PATCH 132/145] greybus: Discard pm_runtime_put_autosuspend() return value Returning an error code from pm_runtime_put_autosuspend() merely means that it has not queued up a timer or work item to check whether or not the device can be suspended and there are many perfectly valid situations in which that can happen, like after writing "on" to the device's runtime PM "control" attribute in sysfs for one example. Modify gb_pm_runtime_put_autosuspend() to discard the pm_runtime_put_autosuspend() return value, change its return type to void, and update its caller in the Greybus power supply driver accordingly. Also drop the redundant pm_runtime_mark_last_busy() call from gb_pm_runtime_put_autosuspend() while we're here, as this is already part of pm_runtime_put_autosuspend(). Note that this resolves a bug in the power_supply driver: in tracking 'gbpsy->pm_acquired', it erroneously assumed that pm_runtime_put_autosuspend() would not release a refcount when it returned a non-zero value. That's a false assumption. This will facilitate a planned change of the pm_runtime_put_autosuspend() return type to void in the future, similar to commit 3afd8df02433 ("PM: runtime: Change pm_runtime_put() return type to void"). Signed-off-by: Brian Norris Reviewed-by: Alex Elder Link: https://patch.msgid.link/20261006161337.7.Ib0925681ca623093ddf812cc4de848e10ec07c73@changeid Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/power_supply.c | 8 ++------ include/linux/greybus/bundle.h | 12 +++--------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/drivers/staging/greybus/power_supply.c b/drivers/staging/greybus/power_supply.c index 44bd8a72fa50..beefcbaf3681 100644 --- a/drivers/staging/greybus/power_supply.c +++ b/drivers/staging/greybus/power_supply.c @@ -377,12 +377,8 @@ static void gb_power_supply_state_change(struct gb_power_supply *gbpsy, gbpsy->pm_acquired = true; } else { if (gbpsy->pm_acquired) { - ret = gb_pm_runtime_put_autosuspend(connection->bundle); - if (ret) - dev_err(&connection->bundle->dev, - "Fail to set wake unlock for none charging\n"); - else - gbpsy->pm_acquired = false; + gb_pm_runtime_put_autosuspend(connection->bundle); + gbpsy->pm_acquired = false; } } diff --git a/include/linux/greybus/bundle.h b/include/linux/greybus/bundle.h index df8d88424cb7..361a94d3499b 100644 --- a/include/linux/greybus/bundle.h +++ b/include/linux/greybus/bundle.h @@ -59,14 +59,9 @@ static inline int gb_pm_runtime_get_sync(struct gb_bundle *bundle) return 0; } -static inline int gb_pm_runtime_put_autosuspend(struct gb_bundle *bundle) +static inline void gb_pm_runtime_put_autosuspend(struct gb_bundle *bundle) { - int retval; - - pm_runtime_mark_last_busy(&bundle->dev); - retval = pm_runtime_put_autosuspend(&bundle->dev); - - return retval; + pm_runtime_put_autosuspend(&bundle->dev); } static inline void gb_pm_runtime_get_noresume(struct gb_bundle *bundle) @@ -82,8 +77,7 @@ static inline void gb_pm_runtime_put_noidle(struct gb_bundle *bundle) #else static inline int gb_pm_runtime_get_sync(struct gb_bundle *bundle) { return 0; } -static inline int gb_pm_runtime_put_autosuspend(struct gb_bundle *bundle) -{ return 0; } +static inline void gb_pm_runtime_put_autosuspend(struct gb_bundle *bundle) {} static inline void gb_pm_runtime_get_noresume(struct gb_bundle *bundle) {} static inline void gb_pm_runtime_put_noidle(struct gb_bundle *bundle) {} From 6b4b1460f052b9467038efbea9d69d632caed82b Mon Sep 17 00:00:00 2001 From: "Cen Zhang (Microsoft)" Date: Fri, 9 Oct 2026 11:45:26 -0400 Subject: [PATCH 133/145] staging: fbtft: update outdated struct fbtft_ops comment Correct struct fbtft_ops outdated kernel-doc comment: 1) update field write_reg to write_register; 2) remove non-existing field free_gpios. Signed-off-by: Cen Zhang (Microsoft) Reviewed-by: Andy Shevchenko Link: https://patch.msgid.link/20261009154526.43528-1-cenzhang@linux.microsoft.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/fbtft/fbtft.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/fbtft/fbtft.h b/drivers/staging/fbtft/fbtft.h index c7afb0fd3943..40a7567df1eb 100644 --- a/drivers/staging/fbtft/fbtft.h +++ b/drivers/staging/fbtft/fbtft.h @@ -37,7 +37,7 @@ struct fbtft_par; * @write: Writes to interface bus * @read: Reads from interface bus * @write_vmem: Writes video memory to display - * @write_reg: Writes to controller register + * @write_register: Writes to controller register * @set_addr_win: Set the GRAM update window * @reset: Reset the LCD controller * @mkdirty: Marks display lines for update @@ -46,7 +46,6 @@ struct fbtft_par; * @blank: Blank the display (optional) * @request_gpios_match: Do pinname to gpio matching * @request_gpios: Request gpios from the kernel - * @free_gpios: Free previously requested gpios * @verify_gpios: Verify that necessary gpios is present (optional) * @register_backlight: Used to register backlight device (optional) * @unregister_backlight: Unregister backlight device (optional) From f0a9ff09ee6de4b89ac5ede2af47c81432391bb8 Mon Sep 17 00:00:00 2001 From: "Cen Zhang (Microsoft)" Date: Fri, 9 Oct 2026 02:31:56 -0400 Subject: [PATCH 134/145] staging: nvec: fix GPIO descriptor documentation The kernel-doc for struct nvec_chip still refers to the old gpio member and to struct nvec_platform_data, which no longer exists. Rename the documented member to gpiod and describe its role as the GPIO descriptor for the embedded controller request line. Signed-off-by: Cen Zhang (Microsoft) Link: https://patch.msgid.link/20261009063156.28306-1-cenzhang@linux.microsoft.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/nvec/nvec.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/nvec/nvec.h b/drivers/staging/nvec/nvec.h index 80c0353f141c..5ef959352338 100644 --- a/drivers/staging/nvec/nvec.h +++ b/drivers/staging/nvec/nvec.h @@ -102,7 +102,7 @@ struct nvec_msg { /** * struct nvec_chip - A single connection to an NVIDIA Embedded controller * @dev: The device - * @gpio: The same as for &struct nvec_platform_data + * @gpiod: GPIO descriptor for the embedded controller request line * @irq: The IRQ of the I2C device * @i2c_addr: The address of the I2C slave * @base: The base of the memory mapped region of the I2C device From d32a1e175c299eea372a8954c086bcdedbe54e53 Mon Sep 17 00:00:00 2001 From: "Cen Zhang (Microsoft)" Date: Fri, 9 Oct 2026 11:27:43 -0400 Subject: [PATCH 135/145] staging: octeon: fix misuse of kernel-doc comment The comment above struct octeon_ethernet starts with /** but its current content does not follow kernel-doc syntax. Use /* instead of /** to keep the existing description as a regular block comment. Signed-off-by: Cen Zhang (Microsoft) Link: https://patch.msgid.link/20261009152743.39401-1-cenzhang@linux.microsoft.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/octeon/octeon-ethernet.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/octeon/octeon-ethernet.h b/drivers/staging/octeon/octeon-ethernet.h index 0ac430db1e6e..de27fae47931 100644 --- a/drivers/staging/octeon/octeon-ethernet.h +++ b/drivers/staging/octeon/octeon-ethernet.h @@ -43,7 +43,7 @@ #endif -/** +/* * This is the definition of the Ethernet driver's private * driver state stored in netdev_priv(dev). */ From ec1ecf4f23c5c8187f25a367be70fe585e5e4a08 Mon Sep 17 00:00:00 2001 From: Yalagada Pavan Kumar Date: Tue, 13 Oct 2026 07:54:02 +0530 Subject: [PATCH 136/145] staging: greybus: replace PTR_ERR() with %pe in error messages Use %pe to print error pointers directly and display their error names. Keep the other PTR_ERR() call because its return value is needed for ret. Signed-off-by: Yalagada Pavan Kumar Link: https://patch.msgid.link/20261013022402.6322-1-pavankumaryalagada@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/fw-core.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/staging/greybus/fw-core.c b/drivers/staging/greybus/fw-core.c index 2016a74f137f..78321be80013 100644 --- a/drivers/staging/greybus/fw-core.c +++ b/drivers/staging/greybus/fw-core.c @@ -93,8 +93,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle, if (IS_ERR(connection)) { ret = PTR_ERR(connection); dev_err(&bundle->dev, - "failed to create management connection (%d)\n", - ret); + "failed to create management connection (%pe)\n", + connection); goto err_destroy_connections; } @@ -112,8 +112,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle, connection = gb_connection_create(bundle, cport_id, gb_fw_download_request_handler); if (IS_ERR(connection)) { - dev_err(&bundle->dev, "failed to create download connection (%ld)\n", - PTR_ERR(connection)); + dev_err(&bundle->dev, "failed to create download connection (%pe)\n", + connection); } else { fw_core->download_connection = connection; } @@ -131,8 +131,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle, connection = gb_connection_create(bundle, cport_id, NULL); if (IS_ERR(connection)) { - dev_err(&bundle->dev, "failed to create SPI connection (%ld)\n", - PTR_ERR(connection)); + dev_err(&bundle->dev, "failed to create SPI connection (%pe)\n", + connection); } else { fw_core->spi_connection = connection; } @@ -149,8 +149,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle, connection = gb_connection_create(bundle, cport_id, NULL); if (IS_ERR(connection)) { - dev_err(&bundle->dev, "failed to create Authentication connection (%ld)\n", - PTR_ERR(connection)); + dev_err(&bundle->dev, "failed to create Authentication connection (%pe)\n", + connection); } else { fw_core->cap_connection = connection; } From 3228900f80c24f0ce8d52d924a44f54e2b355f9b Mon Sep 17 00:00:00 2001 From: Jeremy Dean Clifton Date: Tue, 13 Oct 2026 18:17:06 +0000 Subject: [PATCH 137/145] staging: greybus: Remove unused function 'to_fw_mgmt_connection' Remove unused function from greybus driver to_fw_mgmt_connection. This function is not exported or called from anywhere tree-wide. Confirmed with git grep and cscope. Signed-off-by: Jeremy Dean Clifton Reviewed-by: Alex Elder Link: https://patch.msgid.link/20261013181707.29830-1-deaner92@yahoo.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/fw-core.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/staging/greybus/fw-core.c b/drivers/staging/greybus/fw-core.c index 78321be80013..46b35ef55090 100644 --- a/drivers/staging/greybus/fw-core.c +++ b/drivers/staging/greybus/fw-core.c @@ -21,13 +21,6 @@ struct gb_fw_core { static struct spilib_ops *spilib_ops; -struct gb_connection *to_fw_mgmt_connection(struct device *dev) -{ - struct gb_fw_core *fw_core = dev_get_drvdata(dev); - - return fw_core->mgmt_connection; -} - static int gb_fw_spi_connection_init(struct gb_connection *connection) { int ret; From ac086c03d031832ea3f1cf6c306812b50355c770 Mon Sep 17 00:00:00 2001 From: Riccardo Oliva Date: Sun, 11 Oct 2026 22:40:20 -0500 Subject: [PATCH 138/145] staging: vme_user: avoid iterator variable access outside list loop In vme_slave_request(), vme_master_request(), vme_dma_request(), and vme_lm_request(), the list iterators (slave_image, master_image, dma_ctrlr, and lm) are accessed in the err_alloc error paths after exiting the list_for_each_entry() loops. While the iterator variable retains its pointer value upon hitting a break, accessing list iterators outside the loop body violates modern kernel coding standards. Fix this by referencing the dedicated allocated resource pointers (allocated_image, allocated_ctrlr, allocated_lm) in the error cleanup blocks instead. Signed-off-by: Riccardo Oliva Link: https://patch.msgid.link/20261012034020.100737-1-oliva.scorza@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vme_user/vme.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/staging/vme_user/vme.c b/drivers/staging/vme_user/vme.c index b5c66b66ce32..d38c792eb890 100644 --- a/drivers/staging/vme_user/vme.c +++ b/drivers/staging/vme_user/vme.c @@ -298,9 +298,9 @@ struct vme_resource *vme_slave_request(struct vme_dev *vdev, u32 address, err_alloc: /* Unlock image */ - mutex_lock(&slave_image->mtx); - slave_image->locked = 0; - mutex_unlock(&slave_image->mtx); + mutex_lock(&allocated_image->mtx); + allocated_image->locked = 0; + mutex_unlock(&allocated_image->mtx); err_image: err_bus: return NULL; @@ -495,9 +495,9 @@ struct vme_resource *vme_master_request(struct vme_dev *vdev, u32 address, err_alloc: /* Unlock image */ - spin_lock(&master_image->lock); - master_image->locked = 0; - spin_unlock(&master_image->lock); + spin_lock(&allocated_image->lock); + allocated_image->locked = 0; + spin_unlock(&allocated_image->lock); err_image: err_bus: return NULL; @@ -865,9 +865,9 @@ struct vme_resource *vme_dma_request(struct vme_dev *vdev, u32 route) err_alloc: /* Unlock image */ - mutex_lock(&dma_ctrlr->mtx); - dma_ctrlr->locked = 0; - mutex_unlock(&dma_ctrlr->mtx); + mutex_lock(&allocated_ctrlr->mtx); + allocated_ctrlr->locked = 0; + mutex_unlock(&allocated_ctrlr->mtx); err_ctrlr: err_bus: return NULL; @@ -1469,9 +1469,9 @@ struct vme_resource *vme_lm_request(struct vme_dev *vdev) err_alloc: /* Unlock image */ - mutex_lock(&lm->mtx); - lm->locked = 0; - mutex_unlock(&lm->mtx); + mutex_lock(&allocated_lm->mtx); + allocated_lm->locked = 0; + mutex_unlock(&allocated_lm->mtx); err_lm: err_bus: return NULL; From cccafd0f36d8c30d4dcbdce26971dab15e8ab25b Mon Sep 17 00:00:00 2001 From: Wang Yibo Date: Tue, 13 Oct 2026 22:29:28 +0800 Subject: [PATCH 139/145] staging: most: fix typo in driver_usage.txt Fix a spelling mistake in the ALSA component description of the application layer section: 'can by used' should be 'can be used'. The same typo was fixed for the networking and V4L2 sections by commit b114ef1efc49 ("staging: most: fix typos in driver_usage.txt"), but this third occurrence was missed. Signed-off-by: Wang Yibo Link: https://patch.msgid.link/20261013142928.443858-1-szwyb123@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/most/Documentation/driver_usage.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/most/Documentation/driver_usage.txt b/drivers/staging/most/Documentation/driver_usage.txt index f1b6977f4543..32a2e5ecb48b 100644 --- a/drivers/staging/most/Documentation/driver_usage.txt +++ b/drivers/staging/most/Documentation/driver_usage.txt @@ -109,7 +109,7 @@ following components are available driver via the V4L subsystem. 4) Advanced Linux Sound Architecture (ALSA) - Standard sound applications (e.g. aplay, arecord, audacity) can by + Standard sound applications (e.g. aplay, arecord, audacity) can be used to access the driver via the ALSA subsystem. From 69bf6c34492c7bc5fdb4edd57c595ade13f18b18 Mon Sep 17 00:00:00 2001 From: Jeremy Dean Clifton Date: Thu, 15 Oct 2026 02:07:31 +0000 Subject: [PATCH 140/145] staging: greybus: Remove unused header declaration to_fw_mgmt_connection Commit 3228900f80c2 ("staging: greybus: Remove unused function 'to_fw_mgmt_connection'") removed a function definition but did not remove the function prototype. Remove the prototype. Signed-off-by: Jeremy Dean Clifton Reviewed-by: Alex Elder Link: https://patch.msgid.link/20261015020731.98150-1-deaner92@yahoo.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/firmware.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/greybus/firmware.h b/drivers/staging/greybus/firmware.h index 5d2564462ffc..04a67d2d5b8f 100644 --- a/drivers/staging/greybus/firmware.h +++ b/drivers/staging/greybus/firmware.h @@ -22,7 +22,6 @@ /* Firmware Management Protocol specific functions */ int fw_mgmt_init(void); void fw_mgmt_exit(void); -struct gb_connection *to_fw_mgmt_connection(struct device *dev); int gb_fw_mgmt_request_handler(struct gb_operation *op); int gb_fw_mgmt_connection_init(struct gb_connection *connection); void gb_fw_mgmt_connection_exit(struct gb_connection *connection); From 58c928a77cbf808b5ff49668e0f82a9414479cea Mon Sep 17 00:00:00 2001 From: Okhuomon Ajayi Date: Thu, 15 Oct 2026 22:35:42 +0100 Subject: [PATCH 141/145] staging: greybus: uart: fix argument alignment Align the msecs_to_jiffies() argument with the opening parenthesis of wait_for_completion_timeout() to address the checkpatch alignment warning. Signed-off-by: Okhuomon Ajayi Link: https://patch.msgid.link/20261015213542.68994-1-okhuomonajayi54@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/uart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/greybus/uart.c b/drivers/staging/greybus/uart.c index d47f00751e7a..2448fc9098d6 100644 --- a/drivers/staging/greybus/uart.c +++ b/drivers/staging/greybus/uart.c @@ -317,7 +317,7 @@ static int gb_uart_wait_for_all_credits(struct gb_tty *gb_tty) return 0; ret = wait_for_completion_timeout(&gb_tty->credits_complete, - msecs_to_jiffies(GB_UART_CREDIT_WAIT_TIMEOUT_MSEC)); + msecs_to_jiffies(GB_UART_CREDIT_WAIT_TIMEOUT_MSEC)); if (!ret) { dev_err(&gb_tty->gbphy_dev->dev, "time out waiting for credits\n"); From 73883f977783b1f5d3b97b87692fbdb59332ecc7 Mon Sep 17 00:00:00 2001 From: Yalagada Pavan Kumar Date: Sat, 17 Oct 2026 14:14:41 +0530 Subject: [PATCH 142/145] staging: greybus: Align function arguments Align the function arguments to follow the coding style and improve readability, addressing the alignment warning reported by checkpatch.pl Signed-off-by: Yalagada Pavan Kumar Link: https://patch.msgid.link/20261017084441.12123-1-pavankumaryalagada@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/loopback.c | 3 ++- drivers/staging/greybus/spilib.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c index fe48a687377a..efc69c10cffe 100644 --- a/drivers/staging/greybus/loopback.c +++ b/drivers/staging/greybus/loopback.c @@ -652,7 +652,8 @@ static int gb_loopback_request_handler(struct gb_operation *operation) } if (!gb_operation_response_alloc(operation, - len + sizeof(*response), GFP_KERNEL)) { + len + sizeof(*response), + GFP_KERNEL)) { dev_err(dev, "error allocating response\n"); return -ENOMEM; } diff --git a/drivers/staging/greybus/spilib.c b/drivers/staging/greybus/spilib.c index e4d1ae8308aa..c1982f3fb931 100644 --- a/drivers/staging/greybus/spilib.c +++ b/drivers/staging/greybus/spilib.c @@ -160,7 +160,8 @@ static struct spi_transfer *get_next_xfer(struct spi_transfer *xfer, /* Routines to transfer data */ static struct gb_operation *gb_spi_operation_create(struct gb_spilib *spi, - struct gb_connection *connection, struct spi_message *msg) + struct gb_connection *connection, + struct spi_message *msg) { struct gb_spi_transfer_request *request; struct spi_device *dev = msg->spi; From f860a36ce0e34f8e15ec016b5c1851c6cf80c48c Mon Sep 17 00:00:00 2001 From: Kirill Repin Date: Wed, 14 Oct 2026 22:04:51 +0300 Subject: [PATCH 143/145] staging: rtl8723bs: remove spaces before tabs in hal_com_reg.h Remove spaces placed before tabs in comments to fix checkpatch warnings: WARNING: please, no space before tabs No functional change. Signed-off-by: Kirill Repin Link: https://patch.msgid.link/20261014-rtl8723bs-space-before-tab-v1-1-fbd73c6a995a@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/include/hal_com_reg.h | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/hal_com_reg.h b/drivers/staging/rtl8723bs/include/hal_com_reg.h index 352280ed3c56..23803d48a559 100644 --- a/drivers/staging/rtl8723bs/include/hal_com_reg.h +++ b/drivers/staging/rtl8723bs/include/hal_com_reg.h @@ -7,7 +7,7 @@ #ifndef __HAL_COMMON_REG_H__ #define __HAL_COMMON_REG_H__ -/* 0x0000h ~ 0x00FFh System Configuration */ +/* 0x0000h ~ 0x00FFh System Configuration */ #define REG_SYS_FUNC_EN 0x0002 #define REG_APS_FSMCO 0x0004 #define REG_SYS_CLKR 0x0008 @@ -32,7 +32,7 @@ #define REG_SYS_CFG 0x00F0 #define REG_GPIO_OUTSTS 0x00F4 /* For RTL8723 only. */ -/* 0x0100h ~ 0x01FFh MACTOP General Configuration */ +/* 0x0100h ~ 0x01FFh MACTOP General Configuration */ #define REG_CR 0x0100 #define REG_PBP 0x0104 #define REG_TRXDMA_CTRL 0x010C @@ -45,18 +45,18 @@ #define REG_HMETFR 0x01CC #define REG_HMEBOX_0 0x01D0 -/* 0x0200h ~ 0x027Fh TXDMA Configuration */ +/* 0x0200h ~ 0x027Fh TXDMA Configuration */ #define REG_RQPN 0x0200 #define REG_TDECTRL 0x0208 #define REG_TXDMA_STATUS 0x0210 #define REG_RQPN_NPQ 0x0214 #define REG_AUTO_LLT 0x0224 -/* 0x0280h ~ 0x02FFh RXDMA Configuration */ +/* 0x0280h ~ 0x02FFh RXDMA Configuration */ #define REG_RXDMA_AGG_PG_TH 0x0280 #define REG_RXPKT_NUM 0x0284 -/* 0x0400h ~ 0x047Fh Protocol Configuration */ +/* 0x0400h ~ 0x047Fh Protocol Configuration */ #define REG_TXPKT_EMPTY 0x041A #define REG_FWHW_TXQ_CTRL 0x0420 #define REG_HWSEQ_CTRL 0x0423 @@ -71,7 +71,7 @@ #define REG_MACID_SLEEP 0x04D4 #define REG_NQOS_SEQ 0x04DC -/* 0x0500h ~ 0x05FFh EDCA Configuration */ +/* 0x0500h ~ 0x05FFh EDCA Configuration */ #define REG_EDCA_VO_PARAM 0x0500 #define REG_EDCA_VI_PARAM 0x0504 #define REG_EDCA_BE_PARAM 0x0508 @@ -85,14 +85,14 @@ #define REG_RD_CTRL 0x0524 /* Format for offset 540h-542h: */ -/* [3:0]: TBTT prohibit setup in unit of 32us. The time for HW getting beacon content before TBTT. */ -/* [7:4]: Reserved. */ -/* [19:8]: TBTT prohibit hold in unit of 32us. The time for HW holding to send the beacon packet. */ -/* [23:20]: Reserved */ +/* [3:0]: TBTT prohibit setup in unit of 32us. The time for HW getting beacon content before TBTT. */ +/* [7:4]: Reserved. */ +/* [19:8]: TBTT prohibit hold in unit of 32us. The time for HW holding to send the beacon packet. */ +/* [23:20]: Reserved */ /* Description: */ -/* | */ +/* | */ /* |<--Setup--|--Hold------------>| */ -/* --------------|---------------------- */ +/* --------------|---------------------- */ /* | */ /* TBTT */ /* Note: We cannot update beacon content to HW or send any AC packets during the time between Setup and Hold. */ @@ -111,7 +111,7 @@ #define REG_TSFTR 0x0560 #define REG_ACMHWCTRL 0x05C0 -/* 0x0600h ~ 0x07FFh WMAC Configuration */ +/* 0x0600h ~ 0x07FFh WMAC Configuration */ #define REG_BWOPMODE 0x0603 #define REG_TCR 0x0604 #define REG_RCR 0x0608 @@ -129,11 +129,11 @@ #define REG_ACKTO 0x0640 /* Note: */ -/* The NAV upper value is very important to WiFi 11n 5.2.3 NAV test. The default value is */ -/* always too small, but the WiFi TestPlan test by 25, 000 microseconds of NAV through sending */ -/* CTS in the air. We must update this value greater than 25, 000 microseconds to pass the item. */ -/* The offset of NAV_UPPER in 8192C Spec is incorrect, and the offset should be 0x0652. Commented */ -/* by SD1 Scott. */ +/* The NAV upper value is very important to WiFi 11n 5.2.3 NAV test. The default value is */ +/* always too small, but the WiFi TestPlan test by 25, 000 microseconds of NAV through sending */ +/* CTS in the air. We must update this value greater than 25, 000 microseconds to pass the item. */ +/* The offset of NAV_UPPER in 8192C Spec is incorrect, and the offset should be 0x0652. Commented */ +/* by SD1 Scott. */ /* By Bruce, 2011-07-18. */ #define REG_NAV_UPPER 0x0652 /* unit of 128 */ @@ -152,7 +152,7 @@ #define REG_RXFLTMAP2 0x06A4 #define REG_BCN_PSR_RPT 0x06A8 -/* Redefine 8192C register definition for compatibility */ +/* Redefine 8192C register definition for compatibility */ #define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */ #define EFUSE_TEST REG_EFUSE_TEST /* E-Fuse Test. */ #define MSR (REG_CR + 2) /* Media Status register */ @@ -237,7 +237,7 @@ #define RCR_APM BIT(1) /* Accept physical match packet */ -/* 0x0000h ~ 0x00FFh System Configuration */ +/* 0x0000h ~ 0x00FFh System Configuration */ /* 2 SYS_FUNC_EN */ #define FEN_BBRSTB BIT(0) @@ -294,7 +294,7 @@ /* 2 REG_GPIO_OUTSTS (For RTL8723 only) */ #define RF_RL_ID (BIT(31)|BIT(30)|BIT(29)|BIT(28)) -/* 0x0100h ~ 0x01FFh MACTOP General Configuration */ +/* 0x0100h ~ 0x01FFh MACTOP General Configuration */ /* 2 Function Enable Registers */ /* 2 CR */ @@ -337,7 +337,7 @@ #define QUEUE_NORMAL 2 #define QUEUE_HIGH 3 -/* 0x0200h ~ 0x027Fh TXDMA Configuration */ +/* 0x0200h ~ 0x027Fh TXDMA Configuration */ /* 2 RQPN */ #define _HPQ(x) ((x) & 0xFF) @@ -350,7 +350,7 @@ /* 2 AUTO_LLT */ #define BIT_AUTO_INIT_LLT BIT(16) -/* 0x0280h ~ 0x028Bh RX DMA Configuration */ +/* 0x0280h ~ 0x028Bh RX DMA Configuration */ /* 2 REG_RXDMA_CONTROL, 0x0286h */ /* Write only. When this bit is set, RXDMA will decrease RX PKT counter by one. Before */ @@ -368,7 +368,7 @@ #define RXDMA_IDLE BIT(17) #define RW_RELEASE_EN BIT(18) -/* 0x0400h ~ 0x047Fh Protocol Configuration */ +/* 0x0400h ~ 0x047Fh Protocol Configuration */ /* 2 FWHW_TXQ_CTRL */ #define EN_AMPDU_RTY_NEW BIT(7) @@ -382,7 +382,7 @@ #define RETRY_LIMIT_SHORT_SHIFT 8 #define RETRY_LIMIT_LONG_SHIFT 0 -/* 0x0500h ~ 0x05FFh EDCA Configuration */ +/* 0x0500h ~ 0x05FFh EDCA Configuration */ #define _LRL(x) ((x) & 0x3F) #define _SRL(x) (((x) & 0x3F) << 8) @@ -402,7 +402,7 @@ #define AcmHw_ViqEn BIT(2) #define AcmHw_VoqEn BIT(3) -/* 0x0600h ~ 0x07FFh WMAC Configuration */ +/* 0x0600h ~ 0x07FFh WMAC Configuration */ /* 2 TCR */ #define TSFRST BIT(0) @@ -419,7 +419,7 @@ #define SCR_RXBCUSEDK BIT(7) /* Force Rx Broadcast packets Use Default Key */ #define SCR_CHK_KEYID BIT(8) -/* SDIO Bus Specification */ +/* SDIO Bus Specification */ /* I/O bus domain address mapping */ #define SDIO_LOCAL_BASE 0x10250000 @@ -496,7 +496,7 @@ /* SDIO Tx FIFO related */ #define SDIO_TX_FREE_PG_QUEUE 4 /* The number of Tx FIFO free page */ -/* 0xFE00h ~ 0xFE55h USB Configuration */ +/* 0xFE00h ~ 0xFE55h USB Configuration */ /* 2REG_C2HEVT_CLEAR */ #define C2H_EVT_HOST_CLOSE 0x00 /* Set by driver and notify FW that the driver has read the C2H command message */ From f0721117fd5e05c7d597f94842895fadddc3b8a8 Mon Sep 17 00:00:00 2001 From: Alexis Buttler Date: Thu, 15 Oct 2026 18:19:44 -0700 Subject: [PATCH 144/145] rtl8723bs: Remove redundant macro in basic_types.h LE_BITS_CLEARED_TO_1BYTE_8BIT() is only used by SET_BITS_TO_LE_1BYTE_8BIT(), and its implementation simply expands to LE_P1BYTE_TO_HOST_1BYTE(). Remove LE_BITS_CLEARED_TO_1BYTE_8BIT() and replace its original invocation with the definition. Signed-off-by: Alexis Buttler Link: https://patch.msgid.link/20261016012126.65939-1-iuseacosbtw@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/include/basic_types.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h index d2436459cff6..e2abbf691e21 100644 --- a/drivers/staging/rtl8723bs/include/basic_types.h +++ b/drivers/staging/rtl8723bs/include/basic_types.h @@ -143,16 +143,11 @@ ((((u8)__val) & BIT_LEN_MASK_8(__bitlen)) << (__bitoffset)) \ )) -#define LE_BITS_CLEARED_TO_1BYTE_8BIT(__pStart, __BitOffset, __BitLen) \ - (\ - LE_P1BYTE_TO_HOST_1BYTE(__pStart) \ - ) - #define SET_BITS_TO_LE_1BYTE_8BIT(__pStart, __BitOffset, __BitLen, __Value) \ { \ *((u8 *)(__pStart)) = \ EF1Byte(\ - LE_BITS_CLEARED_TO_1BYTE_8BIT(__pStart, __BitOffset, __BitLen) \ + LE_P1BYTE_TO_HOST_1BYTE(__pStart) \ | \ ((u8)__Value) \ ); \ From 4a177d5e688e8e82113f7a32d6f75f0bab9658c4 Mon Sep 17 00:00:00 2001 From: Yalagada Pavan Kumar Date: Thu, 15 Oct 2026 17:36:34 +0530 Subject: [PATCH 145/145] staging: rtl8723bs: remove unnecessary parentheses Remove redundant parentheses around the address-of operator to follow kernel coding style. Signed-off-by: Yalagada Pavan Kumar Link: https://patch.msgid.link/20261015120634.95218-1-pavankumaryalagada@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8723bs/core/rtw_ieee80211.c | 4 ++-- .../staging/rtl8723bs/core/rtw_ioctl_set.c | 18 ++++++++--------- drivers/staging/rtl8723bs/core/rtw_recv.c | 20 +++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c index 2b2383021b9c..059f9035db6c 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c +++ b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c @@ -333,11 +333,11 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv) } /* DS parameter set */ - ie = rtw_set_ie(ie, WLAN_EID_DS_PARAMS, 1, (u8 *)&(pdev_network->configuration.ds_config), &sz); + ie = rtw_set_ie(ie, WLAN_EID_DS_PARAMS, 1, (u8 *)&pdev_network->configuration.ds_config, &sz); /* IBSS Parameter Set */ - ie = rtw_set_ie(ie, WLAN_EID_IBSS_PARAMS, 2, (u8 *)&(pdev_network->configuration.atim_window), &sz); + ie = rtw_set_ie(ie, WLAN_EID_IBSS_PARAMS, 2, (u8 *)&pdev_network->configuration.atim_window, &sz); if (rate_len > 8) ie = rtw_set_ie(ie, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8), (pdev_network->supported_rates + 8), &sz); diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c index b82c1e3572c0..b86f69834e3a 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c +++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c @@ -36,11 +36,11 @@ u8 rtw_do_join(struct adapter *padapter) { struct list_head *plist, *phead; u8 *pibss = NULL; - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); - struct __queue *queue = &(pmlmepriv->scanned_queue); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct __queue *queue = &pmlmepriv->scanned_queue; u8 ret = _SUCCESS; - spin_lock_bh(&(pmlmepriv->scanned_queue.lock)); + spin_lock_bh(&pmlmepriv->scanned_queue.lock); phead = get_list_head(queue); plist = get_next(phead); @@ -53,7 +53,7 @@ u8 rtw_do_join(struct adapter *padapter) pmlmepriv->to_join = true; if (list_empty(&queue->queue)) { - spin_unlock_bh(&(pmlmepriv->scanned_queue.lock)); + spin_unlock_bh(&pmlmepriv->scanned_queue.lock); _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); /* when set_ssid/set_bssid for rtw_do_join(), but scanning queue is empty */ @@ -74,7 +74,7 @@ u8 rtw_do_join(struct adapter *padapter) } else { int select_ret; - spin_unlock_bh(&(pmlmepriv->scanned_queue.lock)); + spin_unlock_bh(&pmlmepriv->scanned_queue.lock); select_ret = rtw_select_and_join_from_scanned_queue(pmlmepriv); if (select_ret == _SUCCESS) { pmlmepriv->to_join = false; @@ -84,7 +84,7 @@ u8 rtw_do_join(struct adapter *padapter) /* submit createbss_cmd to change to a ADHOC_MASTER */ /* pmlmepriv->lock has been acquired by caller... */ - struct wlan_bssid_ex *pdev_network = &(padapter->registrypriv.dev_network); + struct wlan_bssid_ex *pdev_network = &padapter->registrypriv.dev_network; pmlmepriv->fw_state = WIFI_ADHOC_MASTER_STATE; @@ -282,7 +282,7 @@ u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter, { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct wlan_network *cur_network = &pmlmepriv->cur_network; - enum nl80211_iftype *pold_state = &(cur_network->network.infrastructure_mode); + enum nl80211_iftype *pold_state = &cur_network->network.infrastructure_mode; if (*pold_state != networktype) { if (*pold_state == NL80211_IFTYPE_AP) { @@ -410,7 +410,7 @@ u8 rtw_set_802_11_authentication_mode(struct adapter *padapter, enum ndis_802_11 u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep) { signed int keyid, res; - struct security_priv *psecuritypriv = &(padapter->securitypriv); + struct security_priv *psecuritypriv = &padapter->securitypriv; u8 ret = _SUCCESS; keyid = wep->key_index & 0x3fffffff; @@ -432,7 +432,7 @@ u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep) break; } - memcpy(&(psecuritypriv->dot11DefKey[keyid].skey[0]), &(wep->key_material), wep->key_length); + memcpy(&psecuritypriv->dot11DefKey[keyid].skey[0], &wep->key_material, wep->key_length); psecuritypriv->dot11DefKeylen[keyid] = wep->key_length; diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index 381b3e29afaf..6f4bdad00f60 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -58,9 +58,9 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada precvframe = (union recv_frame *)precvpriv->precv_frame_buf; for (i = 0; i < NR_RECVFRAME; i++) { - INIT_LIST_HEAD(&(precvframe->u.list)); + INIT_LIST_HEAD(&precvframe->u.list); - list_add_tail(&(precvframe->u.list), &(precvpriv->free_recv_queue.queue)); + list_add_tail(&precvframe->u.list, &precvpriv->free_recv_queue.queue); precvframe->u.hdr.pkt_newalloc = NULL; precvframe->u.hdr.pkt = NULL; @@ -160,11 +160,11 @@ int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_ spin_lock_bh(&pfree_recv_queue->lock); - list_del_init(&(precvframe->u.hdr.list)); + list_del_init(&precvframe->u.hdr.list); precvframe->u.hdr.len = 0; - list_add_tail(&(precvframe->u.hdr.list), get_list_head(pfree_recv_queue)); + list_add_tail(&precvframe->u.hdr.list, get_list_head(pfree_recv_queue)); if (padapter) { if (pfree_recv_queue == &precvpriv->free_recv_queue) @@ -347,7 +347,7 @@ static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *p struct security_priv *psecuritypriv = &adapter->securitypriv; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; - struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); + struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; stainfo = rtw_get_stainfo(&adapter->stapriv, &prxattrib->ta[0]); @@ -1040,7 +1040,7 @@ static union recv_frame *recvframe_defrag(struct adapter *adapter, plist = get_next(phead); prframe = (union recv_frame *)plist; pfhdr = &prframe->u.hdr; - list_del_init(&(prframe->u.list)); + list_del_init(&prframe->u.list); if (curfragnum != pfhdr->attrib.frag_num) { /* the first fragment number must be 0 */ @@ -1645,7 +1645,7 @@ static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe) u8 *pdata; struct sk_buff *sub_pkt, *subframes[MAX_SUBFRAME_COUNT]; struct recv_priv *precvpriv = &padapter->recvpriv; - struct __queue *pfree_recv_queue = &(precvpriv->free_recv_queue); + struct __queue *pfree_recv_queue = &precvpriv->free_recv_queue; nr_subframes = 0; @@ -1775,8 +1775,8 @@ static int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *prec struct sk_buff *skb; struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; - precvpriv = &(padapter->recvpriv); - pfree_recv_queue = &(precvpriv->free_recv_queue); + precvpriv = &padapter->recvpriv; + pfree_recv_queue = &precvpriv->free_recv_queue; skb = precv_frame->u.hdr.pkt; if (!skb) @@ -1837,7 +1837,7 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor if (!SN_LESS(preorder_ctrl->indicate_seq, pattrib->seq_num)) { plist = get_next(plist); - list_del_init(&(prframe->u.hdr.list)); + list_del_init(&prframe->u.hdr.list); if (SN_EQUAL(preorder_ctrl->indicate_seq, pattrib->seq_num)) preorder_ctrl->indicate_seq = (preorder_ctrl->indicate_seq + 1) % 4096u;