On Tue, Jan 31, 2017 at 07:37:19PM +0100, Javier Rodriguez wrote: > drivers/staging/gdm724x/gdm_lte.c:201:33: warning: incorrect type in assignment (different base types) > drivers/staging/gdm724x/gdm_lte.c:201:33: expected unsigned int [unsigned] [addressable] [usertype] ph_len > drivers/staging/gdm724x/gdm_lte.c:201:33: got restricted __be16 [usertype] payload_len > 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: Javier Rodriguez <jrodbar@xxxxxxxx> > --- > drivers/staging/gdm724x/gdm_lte.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/gdm724x/gdm_lte.c b/drivers/staging/gdm724x/gdm_lte.c > index a182757..86b2b4f 100644 > --- a/drivers/staging/gdm724x/gdm_lte.c > +++ b/drivers/staging/gdm724x/gdm_lte.c > @@ -198,7 +198,7 @@ static int icmp6_checksum(struct ipv6hdr *ipv6, u16 *ptr, int len) > memset(&pseudo_header, 0, sizeof(pseudo_header)); > memcpy(&pseudo_header.ph.ph_src, &ipv6->saddr.in6_u.u6_addr8, 16); > memcpy(&pseudo_header.ph.ph_dst, &ipv6->daddr.in6_u.u6_addr8, 16); > - pseudo_header.ph.ph_len = ipv6->payload_len; > + pseudo_header.ph.ph_len = be16_to_cpu(ipv6->payload_len); > pseudo_header.ph.ph_nxt = ipv6->nexthdr; > > w = (u16 *)&pseudo_header; > @@ -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, That feels really wrong, are you sure this is correct? thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel