diff mbox series

net: phy: ensure that phy IDs are correctly typed

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

Commit Message

Russell King (Oracle) Dec. 19, 2019, 10:20 a.m. UTC
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(-)

Comments

Russell King (Oracle) Dec. 19, 2019, 10:24 a.m. UTC | #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.
> 
> 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
> 
>
Andrew Lunn Dec. 19, 2019, 9:01 p.m. UTC | #2
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
Russell King (Oracle) Dec. 19, 2019, 10:40 p.m. UTC | #3
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 mbox series

Patch

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;