From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753081AbdBCJyB (ORCPT ); Fri, 3 Feb 2017 04:54:01 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:44712 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752808AbdBCJyA (ORCPT ); Fri, 3 Feb 2017 04:54:00 -0500 Date: Fri, 3 Feb 2017 10:54:03 +0100 From: Greg KH To: Javier Rodriguez Cc: janani.rvchndrn@gmail.com, bhumirks@gmail.com, imre.deak@gmail.com, emil.gedda@emilgedda.se, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] staging: gdm724x: fix sparse warnings in file gdm_lte.c Message-ID: <20170203095403.GD24767@kroah.com> References: <1485887839-1756-1-git-send-email-jrodbar@yahoo.es> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1485887839-1756-1-git-send-email-jrodbar@yahoo.es> User-Agent: Mutt/1.7.2 (2016-11-26) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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