2008-10-29 09:35:14

by Holger Schurig

[permalink] [raw]
Subject: [PATCH] libertas: remove two libertas sparse warning

Johannes Berg detected this two sparse warnings:

drivers/net/wireless/libertas/cmd.c:609:16: warning: cast to restricted __le16
drivers/net/wireless/libertas/cmd.c:611:16: warning: cast to restricted __le16

... but cmd.minlevel is "s8", so we can access it directly and hope
for the sign-extension-code in the compiler to convert that to the
"s16" type.

Signed-off-by: Holger Schurig <[email protected]>


---
Sent this to Linville, johill and Dan, but forgot the mailing list ;-/

Index: linux-wl/drivers/net/wireless/libertas/cmd.c
===================================================================
--- linux-wl.orig/drivers/net/wireless/libertas/cmd.c 2008-10-29 08:22:28.000000000 +0100
+++ linux-wl/drivers/net/wireless/libertas/cmd.c 2008-10-29 08:22:36.000000000 +0100
@@ -606,9 +606,9 @@ int lbs_get_tx_power(struct lbs_private
if (ret == 0) {
*curlevel = le16_to_cpu(cmd.curlevel);
if (minlevel)
- *minlevel = le16_to_cpu(cmd.minlevel);
+ *minlevel = cmd.minlevel;
if (maxlevel)
- *maxlevel = le16_to_cpu(cmd.maxlevel);
+ *maxlevel = cmd.maxlevel;
}

lbs_deb_leave(LBS_DEB_CMD);


2008-10-29 10:19:05

by Dan Williams

[permalink] [raw]
Subject: Re: [PATCH] libertas: remove two libertas sparse warning

On Wed, 2008-10-29 at 10:35 +0100, Holger Schurig wrote:
> Johannes Berg detected this two sparse warnings:
>
> drivers/net/wireless/libertas/cmd.c:609:16: warning: cast to restricted __le16
> drivers/net/wireless/libertas/cmd.c:611:16: warning: cast to restricted __le16
>
> ... but cmd.minlevel is "s8", so we can access it directly and hope
> for the sign-extension-code in the compiler to convert that to the
> "s16" type.
>
> Signed-off-by: Holger Schurig <[email protected]>

Acked-by: Dan Williams <[email protected]>

>
> ---
> Sent this to Linville, johill and Dan, but forgot the mailing list ;-/
>
> Index: linux-wl/drivers/net/wireless/libertas/cmd.c
> ===================================================================
> --- linux-wl.orig/drivers/net/wireless/libertas/cmd.c 2008-10-29 08:22:28.000000000 +0100
> +++ linux-wl/drivers/net/wireless/libertas/cmd.c 2008-10-29 08:22:36.000000000 +0100
> @@ -606,9 +606,9 @@ int lbs_get_tx_power(struct lbs_private
> if (ret == 0) {
> *curlevel = le16_to_cpu(cmd.curlevel);
> if (minlevel)
> - *minlevel = le16_to_cpu(cmd.minlevel);
> + *minlevel = cmd.minlevel;
> if (maxlevel)
> - *maxlevel = le16_to_cpu(cmd.maxlevel);
> + *maxlevel = cmd.maxlevel;
> }
>
> lbs_deb_leave(LBS_DEB_CMD);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html