Re: [PATCH] staging: r8712u: remove unnecessary le32_to_cpu

From: Larry Finger
Date: Fri Feb 10 2017 - 10:07:50 EST


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