On Tue, Jan 09, 2024 at 09:27:04AM +0200, SilverPlate3 wrote: > Running 'make M=drivers/staging/vt6655 C=2' > causes sparse to generate few warnings. > This patch fixes the following warnings by ensuring le64_to_cpu > handles only __le64 values, thus dismissing chances of bad endianness. > * drivers/staging/vt6655/card.c:302:45: warning: cast to restricted __le64 > * drivers/staging/vt6655/card.c:336:23: warning: cast to restricted __le64 > * drivers/staging/vt6655/card.c:804:23: warning: cast to restricted __le64 > * drivers/staging/vt6655/card.c:831:18: warning: cast to restricted __le64 > > Signed-off-by: Ariel Silver <arielsilver77@xxxxxxxxx> From: line doesn't match the signed-off-by line :( > --- > drivers/staging/vt6655/card.c | 16 ++++++++++++---- > 1 file changed, 12 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c > index 350ab8f3778a..5dc2200466b7 100644 > --- a/drivers/staging/vt6655/card.c > +++ b/drivers/staging/vt6655/card.c > @@ -292,6 +292,7 @@ bool card_update_tsf(struct vnt_private *priv, unsigned char rx_rate, > { > u64 local_tsf; > u64 qwTSFOffset = 0; > + __le64 le_qwTSFOffset = 0; > > local_tsf = vt6655_get_current_tsf(priv); > > @@ -299,7 +300,8 @@ bool card_update_tsf(struct vnt_private *priv, unsigned char rx_rate, > qwTSFOffset = CARDqGetTSFOffset(rx_rate, qwBSSTimestamp, > local_tsf); > /* adjust TSF, HW's TSF add TSF Offset reg */ > - qwTSFOffset = le64_to_cpu(qwTSFOffset); > + le_qwTSFOffset = cpu_to_le64(qwTSFOffset); > + qwTSFOffset = le64_to_cpu(le_qwTSFOffset); Are you sure about this? Please verify just what you are doing here please... thanks, greg k-h