Messages in this thread | | | From | Perry Hooker <> | Date | Fri, 10 Feb 2017 11:24:50 -0700 | Subject | Re: [PATCH] staging: r8712u: remove unnecessary le32_to_cpu |
| |
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@lwfinger.net> 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@gmail.com> >>>>> --- >>>>> 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 > >
| |