]> git.baikalelectronics.ru Git - kernel.git/commit
net: macb: do not disable MDIO bus at open/close time
authorAnssi Hannula <anssi.hannula@bitwise.fi>
Thu, 23 Aug 2018 07:45:22 +0000 (10:45 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sun, 26 Aug 2018 00:34:48 +0000 (17:34 -0700)
commitf40689ab658c7897f4b90b3897520484014c406e
tree90a0a1a0d868ab19ad4dbe49fd8dc9f39910280a
parent23ec61c7fa429459e2be8c6934b9428634b556f3
net: macb: do not disable MDIO bus at open/close time

macb_reset_hw() is called from macb_close() and indirectly from
macb_open(). macb_reset_hw() zeroes the NCR register, including the MPE
(Management Port Enable) bit.

This will prevent accessing any other PHYs for other Ethernet MACs on
the MDIO bus, which remains registered at macb_reset_hw() time, until
macb_init_hw() is called from macb_open() which sets the MPE bit again.

I.e. currently the MDIO bus has a short disruption at open time and is
disabled at close time until the interface is opened again.

Fix that by only touching the RE and TE bits when enabling and disabling
RX/TX.

v2: Make macb_init_hw() NCR write a single statement.

Fixes: 00d7c7419376 ("macb: Use generic PHY layer")
Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Tested-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cadence/macb_main.c