Messages in this thread | | | Date | Fri, 12 Dec 2014 10:43:04 -0600 | From | Larry Finger <> | Subject | Re: [PATCH] staging: rtl8723au: Fix sparse warnings |
| |
On 12/12/2014 06:52 AM, Dan Carpenter wrote: > 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@konagma.com> >>> --- >>> 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.
Your point regarding bugs is taken. What I should have said is that blindly making _le changes to hide Sparse messages may hide existing bugs for BE hardware.
Larry
| |