Re: [PATCH] staging: rtl8723au: Fix sparse warnings

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

 



On Thu, Dec 11, 2014 at 05:53:30PM -0600, Larry Finger wrote:
> On 12/11/2014 04:23 PM, Krzysztof Konopko wrote:
> >Some struct fields in wifi.h are meant to be __le16 bu were declared as
> >unsigned short.  This was reported by sparse:
> >
> >   rtw_wlan_util.c:538:24: warning: cast to restricted __le16
> >   rtw_wlan_util.c:1544:29: warning: cast to restricted __le16
> >   rtw_wlan_util.c:1546:25: warning: cast to restricted __le16
> >
> >This patch changes declared types of the struct fields involved.
> >
> >Signed-off-by: Krzysztof Konopko <kris@xxxxxxxxxxx>
> >---
> >  drivers/staging/rtl8723au/include/wifi.h | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> >diff --git a/drivers/staging/rtl8723au/include/wifi.h b/drivers/staging/rtl8723au/include/wifi.h
> >index fd3da3b..8a2adc5 100644
> >--- a/drivers/staging/rtl8723au/include/wifi.h
> >+++ b/drivers/staging/rtl8723au/include/wifi.h
> >@@ -28,7 +28,7 @@
> >  struct AC_param {
> >  	unsigned char		ACI_AIFSN;
> >  	unsigned char		CW;
> >-	unsigned short	TXOP_limit;
> >+	__le16			TXOP_limit;
> >  }  __packed;
> >
> >  struct WMM_para_element {
> >@@ -39,9 +39,9 @@ struct WMM_para_element {
> >
> >  struct ADDBA_request {
> >  	unsigned char		dialog_token;
> >-	unsigned short	BA_para_set;
> >+	__le16		BA_para_set;
> >  	unsigned short	BA_timeout_value;
> >-	unsigned short	BA_starting_seqctrl;
> >+	__le16		BA_starting_seqctrl;
> >  }  __packed;
> 
> This fix may make the sparse warnings go away, but I think it
> introduces new bugs.

This kind of change, doesn't change the compiled code only how Sparse
sees it.  It can't introduce bugs.

But it may well be that the calls to le16_to_cpu() should be removed.  I
looked at it a bit but I don't know.

regards,
dan carpenter

_______________________________________________
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