Re: [PATCH] staging: rtl8712: Fix sparse warnings about endianness

From: Larry Finger
Date: Wed Feb 15 2017 - 11:38:32 EST

On 02/14/2017 08:57 PM, maomao xu wrote:
drivers/staging/rtl8712/rtl871x_xmit.c:350:44: warning: restricted __le32 degrades to integer

Signed-off-by: maomao xu <albert008.xu@xxxxxxxxx>

You are using the wrong tree. In the staging-next branch of git://, there is a patch

commit 07222e535831b916221dd2a48a3047ec7e45dc72
Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Date: Fri Feb 10 21:30:27 2017 -0600

staging: r8712u: Fix Sparse warning in rtl871x_xmit.c

that already makes that fix. In fact, all the endian issues in that driver are resolved. When the compilers were changed to include endian issues with all Sparse checks, we started getting patches that silenced the warnings, but broke the driver on big-endian hardware. For that reason, I generate the set of patches that fixed all of them and tested on a BE laptop that I keep just for that purpose.



diff --git a/drivers/staging/rtl8712/rtl871x_xmit.c b/drivers/staging/rtl8712/rtl871x_xmit.c
index 4ab82ba..1c2ac28 100644
--- a/drivers/staging/rtl8712/rtl871x_xmit.c
+++ b/drivers/staging/rtl8712/rtl871x_xmit.c
@@ -347,7 +347,7 @@ sint r8712_update_attrib(struct _adapter *padapter, _pkt *pkt,
* some settings above.
if (check_fwstate(pmlmepriv, WIFI_MP_STATE))
- pattrib->priority = (txdesc.txdw1 >> QSEL_SHT) & 0x1f;
+ pattrib->priority = (le32_to_cpu(txdesc.txdw1) >> QSEL_SHT) & 0x1f;
return _SUCCESS;