Skip to contentSkip to conversation

staging: rtl8723bs: refactor traffic_stat access in collect_traffic_statistics

PATCH Superseded Mirza Ishan Beg 3 participants 12 messages Aug 3 – Aug 29 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

---
 drivers/staging/rtl8723bs/core/rtw_cmd.c | 25 ++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)
drivers/staging/rtl8723bs/core/rtw_cmd.c +13 -12
index ce3dfa1fee26..277eccba293c 100644
@@ -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 traffic_stat *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)
Signature · 1 line
2.47.3
maintainer
#1 lore raw
Quoted 5 lines · Mirza Ishan Beg

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.

Where was this suggested?

thanks,

greg k-h

#2 lore raw
Quoted 1 line · Greg KH

Where was this suggested?

Hi Greg,

Nikolay suggested adding an intermediate pointer in this thread:
https://lore.kernel.org/linux-staging/agDaGJ5UKndFUNPY@archlinux/

His comment was:

Quoted 3 lines

What about adding an intermediate pointer to traffic_stat? This will not only reduce the length of the lines, but will also make the code easier to read.

Thanks,
Mirza Ishan Beg

#4 lore raw

PATCH v2 1/1 staging: rtl8723bs: refactor traffic_stat access in collect_traffic_statistics

In reply to Mirza Ishan Beg

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.

---
 drivers/staging/rtl8723bs/core/rtw_cmd.c | 25 ++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)
drivers/staging/rtl8723bs/core/rtw_cmd.c +13 -12
index ce3dfa1fee26..277eccba293c 100644
@@ -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 traffic_stat *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)
Signature · 1 line
2.47.3
#5 lore raw

PATCH v3 1/1 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.

---
Changes in v3:
- Fix missing semicolon in pointer declaration

Changes in v2:
- Added Link: tag with lore URL as suggested by Greg KH

 drivers/staging/rtl8723bs/core/rtw_cmd.c | 25 ++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)
drivers/staging/rtl8723bs/core/rtw_cmd.c +13 -12
index ce3dfa1fee26..4aa430284a59 100644
@@ -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 traffic_stat *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)
Signature · 1 line
2.47.3
#6 lore raw

PATCH v4 1/1 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.

---
Changes in v4:
- Fix incorrect struct type: use rtw_traffic_statistics instead of traffic_stat (reported by kernel test robot)

 drivers/staging/rtl8723bs/core/rtw_cmd.c | 25 ++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)
drivers/staging/rtl8723bs/core/rtw_cmd.c +13 -12
index ce3dfa1fee26..59f13f6b85ad 100644
@@ -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)
Signature · 1 line
2.47.3
maintainer
#7 lore raw
Quoted 10 lines · Mirza Ishan Beg

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.

Quoted 5 lines

---
Changes in v4:
- Fix incorrect struct type: use rtw_traffic_statistics instead of traffic_stat (reported by kernel test robot)

 drivers/staging/rtl8723bs/core/rtw_cmd.c | 25 ++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

Where is the 1-3 version info?

And the "Closes:" isn't correct, 0-day was responding to previous errors you made in other versions of this series, not the original code. THere's nothing wrong with the original code that needs to be "Closed".

thanks,

greg k-h

#8 lore raw
Quoted 9 lines · Greg KH

Where is the 1-3 version info?

And the "Closes:" isn't correct, 0-day was responding to previous errors you made in other versions of this series, not the original code. THere's nothing wrong with the original code that needs to be "Closed".

thanks,

greg k-h

I see, thanks for the feedback. I will prepare v5 with a complete changelog covering v1 to v5, and I will remove the Reported-by and Closes tags for the reasons stated: those errors were introduced from my own earlier patch versions. I'll send v5 shortly.

Regards,
Mirza Ishan Beg

#9 lore raw

PATCH v5 1/1 staging: rtl8723bs: refactor traffic_stat access in collect_traffic_statistics

In reply to Mirza Ishan Beg

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.

---
Changes in v5:
- Removed the Closes and Reported-by tags.

Changes in v4:
- Fix incorrect struct type: use rtw_traffic_statistics instead of traffic_stat (reported by kernel test robot).
- Added Closes and Reported-by tags.

Changes in v3:
- Fix missing semicolon in pointer declaration.

Changes in v2:
- Added Link: tag with lore URL as suggested by Greg KH.

Changes in v1:
- Repetitive pdvobjpriv->traffic_stat. dereferencing replaced with a local pointer ts to improve readability and reduce line length.

 drivers/staging/rtl8723bs/core/rtw_cmd.c | 25 ++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)
drivers/staging/rtl8723bs/core/rtw_cmd.c +13 -12
index ce3dfa1fee26..59f13f6b85ad 100644
@@ -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)
Signature · 1 line
2.47.3
#10 lore raw
In reply to Mirza Ishan Beg
kernel test robot noticed the following build errors:

Hi Mirza,

kernel test robot noticed the following build errors:

[auto build test ERROR on staging/staging-testing]

url:    https://github.com/intel-lab-lkp/linux/commits/Mirza-Ishan-Beg/staging-rtl8723bs-refactor-traffic_stat-access-in-collect_traffic_statistics/20260806-062100
base:   staging/staging-testing
patch link:    https://lore.kernel.org/r/20260803144826.15980-1-seedandsyntax%40gmail.com
patch subject: [PATCH] staging: rtl8723bs: refactor traffic_stat access in collect_traffic_statistics
config: arm-randconfig-r051-20260806 (https://download.01.org/0day-ci/archive/20260807/[email protected]/config)
compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260807/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

drivers/staging/rtl8723bs/core/rtw_cmd.c: In function 'collect_traffic_statistics':
drivers/staging/rtl8723bs/core/rtw_cmd.c:1112:28: error: initialization of 'struct traffic_stat *' from incompatible pointer type 'struct rtw_traffic_statistics *' [-Werror=incompatible-pointer-types]

     struct traffic_stat *ts = &pdvobjpriv->traffic_stat
                               ^
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1115:2: error: expected ',' or ';' before 'ts'
     ts->tx_bytes = padapter->xmitpriv.tx_bytes;
     ^~
>> drivers/staging/rtl8723bs/core/rtw_cmd.c:1116:4: error: dereferencing pointer to incomplete type 'struct traffic_stat'
     ts->tx_pkts = padapter->xmitpriv.tx_pkts;
       ^~

cc1: some warnings being treated as errors

vim +1116 drivers/staging/rtl8723bs/core/rtw_cmd.c

1108
1109 static void collect_traffic_statistics(struct adapter *padapter)
1110 {
1111 struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter);
1112 struct traffic_stat *ts = &pdvobjpriv->traffic_stat
1113
1114 /* Tx */
1115 ts->tx_bytes = padapter->xmitpriv.tx_bytes;

> 1116		ts->tx_pkts = padapter->xmitpriv.tx_pkts;

1117 ts->tx_drop = padapter->xmitpriv.tx_drop;
1118
1119 /* Rx */
1120 ts->rx_bytes = padapter->recvpriv.rx_bytes;
1121 ts->rx_pkts = padapter->recvpriv.rx_pkts;
1122 ts->rx_drop = padapter->recvpriv.rx_drop;
1123
1124 /* Calculate throughput in last interval */
1125 ts->cur_tx_bytes = ts->tx_bytes - ts->last_tx_bytes;
1126 ts->cur_rx_bytes = ts->rx_bytes - ts->last_rx_bytes;
1127 ts->last_tx_bytes = ts->tx_bytes;
1128 ts->last_rx_bytes = ts->rx_bytes;
1129
1130 ts->cur_tx_tp = (u32)(ts->cur_tx_bytes * 8 / 2 / 1024 / 1024);
1131 ts->cur_rx_tp = (u32)(ts->cur_rx_bytes * 8 / 2 / 1024 / 1024);
1132 }
1133

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

#11 lore raw
In reply to Mirza Ishan Beg
kernel test robot noticed the following build errors:

Hi Mirza,

kernel test robot noticed the following build errors:

[auto build test ERROR on staging/staging-testing]

url:    https://github.com/intel-lab-lkp/linux/commits/Mirza-Ishan-Beg/staging-rtl8723bs-refactor-traffic_stat-access-in-collect_traffic_statistics/20260806-062100
base:   staging/staging-testing
patch link:    https://lore.kernel.org/r/20260803144826.15980-1-seedandsyntax%40gmail.com
patch subject: [PATCH] staging: rtl8723bs: refactor traffic_stat access in collect_traffic_statistics
config: csky-allmodconfig (https://download.01.org/0day-ci/archive/20260807/[email protected]/config)
compiler: csky-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260807/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

drivers/staging/rtl8723bs/core/rtw_cmd.c: In function 'collect_traffic_statistics':

>> drivers/staging/rtl8723bs/core/rtw_cmd.c:1112:35: error: initialization of 'struct traffic_stat *' from incompatible pointer type 'struct rtw_traffic_statistics *' [-Wincompatible-pointer-types]
    1112 |         struct traffic_stat *ts = &pdvobjpriv->traffic_stat
         |                                   ^
>> drivers/staging/rtl8723bs/core/rtw_cmd.c:1115:9: error: expected ',' or ';' before 'ts'
    1115 |         ts->tx_bytes = padapter->xmitpriv.tx_bytes;
         |         ^~
>> drivers/staging/rtl8723bs/core/rtw_cmd.c:1116:11: error: invalid use of undefined type 'struct traffic_stat'
    1116 |         ts->tx_pkts = padapter->xmitpriv.tx_pkts;
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1117:11: error: invalid use of undefined type 'struct traffic_stat'
    1117 |         ts->tx_drop = padapter->xmitpriv.tx_drop;
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1120:11: error: invalid use of undefined type 'struct traffic_stat'
    1120 |         ts->rx_bytes = padapter->recvpriv.rx_bytes;
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1121:11: error: invalid use of undefined type 'struct traffic_stat'
    1121 |         ts->rx_pkts = padapter->recvpriv.rx_pkts;
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1122:11: error: invalid use of undefined type 'struct traffic_stat'
    1122 |         ts->rx_drop = padapter->recvpriv.rx_drop;
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1125:11: error: invalid use of undefined type 'struct traffic_stat'
    1125 |         ts->cur_tx_bytes = ts->tx_bytes - ts->last_tx_bytes;
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1125:30: error: invalid use of undefined type 'struct traffic_stat'
    1125 |         ts->cur_tx_bytes = ts->tx_bytes - ts->last_tx_bytes;
         |                              ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1125:45: error: invalid use of undefined type 'struct traffic_stat'
    1125 |         ts->cur_tx_bytes = ts->tx_bytes - ts->last_tx_bytes;
         |                                             ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1126:11: error: invalid use of undefined type 'struct traffic_stat'
    1126 |         ts->cur_rx_bytes = ts->rx_bytes - ts->last_rx_bytes;
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1126:30: error: invalid use of undefined type 'struct traffic_stat'
    1126 |         ts->cur_rx_bytes = ts->rx_bytes - ts->last_rx_bytes;
         |                              ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1126:45: error: invalid use of undefined type 'struct traffic_stat'
    1126 |         ts->cur_rx_bytes = ts->rx_bytes - ts->last_rx_bytes;
         |                                             ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1127:11: error: invalid use of undefined type 'struct traffic_stat'
    1127 |         ts->last_tx_bytes = ts->tx_bytes;
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1127:31: error: invalid use of undefined type 'struct traffic_stat'
    1127 |         ts->last_tx_bytes = ts->tx_bytes;
         |                               ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1128:11: error: invalid use of undefined type 'struct traffic_stat'
    1128 |         ts->last_rx_bytes = ts->rx_bytes;
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1128:31: error: invalid use of undefined type 'struct traffic_stat'
    1128 |         ts->last_rx_bytes = ts->rx_bytes;
         |                               ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1130:11: error: invalid use of undefined type 'struct traffic_stat'
    1130 |         ts->cur_tx_tp = (u32)(ts->cur_tx_bytes * 8 / 2 / 1024 / 1024);
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1130:33: error: invalid use of undefined type 'struct traffic_stat'
    1130 |         ts->cur_tx_tp = (u32)(ts->cur_tx_bytes * 8 / 2 / 1024 / 1024);
         |                                 ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1131:11: error: invalid use of undefined type 'struct traffic_stat'
    1131 |         ts->cur_rx_tp = (u32)(ts->cur_rx_bytes * 8 / 2 / 1024 / 1024);
         |           ^~
   drivers/staging/rtl8723bs/core/rtw_cmd.c:1131:33: error: invalid use of undefined type 'struct traffic_stat'
    1131 |         ts->cur_rx_tp = (u32)(ts->cur_rx_bytes * 8 / 2 / 1024 / 1024);
         |                                 ^~

vim +1112 drivers/staging/rtl8723bs/core/rtw_cmd.c

1108
1109 static void collect_traffic_statistics(struct adapter *padapter)
1110 {
1111 struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter);

> 1112		struct traffic_stat *ts = &pdvobjpriv->traffic_stat
  1113	
  1114		/*  Tx */
> 1115		ts->tx_bytes = padapter->xmitpriv.tx_bytes;
> 1116		ts->tx_pkts = padapter->xmitpriv.tx_pkts;

1117 ts->tx_drop = padapter->xmitpriv.tx_drop;
1118
1119 /* Rx */
1120 ts->rx_bytes = padapter->recvpriv.rx_bytes;
1121 ts->rx_pkts = padapter->recvpriv.rx_pkts;
1122 ts->rx_drop = padapter->recvpriv.rx_drop;
1123
1124 /* Calculate throughput in last interval */
1125 ts->cur_tx_bytes = ts->tx_bytes - ts->last_tx_bytes;
1126 ts->cur_rx_bytes = ts->rx_bytes - ts->last_rx_bytes;
1127 ts->last_tx_bytes = ts->tx_bytes;
1128 ts->last_rx_bytes = ts->rx_bytes;
1129
1130 ts->cur_tx_tp = (u32)(ts->cur_tx_bytes * 8 / 2 / 1024 / 1024);
1131 ts->cur_rx_tp = (u32)(ts->cur_rx_bytes * 8 / 2 / 1024 / 1024);
1132 }
1133

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki