]> git.baikalelectronics.ru Git - kernel.git/commit
net: fec: ptp: avoid register access when ipg clock is disabled
authorNimrod Andy <B38611@freescale.com>
Thu, 21 Aug 2014 09:09:38 +0000 (17:09 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 Aug 2014 17:45:56 +0000 (10:45 -0700)
commit2d64c42b9989ffdb3156f6d81fbc886c6323625c
tree82ccf2f5b675f2a65a362772b8875817d15ce13a
parentb089beb9442170b6d44d668e43eab20352ec3963
net: fec: ptp: avoid register access when ipg clock is disabled

The current kernel hang on i.MX6SX with rootfs mount from MMC.
The root cause is that ptp uses a periodic timer to access enet register
even if ipg clock is disabled.

FEC ptp driver start one period timer to read 1588 counter register in the
ptp init function that is called after FEC driver is probed.

To save power, after FEC probe finish, FEC driver disable all clocks including
ipg clock that is needed for register access.

i.MX5x, i.MX6q/dl/sl FEC register access don't cause system hang when ipg clock
is disabled, just return zero value. But for i.MX6sx SOC, it cause system hang.

To avoid the issue, we need to check ptp clock status before ptp timer count access.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec.h
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/freescale/fec_ptp.c