[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20151027212045.GC2307@lunn.ch>
Date: Tue, 27 Oct 2015 22:20:45 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Florian Fainelli <f.fainelli@...il.com>
Cc: Frode Isaksen <fisaksen@...libre.com>,
Neil Armstrong <narmstrong@...libre.com>,
"David S. Miller" <davem@...emloft.net>,
Guenter Roeck <linux@...ck-us.net>,
vivien.didelot@...oirfairelinux.com,
Fabian Frederick <fabf@...net.be>,
Pavel Nakonechny <pavel.nakonechny@...tlab.ru>,
Joe Perches <joe@...ches.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 6/6] net: phy: Stop 'phy-state-machine' and 'phy_change'
work on remove
On Tue, Oct 27, 2015 at 08:57:58AM -0700, Florian Fainelli wrote:
> (don't top post please)
>
> On 27/10/15 08:53, Frode Isaksen wrote:
> > What will you need in the oops ? I presume you don' want everything or ?
> >
> > The PHY state machine is not stopped with a PHY disconnect.
>
> It is stopped with a phy_disconnect():
>
> /**
> * phy_disconnect - disable interrupts, stop state machine, and detach a PHY
> * device
> * @phydev: target phy_device struct
> */
> void phy_disconnect(struct phy_device *phydev)
> {
> if (phydev->irq > 0)
> phy_stop_interrupts(phydev);
>
> phy_stop_machine(phydev);
>
> phydev->adjust_link = NULL;
>
> phy_detach(phydev);
> }
And this does not yet get called. It probably needs to be in
dsa_switch_destroy() just before unregister_netdev() of the slave
devices.
However, the ordering in dsa_switch_destroy() looks wrong. The fixed
phys are destroyed before the slave devices. They should probably be
destroyed after the slave devices, or at least after the
phy_disconnect() is called.
Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists