Message ID | E1ihsvI-0001bz-3t@rmk-PC.armlinux.org.uk |
---|---|
State | Superseded |
Delegated to: | David Miller |
Headers | show |
Series | net: phy: ensure that phy IDs are correctly typed | expand |
On Thu, Dec 19, 2019 at 10:20:48AM +0000, Russell King wrote: > PHY IDs are 32-bit unsigned quantities. Ensure that they are always > treated as such, and not passed around as "int"s. > > Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Fixes: 13d0ab6750b2 ("net: phy: check return code when requesting PHY driver module") > --- > drivers/net/phy/phy_device.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c > index daaeae5f2d96..68d4d49286d7 100644 > --- a/drivers/net/phy/phy_device.c > +++ b/drivers/net/phy/phy_device.c > @@ -551,7 +551,7 @@ static const struct device_type mdio_bus_phy_type = { > .pm = MDIO_BUS_PHY_PM_OPS, > }; > > -static int phy_request_driver_module(struct phy_device *dev, int phy_id) > +static int phy_request_driver_module(struct phy_device *dev, u32 phy_id) > { > int ret; > > -- > 2.20.1 > >
On Thu, Dec 19, 2019 at 10:20:48AM +0000, Russell King wrote: > PHY IDs are 32-bit unsigned quantities. Ensure that they are always > treated as such, and not passed around as "int"s. Hi Russell Do we want to fix all cases? struct phy_device *phy_device_create(struct mii_bus *bus, int addr, int phy_id, Andrew
On Thu, Dec 19, 2019 at 10:01:00PM +0100, Andrew Lunn wrote: > On Thu, Dec 19, 2019 at 10:20:48AM +0000, Russell King wrote: > > PHY IDs are 32-bit unsigned quantities. Ensure that they are always > > treated as such, and not passed around as "int"s. > > Hi Russell > > Do we want to fix all cases? > > struct phy_device *phy_device_create(struct mii_bus *bus, int addr, int phy_id, There's also the format specifier in phydev_err() - we already have one instance where we case the u32 to unsigned long in order to get a consistent type that is large enough to print without any issues. Revised patch on its way.
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index daaeae5f2d96..68d4d49286d7 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -551,7 +551,7 @@ static const struct device_type mdio_bus_phy_type = { .pm = MDIO_BUS_PHY_PM_OPS, }; -static int phy_request_driver_module(struct phy_device *dev, int phy_id) +static int phy_request_driver_module(struct phy_device *dev, u32 phy_id) { int ret;
PHY IDs are 32-bit unsigned quantities. Ensure that they are always treated as such, and not passed around as "int"s. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> --- drivers/net/phy/phy_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)