linux-staging.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/2] staging: rtl8723bs: Improve readability and clarity of sequence number wrapping
@ 2025-04-08 13:31 Abraham Samuel Adekunle
  2025-04-08 13:31 ` [PATCH v7 1/2] staging: rtl8723bs: Add spaces and line breaks to improve readability Abraham Samuel Adekunle
  2025-04-08 13:31 ` [PATCH v7 2/2] staging: rtl8723bs: Use % 4096 instead of & 0xfff Abraham Samuel Adekunle
  0 siblings, 2 replies; 6+ messages in thread
From: Abraham Samuel Adekunle @ 2025-04-08 13:31 UTC (permalink / raw)
  To: outreachy, julia.lawall
  Cc: gregkh, linux-staging, linux-kernel, david.laight.linux,
	dan.carpenter, andy, Abraham Samuel Adekunle

The patchset adds spaces around binary operators, breaks long lines to enhance readability
and provides clarity on sequence number wrapping by using a modulo operation % 4096u, in
place of the bitwise AND(&) operation & 0xfff.
The patches are required to be applied in sequence.

Changes in v6:
	- Modified cover letter BLURB to reference newly added line breaks.
* PATCH 1:
	- Added line breaks to long lines to improve readability.
	- Changed commit message to include the information about the broken
	  lines added to the patch.
	- Changed subject line title to also include the newly added line breaks.
* PATCH 2:
	- Changed instances of `& 0xfff` to `% 4096u` which were now in the broken lines
	  after the broken lines have been done in PATCH 1.
Changes in v5:
	- Converted the patch with the subject "Use % 4096 instead of & 0xfff"
	  patch to a patchset.
	- Added a patch to add spaces around binary operator.
Changes in v4:
	- Corrected patch to use '%' instead of '&'.
	- To ensure this change does not affect the functional
	behaviour, I compared the generated object files before and
	after the change using the `cmp` which compares the two
	object files byte by byte as shown below:

	$ make drivers/staging/rtl8723bs/core/rtw_xmit.o
	$ cmp rtw_xmit_before.o rtw_xmit_after.o

	No differences were found in the output, confirming that the
	change does not alter the compiled output.
Changes in v3:
	- Added more description to the commit message.
	- Removed blank line in the tag block.
	- Added more patch recipients.
Changes in v2:
	- Changed the commit message t a more descriptive message which
	makes it clear why the patch does the change.
	- changed the subject title to include `4096u` to show that an
	unsigned module is used.
Changes in v1:
	- Added more patch recipients.

Abraham Samuel Adekunle (2):
  staging: rtl8723bs: Add spaces and line breaks to improve readability
  staging: rtl8723bs: Use % 4096 instead of & 0xfff

 drivers/staging/rtl8723bs/core/rtw_xmit.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v7 1/2] staging: rtl8723bs: Add spaces and line breaks to improve readability
  2025-04-08 13:31 [PATCH v7 0/2] staging: rtl8723bs: Improve readability and clarity of sequence number wrapping Abraham Samuel Adekunle
@ 2025-04-08 13:31 ` Abraham Samuel Adekunle
  2025-04-08 14:44   ` Andy Shevchenko
  2025-04-08 13:31 ` [PATCH v7 2/2] staging: rtl8723bs: Use % 4096 instead of & 0xfff Abraham Samuel Adekunle
  1 sibling, 1 reply; 6+ messages in thread
From: Abraham Samuel Adekunle @ 2025-04-08 13:31 UTC (permalink / raw)
  To: outreachy, julia.lawall
  Cc: gregkh, linux-staging, linux-kernel, david.laight.linux,
	dan.carpenter, andy, Abraham Samuel Adekunle

The code contains no spaces around binary operators with long lines
which reduces readability thereby not adhering to Linux kernel coding
style.

Add white spaces around the binary operators and use line breaks to
increase readability and ensure adherence to Linux kernel coding
styles.

Suggested-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Abraham Samuel Adekunle <abrahamadekunle50@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_xmit.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 297c93d65315..9ba3bebfc8bd 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -963,11 +963,13 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
 					if (SN_LESS(pattrib->seqnum, tx_seq)) {
 						pattrib->ampdu_en = false;/* AGG BK */
 					} else if (SN_EQUAL(pattrib->seqnum, tx_seq)) {
-						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq+1)&0xfff;
+						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] =
+							(tx_seq + 1) & 0xfff;
 
 						pattrib->ampdu_en = true;/* AGG EN */
 					} else {
-						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum+1)&0xfff;
+						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] =
+							(pattrib->seqnum + 1) & 0xfff;
 						pattrib->ampdu_en = true;/* AGG EN */
 					}
 				}
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v7 2/2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-08 13:31 [PATCH v7 0/2] staging: rtl8723bs: Improve readability and clarity of sequence number wrapping Abraham Samuel Adekunle
  2025-04-08 13:31 ` [PATCH v7 1/2] staging: rtl8723bs: Add spaces and line breaks to improve readability Abraham Samuel Adekunle
@ 2025-04-08 13:31 ` Abraham Samuel Adekunle
  2025-04-08 14:45   ` Andy Shevchenko
  1 sibling, 1 reply; 6+ messages in thread
From: Abraham Samuel Adekunle @ 2025-04-08 13:31 UTC (permalink / raw)
  To: outreachy, julia.lawall
  Cc: gregkh, linux-staging, linux-kernel, david.laight.linux,
	dan.carpenter, andy, Abraham Samuel Adekunle

The sequence number is constrained to a range of [0, 4095], which
is a total of 4096 values. The bitmask operation using `& 0xfff` is
used to perform this wrap-around. While this is functionally correct,
it obscures the intended semantic of a 4096-based wrap.

Using a modulo operation `% 4096u` makes the wrap-around logic
explicit and easier to understand. It clearly signals that the
sequence number cycles through a range of 4096 values.
It also makes the code robust against potential changes of the 4096
upper limit, especially when it becomes a non power of 2 value while
the AND(&) works solely for power of 2 values.

The use of `% 4096u` also guarantees that the modulo operation is
performed with unsigned arithmetic, preventing potential issues with
the signed types.

Suggested-by: Andy Shevchenko <andy@kernel.org>
Suggested-by: David Laight <david.laight.linux@gmail.com>
Signed-off-by: Abraham Samuel Adekunle <abrahamadekunle50@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_xmit.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 9ba3bebfc8bd..db5f1b931530 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -943,7 +943,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
 
 			if (psta) {
 				psta->sta_xmitpriv.txseq_tid[pattrib->priority]++;
-				psta->sta_xmitpriv.txseq_tid[pattrib->priority] &= 0xFFF;
+				psta->sta_xmitpriv.txseq_tid[pattrib->priority] %= 4096u;
 				pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority];
 
 				SetSeqNum(hdr, pattrib->seqnum);
@@ -964,12 +964,12 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
 						pattrib->ampdu_en = false;/* AGG BK */
 					} else if (SN_EQUAL(pattrib->seqnum, tx_seq)) {
 						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] =
-							(tx_seq + 1) & 0xfff;
+							(tx_seq + 1) % 4096u;
 
 						pattrib->ampdu_en = true;/* AGG EN */
 					} else {
 						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] =
-							(pattrib->seqnum + 1) & 0xfff;
+							(pattrib->seqnum + 1) % 4096u;
 						pattrib->ampdu_en = true;/* AGG EN */
 					}
 				}
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v7 1/2] staging: rtl8723bs: Add spaces and line breaks to improve readability
  2025-04-08 13:31 ` [PATCH v7 1/2] staging: rtl8723bs: Add spaces and line breaks to improve readability Abraham Samuel Adekunle
@ 2025-04-08 14:44   ` Andy Shevchenko
  0 siblings, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2025-04-08 14:44 UTC (permalink / raw)
  To: Abraham Samuel Adekunle
  Cc: outreachy, julia.lawall, gregkh, linux-staging, linux-kernel,
	david.laight.linux, dan.carpenter

On Tue, Apr 08, 2025 at 01:31:41PM +0000, Abraham Samuel Adekunle wrote:
> The code contains no spaces around binary operators with long lines
> which reduces readability thereby not adhering to Linux kernel coding
> style.
> 
> Add white spaces around the binary operators and use line breaks to
> increase readability and ensure adherence to Linux kernel coding
> styles.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
See one nit-pick below.

...

>  					} else if (SN_EQUAL(pattrib->seqnum, tx_seq)) {
> -						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq+1)&0xfff;
> +						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] =
> +							(tx_seq + 1) & 0xfff;
>  
>  						pattrib->ampdu_en = true;/* AGG EN */
>  					} else {
> -						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum+1)&0xfff;
> +						psta->BA_starting_seqctrl[pattrib->priority & 0x0f] =
> +							(pattrib->seqnum + 1) & 0xfff;

Probably it deserves a blank line here as in the above case.
But it was in the original like this, so at least it not worse
than that.

>  						pattrib->ampdu_en = true;/* AGG EN */
>  					}

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v7 2/2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-08 13:31 ` [PATCH v7 2/2] staging: rtl8723bs: Use % 4096 instead of & 0xfff Abraham Samuel Adekunle
@ 2025-04-08 14:45   ` Andy Shevchenko
  2025-04-08 15:44     ` Samuel Abraham
  0 siblings, 1 reply; 6+ messages in thread
From: Andy Shevchenko @ 2025-04-08 14:45 UTC (permalink / raw)
  To: Abraham Samuel Adekunle
  Cc: outreachy, julia.lawall, gregkh, linux-staging, linux-kernel,
	david.laight.linux, dan.carpenter

On Tue, Apr 08, 2025 at 01:31:42PM +0000, Abraham Samuel Adekunle wrote:
> The sequence number is constrained to a range of [0, 4095], which
> is a total of 4096 values. The bitmask operation using `& 0xfff` is
> used to perform this wrap-around. While this is functionally correct,
> it obscures the intended semantic of a 4096-based wrap.
> 
> Using a modulo operation `% 4096u` makes the wrap-around logic
> explicit and easier to understand. It clearly signals that the
> sequence number cycles through a range of 4096 values.
> It also makes the code robust against potential changes of the 4096
> upper limit, especially when it becomes a non power of 2 value while

power-of-2

> the AND(&) works solely for power of 2 values.

power-of-2

> The use of `% 4096u` also guarantees that the modulo operation is
> performed with unsigned arithmetic, preventing potential issues with
> the signed types.

Reviewed-by: Andy Shevchenko <andy@kernel.org>

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v7 2/2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-08 14:45   ` Andy Shevchenko
@ 2025-04-08 15:44     ` Samuel Abraham
  0 siblings, 0 replies; 6+ messages in thread
From: Samuel Abraham @ 2025-04-08 15:44 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: outreachy, julia.lawall, gregkh, linux-staging, linux-kernel,
	david.laight.linux, dan.carpenter

On Tue, Apr 8, 2025 at 4:12 PM Andy Shevchenko <andy@kernel.org> wrote:
>
> On Tue, Apr 08, 2025 at 01:31:42PM +0000, Abraham Samuel Adekunle wrote:
> > The sequence number is constrained to a range of [0, 4095], which
> > is a total of 4096 values. The bitmask operation using `& 0xfff` is
> > used to perform this wrap-around. While this is functionally correct,
> > it obscures the intended semantic of a 4096-based wrap.
> >
> > Using a modulo operation `% 4096u` makes the wrap-around logic
> > explicit and easier to understand. It clearly signals that the
> > sequence number cycles through a range of 4096 values.
> > It also makes the code robust against potential changes of the 4096
> > upper limit, especially when it becomes a non power of 2 value while
>
> power-of-2
>
> > the AND(&) works solely for power of 2 values.
>
> power-of-2
>
> > The use of `% 4096u` also guarantees that the modulo operation is
> > performed with unsigned arithmetic, preventing potential issues with
> > the signed types.
>
> Reviewed-by: Andy Shevchenko <andy@kernel.org>

Thank you, Andy for your patience with me and guidance and the review.

I have sent the updated patch.

Adekunle.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-04-08 15:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-08 13:31 [PATCH v7 0/2] staging: rtl8723bs: Improve readability and clarity of sequence number wrapping Abraham Samuel Adekunle
2025-04-08 13:31 ` [PATCH v7 1/2] staging: rtl8723bs: Add spaces and line breaks to improve readability Abraham Samuel Adekunle
2025-04-08 14:44   ` Andy Shevchenko
2025-04-08 13:31 ` [PATCH v7 2/2] staging: rtl8723bs: Use % 4096 instead of & 0xfff Abraham Samuel Adekunle
2025-04-08 14:45   ` Andy Shevchenko
2025-04-08 15:44     ` Samuel Abraham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).