Messages in this thread |  | | From | "Kweh, Hock Leong" <> | Subject | RE: [PATCH] net: stmmac: synchronize stmmac_open and stmmac_dvr_probe | Date | Tue, 27 Dec 2016 05:26:43 +0000 |
| |
> -----Original Message----- > From: David Miller [mailto:davem@davemloft.net] > Sent: Tuesday, December 27, 2016 12:55 PM > To: Kweh, Hock Leong <hock.leong.kweh@intel.com> > Cc: Joao.Pinto@synopsys.com; peppe.cavallaro@st.com; > seraphin.bonnaffe@st.com; alexandre.torgue@gmail.com; > manabian@gmail.com; niklas.cassel@axis.com; johan@kernel.org; > pavel@ucw.cz; Ong, Boon Leong <boon.leong.ong@intel.com>; > netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Voon, Weifeng > <weifeng.voon@intel.com>; lars.persson@axis.com > Subject: Re: [PATCH] net: stmmac: synchronize stmmac_open and > stmmac_dvr_probe > > From: "Kweh, Hock Leong" <hock.leong.kweh@intel.com> > Date: Tue, 27 Dec 2016 19:44:59 +0800 > > > From: "Kweh, Hock Leong" <hock.leong.kweh@intel.com> > > > > If kernel module stmmac driver being loaded after OS booted, there is a > > race condition between stmmac_open() and stmmac_mdio_register(), which is > > invoked inside stmmac_dvr_probe(), and the error is showed in dmesg log as > > PHY not found and stmmac_open() failed: > ... > > The resolution used wait_for_completion_interruptible() to synchronize > > stmmac_open() and stmmac_dvr_probe() to prevent the race condition > > happening. > > > > Signed-off-by: Kweh, Hock Leong <hock.leong.kweh@intel.com> > > The proper thing to do is to make sure register_netdevice() is not > invoked until it is %100 safe to call stmmac_open().
Noted & thanks. Will look into it.
Regards, Wilson
|  |