linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] net/cadence/macb: fix kernel Oops if no PHY were discovered during probe
@ 2013-08-24 19:21 Boris BREZILLON
  2013-08-26  7:43 ` Nicolas Ferre
  2013-08-26  9:09 ` Bo Shen
  0 siblings, 2 replies; 4+ messages in thread
From: Boris BREZILLON @ 2013-08-24 19:21 UTC (permalink / raw)
  To: linux-arm-kernel

Test the presence of a PHY device before printing attached PHY
informations.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
---
 drivers/net/ethernet/cadence/macb.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c
index e866608..fd3b67f 100644
--- a/drivers/net/ethernet/cadence/macb.c
+++ b/drivers/net/ethernet/cadence/macb.c
@@ -1868,8 +1868,10 @@ static int __init macb_probe(struct platform_device *pdev)
 		    dev->irq, dev->dev_addr);
 
 	phydev = bp->phy_dev;
-	netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
-		    phydev->drv->name, dev_name(&phydev->dev), phydev->irq);
+	if (phydev)
+		netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
+			    phydev->drv->name, dev_name(&phydev->dev),
+			    phydev->irq);
 
 	return 0;
 
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] net/cadence/macb: fix kernel Oops if no PHY were discovered during probe
  2013-08-24 19:21 [PATCH] net/cadence/macb: fix kernel Oops if no PHY were discovered during probe Boris BREZILLON
@ 2013-08-26  7:43 ` Nicolas Ferre
  2013-08-26  9:09 ` Bo Shen
  1 sibling, 0 replies; 4+ messages in thread
From: Nicolas Ferre @ 2013-08-26  7:43 UTC (permalink / raw)
  To: linux-arm-kernel

On 24/08/2013 21:21, Boris BREZILLON :
> Test the presence of a PHY device before printing attached PHY
> informations.
>
> Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>

Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>

> ---
>   drivers/net/ethernet/cadence/macb.c |    6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c
> index e866608..fd3b67f 100644
> --- a/drivers/net/ethernet/cadence/macb.c
> +++ b/drivers/net/ethernet/cadence/macb.c
> @@ -1868,8 +1868,10 @@ static int __init macb_probe(struct platform_device *pdev)
>   		    dev->irq, dev->dev_addr);
>
>   	phydev = bp->phy_dev;
> -	netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
> -		    phydev->drv->name, dev_name(&phydev->dev), phydev->irq);
> +	if (phydev)
> +		netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
> +			    phydev->drv->name, dev_name(&phydev->dev),
> +			    phydev->irq);
>
>   	return 0;
>
>


-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] net/cadence/macb: fix kernel Oops if no PHY were discovered during probe
  2013-08-24 19:21 [PATCH] net/cadence/macb: fix kernel Oops if no PHY were discovered during probe Boris BREZILLON
  2013-08-26  7:43 ` Nicolas Ferre
@ 2013-08-26  9:09 ` Bo Shen
  2013-08-26 12:01   ` boris brezillon
  1 sibling, 1 reply; 4+ messages in thread
From: Bo Shen @ 2013-08-26  9:09 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Boris,

On 08/25/2013 03:21 AM, Boris BREZILLON wrote:
> Test the presence of a PHY device before printing attached PHY
> informations.
>
> Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
> ---
>   drivers/net/ethernet/cadence/macb.c |    6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c
> index e866608..fd3b67f 100644
> --- a/drivers/net/ethernet/cadence/macb.c
> +++ b/drivers/net/ethernet/cadence/macb.c
> @@ -1868,8 +1868,10 @@ static int __init macb_probe(struct platform_device *pdev)
>   		    dev->irq, dev->dev_addr);
>
>   	phydev = bp->phy_dev;
> -	netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
> -		    phydev->drv->name, dev_name(&phydev->dev), phydev->irq);
> +	if (phydev)
> +		netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
> +			    phydev->drv->name, dev_name(&phydev->dev),
> +			    phydev->irq);

Actually no need this check, if PHY is attached failed, the macb driver 
probe will fail, then it won't show this message.

>   	return 0;
>
>

Best Regards,
Bo Shen

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] net/cadence/macb: fix kernel Oops if no PHY were discovered during probe
  2013-08-26  9:09 ` Bo Shen
@ 2013-08-26 12:01   ` boris brezillon
  0 siblings, 0 replies; 4+ messages in thread
From: boris brezillon @ 2013-08-26 12:01 UTC (permalink / raw)
  To: linux-arm-kernel

Hello Bo,

On 26/08/2013 11:09, Bo Shen wrote:
> Hi Boris,
>
> On 08/25/2013 03:21 AM, Boris BREZILLON wrote:
>> Test the presence of a PHY device before printing attached PHY
>> informations.
>>
>> Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
>> ---
>>   drivers/net/ethernet/cadence/macb.c |    6 ++++--
>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/cadence/macb.c 
>> b/drivers/net/ethernet/cadence/macb.c
>> index e866608..fd3b67f 100644
>> --- a/drivers/net/ethernet/cadence/macb.c
>> +++ b/drivers/net/ethernet/cadence/macb.c
>> @@ -1868,8 +1868,10 @@ static int __init macb_probe(struct 
>> platform_device *pdev)
>>               dev->irq, dev->dev_addr);
>>
>>       phydev = bp->phy_dev;
>> -    netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, 
>> irq=%d)\n",
>> -            phydev->drv->name, dev_name(&phydev->dev), phydev->irq);
>> +    if (phydev)
>> +        netdev_info(dev, "attached PHY driver [%s] 
>> (mii_bus:phy_addr=%s, irq=%d)\n",
>> +                phydev->drv->name, dev_name(&phydev->dev),
>> +                phydev->irq);
>
> Actually no need this check, if PHY is attached failed, the macb 
> driver probe will fail, then it won't show this message.

You're right (thanks for pointing this out).
Indeed this is a bug I introduced in this patch series ( 
https://lkml.org/lkml/2013/8/22/381).

In macb_mii_init function, the err field may be set to 0 (instead of the 
default -ENXIO value) if no PHY
is discovered.
As macb_mii_probe return code is not copied to err, this result in a 0 
return even if macb_mii_probe
failed.

Nicolas, forget about this patch, I'll fix this in the appropriate patch 
series (except if you plan to add
dynamic MAC/PHY association, and treat missing PHY during probe process 
as an acceptable result :-)).

Best Regards,

Boris BREZILLON

>
>>       return 0;
>>
>>
>
> Best Regards,
> Bo Shen

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-08-26 12:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-24 19:21 [PATCH] net/cadence/macb: fix kernel Oops if no PHY were discovered during probe Boris BREZILLON
2013-08-26  7:43 ` Nicolas Ferre
2013-08-26  9:09 ` Bo Shen
2013-08-26 12:01   ` boris brezillon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).