Subject: Re: [PATCH] wifi: rt2x00: use explicitly signed type for clamping

From: Stanislaw Gruszka <[email-masked]>
Date: Thu, 20 Oct 2022 12:40:40 +0200

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 <[email-masked]>
> > > Cc: Andy Shevchenko <[email-masked]>
> > > Cc: Stanislaw Gruszka <[email-masked]>
> > > Cc: Helmut Schaa <[email-masked]>
> > > Cc: Kalle Valo <[email-masked]>
> > > Signed-off-by: Jason A. Donenfeld <[email-masked]>
> > 
> > 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