public inbox for linux-staging@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
@ 2025-04-05  0:09 Abraham Samuel Adekunle
  2025-04-05  0:33 ` Julia Lawall
  2025-04-05  8:22 ` Greg Kroah-Hartman
  0 siblings, 2 replies; 8+ messages in thread
From: Abraham Samuel Adekunle @ 2025-04-05  0:09 UTC (permalink / raw)
  To: Greg Kroah-Hartman, julia.lawall, andy, dan.carpenter
  Cc: linux-staging, linux-kernel, outreachy

Replace the bitwise AND operator `&` with a modulo
operator `%` and decimal number to make the upper limit visible
and clear what the semantic of it is.

Also add white spaces around binary operators for improved
readabiity and adherence to Linux kernel coding style.

Suggested-by Andy Shevchenko <andy.shevchenko@gmail.com>

Signed-off-by: Abraham Samuel Adekunle <abrahamadekunle50@gmail.com>
---
Changes in v1:
	- Added more patch recipients.

 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 297c93d65315..630669193be4 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] %= 4096;
 				pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority];
 
 				SetSeqNum(hdr, pattrib->seqnum);
@@ -963,11 +963,11 @@ 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) % 4096;
 
 						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) % 4096;
 						pattrib->ampdu_en = true;/* AGG EN */
 					}
 				}
-- 
2.34.1


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

* Re: [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-05  0:09 [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff Abraham Samuel Adekunle
@ 2025-04-05  0:33 ` Julia Lawall
  2025-04-05  8:22 ` Greg Kroah-Hartman
  1 sibling, 0 replies; 8+ messages in thread
From: Julia Lawall @ 2025-04-05  0:33 UTC (permalink / raw)
  To: Abraham Samuel Adekunle
  Cc: Greg Kroah-Hartman, julia.lawall, andy, dan.carpenter,
	linux-staging, linux-kernel, outreachy



On Sat, 5 Apr 2025, Abraham Samuel Adekunle wrote:

> Replace the bitwise AND operator `&` with a modulo
> operator `%` and decimal number to make the upper limit visible
> and clear what the semantic of it is.

I think that the & and the Fs are more understandable than using the % and
4096.  I would say no for this idea.

> Also add white spaces around binary operators for improved
> readabiity and adherence to Linux kernel coding style.

The "Also" is a hint that you are doing two things.  So they can be in two
different patches.

julia

>
> Suggested-by Andy Shevchenko <andy.shevchenko@gmail.com>
>
> Signed-off-by: Abraham Samuel Adekunle <abrahamadekunle50@gmail.com>
> ---
> Changes in v1:
> 	- Added more patch recipients.
>
>  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 297c93d65315..630669193be4 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] %= 4096;
>  				pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority];
>
>  				SetSeqNum(hdr, pattrib->seqnum);
> @@ -963,11 +963,11 @@ 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) % 4096;
>
>  						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) % 4096;
>  						pattrib->ampdu_en = true;/* AGG EN */
>  					}
>  				}
> --
> 2.34.1
>
>

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

* Re: [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-05  0:09 [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff Abraham Samuel Adekunle
  2025-04-05  0:33 ` Julia Lawall
@ 2025-04-05  8:22 ` Greg Kroah-Hartman
  2025-04-05 12:24   ` Andy Shevchenko
  1 sibling, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2025-04-05  8:22 UTC (permalink / raw)
  To: Abraham Samuel Adekunle
  Cc: julia.lawall, andy, dan.carpenter, linux-staging, linux-kernel,
	outreachy

On Sat, Apr 05, 2025 at 12:09:59AM +0000, Abraham Samuel Adekunle wrote:
> Replace the bitwise AND operator `&` with a modulo
> operator `%` and decimal number to make the upper limit visible
> and clear what the semantic of it is.

Eeek, no.  We all "know" what & means (it's a bit mask to handle the
issues involved), and we all do NOT know that % will do the same thing
at all.

So this just made things more difficult to maintain over time.

What tool suggested this type of change to be made to this driver and
these lines?

thanks,

greg k-h

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

* Re: [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-05  8:22 ` Greg Kroah-Hartman
@ 2025-04-05 12:24   ` Andy Shevchenko
  2025-04-05 12:30     ` Julia Lawall
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2025-04-05 12:24 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Abraham Samuel Adekunle, julia.lawall, andy, dan.carpenter,
	linux-staging, linux-kernel, outreachy

On Sat, Apr 5, 2025 at 11:23 AM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Sat, Apr 05, 2025 at 12:09:59AM +0000, Abraham Samuel Adekunle wrote:
> > Replace the bitwise AND operator `&` with a modulo
> > operator `%` and decimal number to make the upper limit visible
> > and clear what the semantic of it is.
>
> Eeek, no.  We all "know" what & means (it's a bit mask to handle the
> issues involved), and we all do NOT know that % will do the same thing
> at all.

And that is exactly the purpose of the change. The % 4096 makes it
clearer on what's going on, i.e. we are doing indexes that are wrapped
around the given number.

> So this just made things more difficult to maintain over time.
>
> What tool suggested this type of change to be made to this driver and
> these lines?

It's not a tool, it was me. I read the code and suggested that change.

-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-05 12:24   ` Andy Shevchenko
@ 2025-04-05 12:30     ` Julia Lawall
  2025-04-05 14:55       ` Samuel Abraham
  0 siblings, 1 reply; 8+ messages in thread
From: Julia Lawall @ 2025-04-05 12:30 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Greg Kroah-Hartman, Abraham Samuel Adekunle, julia.lawall, andy,
	dan.carpenter, linux-staging, linux-kernel, outreachy

[-- Attachment #1: Type: text/plain, Size: 1213 bytes --]



On Sat, 5 Apr 2025, Andy Shevchenko wrote:

> On Sat, Apr 5, 2025 at 11:23 AM Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > On Sat, Apr 05, 2025 at 12:09:59AM +0000, Abraham Samuel Adekunle wrote:
> > > Replace the bitwise AND operator `&` with a modulo
> > > operator `%` and decimal number to make the upper limit visible
> > > and clear what the semantic of it is.
> >
> > Eeek, no.  We all "know" what & means (it's a bit mask to handle the
> > issues involved), and we all do NOT know that % will do the same thing
> > at all.
>
> And that is exactly the purpose of the change. The % 4096 makes it
> clearer on what's going on, i.e. we are doing indexes that are wrapped
> around the given number.

Ah, OK.  Samuel, indeed, the log message was going in that direction.  But
probably it should be more clear.  Why is 4096 the upper limit in this
case, for example.

Thanks for the feedback Andy,

julia

>
> > So this just made things more difficult to maintain over time.
> >
> > What tool suggested this type of change to be made to this driver and
> > these lines?
>
> It's not a tool, it was me. I read the code and suggested that change.
>
> --
> With Best Regards,
> Andy Shevchenko
>

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

* Re: [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-05 12:30     ` Julia Lawall
@ 2025-04-05 14:55       ` Samuel Abraham
  2025-04-06 12:59         ` Julia Lawall
  0 siblings, 1 reply; 8+ messages in thread
From: Samuel Abraham @ 2025-04-05 14:55 UTC (permalink / raw)
  To: Julia Lawall
  Cc: Andy Shevchenko, Greg Kroah-Hartman, andy, dan.carpenter,
	linux-staging, linux-kernel, outreachy

On Sat, Apr 5, 2025 at 1:30 PM Julia Lawall <julia.lawall@inria.fr> wrote:
>
>
>
> On Sat, 5 Apr 2025, Andy Shevchenko wrote:
>
> > On Sat, Apr 5, 2025 at 11:23 AM Greg Kroah-Hartman
> > <gregkh@linuxfoundation.org> wrote:
> > > On Sat, Apr 05, 2025 at 12:09:59AM +0000, Abraham Samuel Adekunle wrote:
> > > > Replace the bitwise AND operator `&` with a modulo
> > > > operator `%` and decimal number to make the upper limit visible
> > > > and clear what the semantic of it is.
> > >
> > > Eeek, no.  We all "know" what & means (it's a bit mask to handle the
> > > issues involved), and we all do NOT know that % will do the same thing
> > > at all.
> >
> > And that is exactly the purpose of the change. The % 4096 makes it
> > clearer on what's going on, i.e. we are doing indexes that are wrapped
> > around the given number.
>
> Ah, OK.  Samuel, indeed, the log message was going in that direction.  But
> probably it should be more clear.  Why is 4096 the upper limit in this
> case, for example.

Okay thank you Julia.
So I can add something like this to the commit message?

"Replace the bitwise AND operator `&` with a modulo
operator `%` and decimal number to make the upper limit visible
and clear that we are doing indexes that are wrapped around the given number"?

You also said I should add a patch for the white space around binary operators.
I did it together because the changes were on the same line.
Should I still add a second patch for that change?
Thanks

Adekunle.

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

* Re: [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-05 14:55       ` Samuel Abraham
@ 2025-04-06 12:59         ` Julia Lawall
  2025-04-06 19:31           ` Samuel Abraham
  0 siblings, 1 reply; 8+ messages in thread
From: Julia Lawall @ 2025-04-06 12:59 UTC (permalink / raw)
  To: Samuel Abraham
  Cc: Julia Lawall, Andy Shevchenko, Greg Kroah-Hartman, andy,
	dan.carpenter, linux-staging, linux-kernel, outreachy

[-- Attachment #1: Type: text/plain, Size: 2242 bytes --]



On Sat, 5 Apr 2025, Samuel Abraham wrote:

> On Sat, Apr 5, 2025 at 1:30 PM Julia Lawall <julia.lawall@inria.fr> wrote:
> >
> >
> >
> > On Sat, 5 Apr 2025, Andy Shevchenko wrote:
> >
> > > On Sat, Apr 5, 2025 at 11:23 AM Greg Kroah-Hartman
> > > <gregkh@linuxfoundation.org> wrote:
> > > > On Sat, Apr 05, 2025 at 12:09:59AM +0000, Abraham Samuel Adekunle wrote:
> > > > > Replace the bitwise AND operator `&` with a modulo
> > > > > operator `%` and decimal number to make the upper limit visible
> > > > > and clear what the semantic of it is.
> > > >
> > > > Eeek, no.  We all "know" what & means (it's a bit mask to handle the
> > > > issues involved), and we all do NOT know that % will do the same thing
> > > > at all.
> > >
> > > And that is exactly the purpose of the change. The % 4096 makes it
> > > clearer on what's going on, i.e. we are doing indexes that are wrapped
> > > around the given number.
> >
> > Ah, OK.  Samuel, indeed, the log message was going in that direction.  But
> > probably it should be more clear.  Why is 4096 the upper limit in this
> > case, for example.
>
> Okay thank you Julia.
> So I can add something like this to the commit message?
>
> "Replace the bitwise AND operator `&` with a modulo
> operator `%` and decimal number to make the upper limit visible
> and clear that we are doing indexes that are wrapped around the given number"?

No.  First say what the upper limit is.  Then explain that a module
operation is thus more appropriate than a bit mask.  People need to
understand the reasoning behind the change.  By saying "make the upper
limit visible" you are asking them to trust your reasoning, or more likely
requiring them to reconstruct it.  You need to make explicit all the
information that is needed to understand the change, so people will know
what to look for to verify it.

> You also said I should add a patch for the white space around binary operators.
> I did it together because the changes were on the same line.
> Should I still add a second patch for that change?

It's quite a different issue.  So a second patch seems reasonable.  YOu
can do it before yours.  Then if someone still doesn't unlike the modulo
patch, the spacing patch can still be accepted.

julia

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

* Re: [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
  2025-04-06 12:59         ` Julia Lawall
@ 2025-04-06 19:31           ` Samuel Abraham
  0 siblings, 0 replies; 8+ messages in thread
From: Samuel Abraham @ 2025-04-06 19:31 UTC (permalink / raw)
  To: Julia Lawall
  Cc: Andy Shevchenko, Greg Kroah-Hartman, andy, dan.carpenter,
	linux-staging, linux-kernel, outreachy

On Sun, Apr 6, 2025 at 1:59 PM Julia Lawall <julia.lawall@inria.fr> wrote:
>
>
>
> On Sat, 5 Apr 2025, Samuel Abraham wrote:
>
> > On Sat, Apr 5, 2025 at 1:30 PM Julia Lawall <julia.lawall@inria.fr> wrote:
> > >
> > >
> > >
> > > On Sat, 5 Apr 2025, Andy Shevchenko wrote:
> > >
> > > > On Sat, Apr 5, 2025 at 11:23 AM Greg Kroah-Hartman
> > > > <gregkh@linuxfoundation.org> wrote:
> > > > > On Sat, Apr 05, 2025 at 12:09:59AM +0000, Abraham Samuel Adekunle wrote:
> > > > > > Replace the bitwise AND operator `&` with a modulo
> > > > > > operator `%` and decimal number to make the upper limit visible
> > > > > > and clear what the semantic of it is.
> > > > >
> > > > > Eeek, no.  We all "know" what & means (it's a bit mask to handle the
> > > > > issues involved), and we all do NOT know that % will do the same thing
> > > > > at all.
> > > >
> > > > And that is exactly the purpose of the change. The % 4096 makes it
> > > > clearer on what's going on, i.e. we are doing indexes that are wrapped
> > > > around the given number.
> > >
> > > Ah, OK.  Samuel, indeed, the log message was going in that direction.  But
> > > probably it should be more clear.  Why is 4096 the upper limit in this
> > > case, for example.
> >
> > Okay thank you Julia.
> > So I can add something like this to the commit message?
> >
> > "Replace the bitwise AND operator `&` with a modulo
> > operator `%` and decimal number to make the upper limit visible
> > and clear that we are doing indexes that are wrapped around the given number"?
>
> No.  First say what the upper limit is.  Then explain that a module
> operation is thus more appropriate than a bit mask.  People need to
> understand the reasoning behind the change.  By saying "make the upper
> limit visible" you are asking them to trust your reasoning, or more likely
> requiring them to reconstruct it.  You need to make explicit all the
> information that is needed to understand the change, so people will know
> what to look for to verify it.

Okay thank you very much I get now.
>
> > You also said I should add a patch for the white space around binary operators.
> > I did it together because the changes were on the same line.
> > Should I still add a second patch for that change?
>
> It's quite a different issue.  So, a second patch seems reasonable.  You
> can do it before yours.  Then, if someone still doesn't like the modulo
> patch, the spacing patch can still be accepted.

Okay then.
It makes a lot of sense.
Thank you.

Adekunle

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

end of thread, other threads:[~2025-04-06 19:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-05  0:09 [PATCH v2] staging: rtl8723bs: Use % 4096 instead of & 0xfff Abraham Samuel Adekunle
2025-04-05  0:33 ` Julia Lawall
2025-04-05  8:22 ` Greg Kroah-Hartman
2025-04-05 12:24   ` Andy Shevchenko
2025-04-05 12:30     ` Julia Lawall
2025-04-05 14:55       ` Samuel Abraham
2025-04-06 12:59         ` Julia Lawall
2025-04-06 19:31           ` Samuel Abraham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox