On Wed, Oct 19, 2022 at 02:04:57PM +0300, Andy Shevchenko wrote: > On Wed, Oct 19, 2022 at 10:52:19AM +0200, Stanislaw Gruszka wrote: > > On Tue, Oct 18, 2022 at 02:27:34PM -0600, Jason A. Donenfeld wrote: > > > On some platforms, `char` is unsigned, which makes casting -7 to char > > > overflow, which in turn makes the clamping operation bogus. Instead, > > > deal with an explicit `s8` type, so that the comparison is always > > > signed, and return an s8 result from the function as well. Note that > > > this function's result is assigned to a `short`, which is always signed. > > > > > > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > > > Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > > > Cc: Stanislaw Gruszka <stf_xl@xxxxx> > > > Cc: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> > > > Cc: Kalle Valo <kvalo@xxxxxxxxxx> > > > Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> > > > > I prefer s8 just because is shorter name than short :-) > > Shouldn't the corresponding data structure type be fixed accordingly? We can change types of channel_info default_power* fields in rt2x00.h, but I'm a bit reluctant to do so, as I'm afraid this could change actual power values sent to the hardware and will require careful verification. Regards Stanislaw