Ouch. My apologies. I'll take more care next time. I've supplied an updated patch that uses the __le32 type for *(pbuf + 1). On Fri, Feb 10, 2017 at 8:07 AM, Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote: > On 02/10/2017 08:58 AM, Greg KH wrote: >> >> On Fri, Feb 10, 2017 at 08:52:12AM -0600, Larry Finger wrote: >>> >>> On 02/10/2017 08:08 AM, Greg KH wrote: >>>> >>>> On Thu, Feb 09, 2017 at 08:51:55PM -0700, Perry Hooker wrote: >>>>> >>>>> This patch fixes the following sparse warning: >>>>> drivers/staging/rtl8712/usb_ops_linux.c:212:33: warning: cast to >>>>> restricted __le32 >>>>> >>>>> Signed-off-by: Perry Hooker <perry.hooker@xxxxxxxxx> >>>>> --- >>>>> drivers/staging/rtl8712/usb_ops_linux.c | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> >>>> Does not apply to my tree :( >>> >>> >>> That is good. Yes the patch silenced the Sparse warning, but it would >>> BREAK >>> the driver on every big-endian machine. Variable pbuf is a pointer to a >>> string of bytes *in little-endian order* that is to be converted into a >>> cpu-ordered 32-bit quantity. The correct way to silence the warning is to >>> make sure the compiler understands what *(pbuf + 1) really is. >>> >>> BTW, that driver has been tested on BE hardware. Please be careful about >>> endian changes. >>> >>> NACK. >> >> >> Care to comment this somehow so that I don't accidentally take a patch >> for this in the future? > > > My recollection is that a number of patches had been submitted to clean up > the endian warnings, but I do not remember the details. > > I will try to reproduce those again, and get them resubmitted to clean up > the warnings in a manner that does not break the driver. I do have a BE > machine for testing. > > Larry > > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel