[PATCH] staging: gdm724x: Fix sparse warnings

javier jrodbar at yahoo.es
Tue Feb 14 16:52:43 UTC 2017


El 14/02/17 a las 10:24, maomao xu escribió:
> drivers/staging/gdm724x/gdm_lte.c:311:39: warning: incorrect type in assignment (different base types)
> drivers/staging/gdm724x/gdm_lte.c:311:39:    expected restricted __sum16 [addressable] [assigned] [usertype] icmp6_cksum
> drivers/staging/gdm724x/gdm_lte.c:311:39:    got int
>
> Signed-off-by: maomao xu <albert008.xu at gmail.com>
>
> diff --git a/drivers/staging/gdm724x/gdm_lte.c b/drivers/staging/gdm724x/gdm_lte.c
> index a3e046c..ddec6d0 100644
> --- a/drivers/staging/gdm724x/gdm_lte.c
> +++ b/drivers/staging/gdm724x/gdm_lte.c
> @@ -308,7 +308,7 @@ static int gdm_lte_emulate_ndp(struct sk_buff *skb_in, u32 nic_type)
>   		memcpy(icmp_na + sizeof(struct icmp6hdr), &na,
>   		       sizeof(struct neighbour_advertisement));
>
> -		icmp6_out.icmp6_cksum = icmp6_checksum(&ipv6_out,
> +		icmp6_out.icmp6_cksum = (__force __sum16)icmp6_checksum(&ipv6_out,
>   					(u16 *)icmp_na, sizeof(icmp_na));
>   	} else {
>   		return -1;
>

This is not correct. You should use the kernel checksum functions in 
icmp6_checksum. I have a patch ready to be submitted.


More information about the devel mailing list