wifi: rtl8xxxu: 8188e: parse single one element of RA report for station mode
PATCH 1/1 wifi: rtl8xxxu: 8188e: parse single one element of RA report for station mode
Intentionally parsing single one element of RA report by breaking loop
causes a smatch warning:
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c:1678 rtl8188e_handle_ra_tx_report2() warn:
ignoring unreachable code.
With existing comments, it intends to process single one element for station mode, but it will parse more elements in AP mode if it's implemented. Implement program logic according to existing comment to avoid smatch warning, and also be usable for both AP and stations modes.
Compile test only.
--- .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c +6 -6
@@ -1699,6 +1699,12 @@ void rtl8188e_handle_ra_tx_report2(struct rtl8xxxu_priv *priv, struct sk_buff *sdev_dbg (dev,"%s: len: %d items: %d\n" , __func__, tx_rpt_len, items); +/* We only use macid 0, so only the first item is relevant. +* AP mode will use more of them if it's ever implemented. +*/ +if (!priv->vif || priv->vif->type ==NL80211_IFTYPE_STATION ) + items =1 ; +for (macid =0 ; macid < items; macid++) { valid = false;
@@ -1741,12 +1747,6 @@ void rtl8188e_handle_ra_tx_report2(struct rtl8xxxu_priv *priv, struct sk_buff *s min_rpt_time = ra->rpt_time; rpt +=TX_RPT2_ITEM_SIZE ; - -/* -* We only use macid 0, so only the first item is relevant. -* AP mode will use more of them if it's ever implemented. -*/ -break ; }if (min_rpt_time != ra->pre_min_rpt_time) {
Signature · 1 line
2.25.1
Quoted 41 lines · Ping-Ke Shih
Intentionally parsing single one element of RA report by breaking loop
causes a smatch warning:
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c:1678rtl8188e_handle_ra_tx_report2()warn:
ignoring unreachable code.With existing comments, it intends to process single one element for station mode, but it will parse more elements in AP mode if it's implemented. Implement program logic according to existing comment to avoid smatch warning, and also be usable for both AP and stations modes.
Compile test only.
Reported-by kernel test robot <[email protected]>Reported-by Dan Carpenter <[email protected]>Cc Bitterblue Smith <[email protected]>Signed-off-by Ping-Ke Shih <[email protected]>--- .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c +6
-0@@ -1699,6 +1699,12 @@ void rtl8188e_handle_ra_tx_report2(struct rtl8xxxu_priv *priv, struct sk_buff *sdev_dbg (dev,"%s: len: %d items: %d\n" , __func__, tx_rpt_len, items); +/* We only use macid 0, so only the first item is relevant. +* AP mode will use more of them if it's ever implemented. +*/ +if (!priv->vif || priv->vif->type ==NL80211_IFTYPE_STATION ) + items =1 ; +for (macid =0 ; macid < items; macid++) { valid = false;@@ -1741,12 +1747,6 @@ void rtl8188e_handle_ra_tx_report2(struct rtl8xxxu_priv *priv, struct sk_buff *s min_rpt_time = ra->rpt_time;
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c void rtl8188e_handle_ra_tx_report2(struct rtl8xxxu_priv *priv, struct sk_buff *s · line 1752
Quoted 10 lines
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c +0
-6rpt +=TX_RPT2_ITEM_SIZE ; - -/* -* We only use macid 0, so only the first item is relevant. -* AP mode will use more of them if it's ever implemented. -*/ -break ; }if (min_rpt_time != ra->pre_min_rpt_time) {
Quoted 10 lines · Ping-Ke Shih
Intentionally parsing single one element of RA report by breaking loop
causes a smatch warning:
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c:1678rtl8188e_handle_ra_tx_report2()warn:
ignoring unreachable code.With existing comments, it intends to process single one element for station mode, but it will parse more elements in AP mode if it's implemented. Implement program logic according to existing comment to avoid smatch warning, and also be usable for both AP and stations modes.
Quoted 8 lines
Compile test only.
Reported-by kernel test robot <[email protected]>Reported-by Dan Carpenter <[email protected]>Cc Bitterblue Smith <[email protected]>Signed-off-by Ping-Ke Shih <[email protected]>Tested-by Bitterblue Smith <[email protected]>
Patch applied to wireless-next.git, thanks.
398eb19415eb wifi: rtl8xxxu: 8188e: parse single one element of RA report for station mode
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches