[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190925121406.GA1864@lunn.ch>
Date: Wed, 25 Sep 2019 14:14:06 +0200
From: Andrew Lunn <andrew@...n.ch>
To: David Miller <davem@...emloft.net>
Cc: alvaro.gamez@...ent.com, dan.carpenter@...cle.com,
radhey.shyam.pandey@...inx.com, michal.simek@...inx.com,
linux@...linux.org.uk, netdev@...r.kernel.org,
kernel-janitors@...r.kernel.org
Subject: Re: [PATCH net] net: axienet: fix a signedness bug in probe
On Wed, Sep 25, 2019 at 01:35:07PM +0200, David Miller wrote:
> From: "Alvaro G. M" <alvaro.gamez@...ent.com>
> Date: Wed, 25 Sep 2019 13:05:43 +0200
>
> > Hi, Dan
> >
> > On Wed, Sep 25, 2019 at 01:59:11PM +0300, Dan Carpenter wrote:
> >> The "lp->phy_mode" is an enum but in this context GCC treats it as an
> >> unsigned int so the error handling is never triggered.
> >>
> >> lp->phy_mode = of_get_phy_mode(pdev->dev.of_node);
> >> - if (lp->phy_mode < 0) {
> >> + if ((int)lp->phy_mode < 0) {
> >
> > This (almost) exact code appears in a lot of different drivers too,
> > so maybe it'd be nice to review them all and apply the same cast if needed?
>
> Or make the thing an int if negative values are never valid 32-bit phy_mode
> values anyways.
Maybe we should change the API
int of_get_phy_mode(struct device_node *np, phy_interface_t *phy_mode);
Separate the error from the value we are getting.
Andrew
Powered by blists - more mailing lists