Subject: Re: [PATCH] phy: remove irq param to fix crash in fixed_phy_add()

From: Andrew Lunn <[email-masked]>
Date: Mon, 16 May 2016 15:40:42 +0200

On Mon, May 16, 2016 at 03:11:35PM +0200, Rabin Vincent wrote:
> On Mon, May 16, 2016 at 02:29:03PM +0200, Andrew Lunn wrote:
> > What i think is better is to make fixed_phy_add() return -EPROBE_DEFER
> > if it is called before fixed_mdio_bus_init().
> 
> I don't see how this will work for platforms such as ar7 and bcm47xx
> which call fixed_phy_add() from platform code.

Ah! Not good.

fixed_phy_add() is the lower layer call. What we can do is only access
fmb->mii_bus->irq[phy_addr] if irq != PHY_POLL. That should make ar7
and bcm47xx work again.

The higher level function fixed_phy_register() should return
-EPROBE_DEFER if fixed_mdio_bus_init() has not been called yet.

Thanks
	Andrew