linux_dsm_epyc7002/drivers/net/ethernet/freescale
Russell King aac27c7a0d net: fec: use reinit_completion() in mdio accessor functions
Rather than re-initialising the entire completion on every mdio access,
use reinit_completion() which only resets the completion count.  This
avoids possible reinitialisation of the contained spinlock and waitqueue
while they may be in use (eg, mid-completion.)

Such an event could occur if there's a long delay in interrupt handling
causing the mdio accessor to time out, then a second access comes in
while the interrupt handler on a different CPU has called complete().
Another scenario where this has been observed is while locking has
been missing at the phy layer, allowing concurrent attempts to access
the MDIO bus.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-08-25 16:33:16 -07:00
..
fs_enet net: fs_enet: mask interrupts for TX partial frames. 2015-08-11 12:05:34 -07:00
fec_main.c net: fec: use reinit_completion() in mdio accessor functions 2015-08-25 16:33:16 -07:00
fec_mpc52xx_phy.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
fec_mpc52xx.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
fec_mpc52xx.h
fec_ptp.c net: fec: introduce fec_ptp_stop and use in probe fail path 2015-07-26 21:51:53 -07:00
fec.h net: fec: introduce fec_ptp_stop and use in probe fail path 2015-07-26 21:51:53 -07:00
fsl_pq_mdio.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
gianfar_ethtool.c gianfar: remove faulty filer optimizer 2015-08-12 14:47:06 -07:00
gianfar_ptp.c ptp: gianfar: use helpers for converting ns to timespec. 2015-03-31 17:19:18 -04:00
gianfar.c gianfar: Restore link state settings after MAC reset 2015-08-13 21:26:23 -07:00
gianfar.h gianfar: Enable device wakeup when appropriate 2015-07-31 15:41:49 -07:00
Kconfig net/fsl: remove dependency FSL_SOC for Gianfar 2015-06-25 02:13:04 -07:00
Makefile gianfar: Remove sysfs stubs for FIFOCFG and stashing 2014-02-18 15:03:02 -05:00
ucc_geth_ethtool.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
ucc_geth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-02 16:16:53 -04:00
ucc_geth.h net: remove skb recycling 2012-10-07 00:40:54 -04:00
xgmac_mdio.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00