On 01/23/2017 01:33 AM, maowenan wrote: > > > On 2017/1/6 12:48, Florian Fainelli wrote: >> Le 01/05/17 à 19:39, maowenan a écrit : >>> >>> >>> On 2017/1/6 11:21, Florian Fainelli wrote: >>>> +Andrew, >>>> >>>> Le 01/05/17 à 18:29, maowenan a écrit : >>>>>>> @Florian Fainelli, what's your comments about this patch? >>>>>> >>>>>> I am trying to reproduce what you are seeing, but at first glance is >>>>>> looks like an >>>>>> appropriate solution to me. Do you mind giving me a couple more days? >>>>>> >>>>>> Thanks! >>>>>> -- >>>>>> Florian >>>>> >>>>> Hi Florian, >>>>> Do you have any update about this patch? >>>> >>>> Your patch is not complete, there are now MDIO device (which PHY devices >>>> are a superset of) that would also need a similar fix. >>>> >>> ok, is there any patch to fix MDIO yet? if not, i will verify it and give >>> a fix patch? >>> >> >> No, there is not a patch yet, your approach looks okay, but need to be >> made general and cover MDIO devices as well. >> >> Thank you! >> > > Hi Florian, > Sorry I can't get you. There has already existed codes which are not > originally written by me to cover MDIO device in phy_attach_direct and > phy_detach in my patch . > Please help check, thank you. > phy_attach_direct: > struct device *d = &phydev->mdio.dev; > ... > get_device(d); > ... > > phy_detach: > put_device(&phydev->mdio.dev); /*--MDIO device--*/ > + module_put(phydev->mdio.dev.driver->owner); > module_put(bus->owner);
Took me a while, but I can finally reproduce this here as well, will come up with a fix, thanks for your patience! -- Florian