Messages in this thread | | | Date | Mon, 26 Dec 2016 23:54:36 -0500 (EST) | Subject | Re: [PATCH] net: stmmac: synchronize stmmac_open and stmmac_dvr_probe | From | David Miller <> |
| |
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().
| |