Re: [PATCH] staging: rtl8723au: Fix sparse warning: cast to restricted __le16

From: Jes Sorensen
Date: Thu Aug 06 2015 - 08:21:58 EST


Johannes Postma <jgmpostma@xxxxxxxxx> writes:
> usPtr is used as __le16 *, but was defined as u16 *.
> This was reported by sparse as:
> drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:1850:29: warning: cast to
> restricted __le16
>
> This patch fixes the type of usPtr.
>
> Signed-off-by: Johannes Postma <jgmpostma@xxxxxxxxx>
> ---
> drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Looks OK to me. Probably worth changing the *(usPtr + index) to be
usPtr[index] as well to make the code easier to read.

Jes

> diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c b/drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c
> index cb5076a..eb76ac4 100644
> --- a/drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c
> +++ b/drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c
> @@ -1838,7 +1838,7 @@ Hal_EfuseParseThermalMeter_8723A(struct rtw_adapter *padapter,
>
> static void rtl8723a_cal_txdesc_chksum(struct tx_desc *ptxdesc)
> {
> - u16 *usPtr = (u16 *) ptxdesc;
> + __le16 *usPtr = (__le16 *)ptxdesc;
> u32 count = 16; /* (32 bytes / 2 bytes per XOR) => 16 times */
> u32 index;
> u16 checksum = 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/