diff options
| author | Marc Kleine-Budde <mkl@pengutronix.de> | 2011-03-28 14:54:08 +0000 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-03-30 02:31:36 -0700 | 
| commit | d005a09edf8b12dd1bec651b2cf94caa0e7bb1be (patch) | |
| tree | 7be85d432af96505426104e2a4e47d85ceebe73b /include/linux/usb/usbnet.h | |
| parent | ff9a57a62afbbe2d0f3a09af321f1fd7645f38a5 (diff) | |
| download | olio-linux-3.10-d005a09edf8b12dd1bec651b2cf94caa0e7bb1be.tar.xz olio-linux-3.10-d005a09edf8b12dd1bec651b2cf94caa0e7bb1be.zip  | |
phylib: phy_attach_direct: phy_init_hw can fail, add cleanup
The function phy_attach_direct attaches the phy and calls phy_init_hw.
phy_init_hw can fail, but the phy is still marked as attached. Successive
calls to phy_attach_direct will fail because the phy is busy.
[    1.020000] eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)
[    1.030000] eth1: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:01, irq=-1)
[    2.050000] Sending DHCP requests .
[    3.020000] PHY: 1:00 - Link is Up - 100/Full
[    5.110000] ..... timed out!
[   87.660000] IP-Config: Reopening network devices...
[   88.190000] FEC: MDIO read timeout
[   88.190000] eth0: could not attach to PHY
[   88.190000] IP-Config: Failed to open eth0
[   88.210000] FEC: MDIO read timeout
[   88.210000] eth1: could not attach to PHY
[   88.210000] IP-Config: Failed to open eth1
[   88.220000] IP-Config: No network devices available.
[   88.220000] Freeing init memory: 6968K
[...]
starting network interfaces...
ip: RTNETLINK answers: File exists
[   94.000000] net eth0: PHY already attached
[   94.010000] eth0: could not attach to PHY
ip: SIOCSIFFLAGS: Device or resource busy
This patch adds phy_detach to clean up if phy_init_hw fails.
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/usb/usbnet.h')
0 files changed, 0 insertions, 0 deletions