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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.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.

NACK.

Larry

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;
 }



_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux