[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180403162334.GI30522@ZenIV.linux.org.uk>
Date: Tue, 3 Apr 2018 17:23:34 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: Florian Fainelli <f.fainelli@...il.com>
Cc: netdev@...r.kernel.org, Doug Berger <opendmb@...il.com>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net 2/2] net: systemport: Fix sparse warnings in
bcm_sysport_insert_tsb()
On Mon, Apr 02, 2018 at 03:58:56PM -0700, Florian Fainelli wrote:
> skb->protocol is a __be16 which we would be calling htons() against,
> while this is not wrong per-se as it correctly results in swapping the
> value on LE hosts, this still upsets sparse. Adopt a similar pattern to
> what other drivers do and just assign ip_ver to skb->protocol, and then
> use htons() against the different constants such that the compiler can
> resolve the values at build time.
This is completely bogus. What sparse is complaining about is htons used
to convert from big-endian to host-endian. Which is what ntohs is for.
IOW, instead of all that crap just
- ip_ver = htons(skb->protocol);
+ ip_ver = ntohs(skb->protocol);
and be done with that. Same in other drivers with the same problem.
Powered by blists - more mailing lists