Re: [PATCH v7 2/2] staging: rtl8723bs: Use % 4096 instead of & 0xfff
Andy Shevchenko <[email protected]> Tue, 8 Apr 2025 17:45:54 +0300
| Newsgroups | dev.linux.lists.outreachy,dev.linux.lists.linux-staging,org.kernel.vger.linux-kernel |
|---|---|
| Organization | Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo |
| Message-ID | <[email protected]> |
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 <[email protected]> -- With Best Regards, Andy Shevchenko