2014-03-04 08:19:08

by Surendra Patil

[permalink] [raw]
Subject: [PATCH] Drivers:net:wireless:ti:wl1251: Fixed Sparse invalid assignment warning

Sparse warns about invalid assignment in
drivers/net/wireless/ti/wl1251/cmd.c:451:42: warning: invalid assignment: |=
drivers/net/wireless/ti/wl1251/cmd.c:451:42: left side has type restricted __le16
drivers/net/wireless/ti/wl1251/cmd.c:451:42: right side has type int
Hence type converted right side to __le16.

Signed-off-by: Surendra Patil <[email protected]>
---
drivers/net/wireless/ti/wl1251/cmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ti/wl1251/cmd.c b/drivers/net/wireless/ti/wl1251/cmd.c
index 223649b..bf1fa18 100644
--- a/drivers/net/wireless/ti/wl1251/cmd.c
+++ b/drivers/net/wireless/ti/wl1251/cmd.c
@@ -448,7 +448,7 @@ int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len,
* Note: This bug may be caused by the fw's DTIM handling.
*/
if (is_zero_ether_addr(wl->bssid))
- cmd->params.scan_options |= WL1251_SCAN_OPT_PRIORITY_HIGH;
+ cmd->params.scan_options |= cpu_to_le16(WL1251_SCAN_OPT_PRIORITY_HIGH);
cmd->params.num_channels = n_channels;
cmd->params.num_probe_requests = n_probes;
cmd->params.tx_rate = cpu_to_le16(1 << 1); /* 2 Mbps */
--
1.8.3.2



2014-03-06 08:55:16

by Luca Coelho

[permalink] [raw]
Subject: Re: [PATCH] Drivers:net:wireless:ti:wl1251: Fixed Sparse invalid assignment warning

On Tue, 2014-03-04 at 00:18 -0800, Surendra Patil wrote:
> Sparse warns about invalid assignment in
> drivers/net/wireless/ti/wl1251/cmd.c:451:42: warning: invalid assignment: |=
> drivers/net/wireless/ti/wl1251/cmd.c:451:42: left side has type restricted __le16
> drivers/net/wireless/ti/wl1251/cmd.c:451:42: right side has type int
> Hence type converted right side to __le16.
>
> Signed-off-by: Surendra Patil <[email protected]>
> ---
> drivers/net/wireless/ti/wl1251/cmd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ti/wl1251/cmd.c b/drivers/net/wireless/ti/wl1251/cmd.c
> index 223649b..bf1fa18 100644
> --- a/drivers/net/wireless/ti/wl1251/cmd.c
> +++ b/drivers/net/wireless/ti/wl1251/cmd.c
> @@ -448,7 +448,7 @@ int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len,
> * Note: This bug may be caused by the fw's DTIM handling.
> */
> if (is_zero_ether_addr(wl->bssid))
> - cmd->params.scan_options |= WL1251_SCAN_OPT_PRIORITY_HIGH;
> + cmd->params.scan_options |= cpu_to_le16(WL1251_SCAN_OPT_PRIORITY_HIGH);
> cmd->params.num_channels = n_channels;
> cmd->params.num_probe_requests = n_probes;
> cmd->params.tx_rate = cpu_to_le16(1 << 1); /* 2 Mbps */

AFAIR wl1251 is not really endianess-safe. I think there are lots of
other places where endianess macros should be added.

Nothing wrong with this patch, I'm just saying that while at it, maybe
someone could take care of all the endianess issues with wl1251? ;)

--
Luca.


2014-03-05 16:50:27

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH] Drivers:net:wireless:ti:wl1251: Fixed Sparse invalid assignment warning

On Tue 2014-03-04 00:18:52, Surendra Patil wrote:
> Sparse warns about invalid assignment in
> drivers/net/wireless/ti/wl1251/cmd.c:451:42: warning: invalid assignment: |=
> drivers/net/wireless/ti/wl1251/cmd.c:451:42: left side has type restricted __le16
> drivers/net/wireless/ti/wl1251/cmd.c:451:42: right side has type int
> Hence type converted right side to __le16.
>
> Signed-off-by: Surendra Patil <[email protected]>

Acked-by: Pavel MMachek <[email protected]>