On Fri, Jun 16, 2017 at 12:05 PM, Jaya Durga <jayad@xxxxxxx> wrote: > when building with make C=1 CF=-D__CHECK_ENDIAN__ > > drivers/staging/wlan-ng/hfa384x_usb.c:3383:36: warning: cast to restricted __le16 > > fixed by using the le16_to_cpus function. > > Signed-off-by: Jaya Durga <jayad@xxxxxxx> > --- > drivers/staging/wlan-ng/hfa384x_usb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/wlan-ng/hfa384x_usb.c b/drivers/staging/wlan-ng/hfa384x_usb.c > index a812e55..0e95e45 100644 > --- a/drivers/staging/wlan-ng/hfa384x_usb.c > +++ b/drivers/staging/wlan-ng/hfa384x_usb.c > @@ -3380,7 +3380,7 @@ static void hfa384x_usbin_rx(struct wlandevice *wlandev, struct sk_buff *skb) > u16 fc; > > /* Byte order convert once up front. */ > - usbin->rxfrm.desc.status = le16_to_cpu(usbin->rxfrm.desc.status); > + le16_to_cpus(&usbin->rxfrm.desc.status); Why is a cpu ordered value stored into a field that is documented to be little endian? When this happens we can't rely on this variable being little endian, can we? With the way things are now, at least it's flagged by some tool. Come this patch, it won't be. I don't think this patch fixes anything; it just tells sparse to shut up. Frans _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel