net: phy: call phy_disable_interrupts() in phy_attach_direct() instead
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Wed, 9 Sep 2020 05:43:14 +0000 (14:43 +0900)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Sep 2020 19:57:08 +0000 (12:57 -0700)
commit7d3ba9360c6dac7c077fbd6631e08f32ea2bcd53
tree661fe6efadd280cc8075852e1e02f74eb71cbd75
parentda26658c3d7005aa67a706dceff7b2807b59e123
net: phy: call phy_disable_interrupts() in phy_attach_direct() instead

Since the micrel phy driver calls phy_init_hw() as a workaround,
the commit 9886a4dbd2aa ("net: phy: call phy_disable_interrupts()
in phy_init_hw()") disables the interrupt unexpectedly. So,
call phy_disable_interrupts() in phy_attach_direct() instead.
Otherwise, the phy cannot link up after the ethernet cable was
disconnected.

Note that other drivers (like at803x.c) also calls phy_init_hw().
So, perhaps, the driver caused a similar issue too.

Fixes: 9886a4dbd2aa ("net: phy: call phy_disable_interrupts() in phy_init_hw()")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy_device.c