diff options
author | Ricardo Ribalda <ricardo.ribalda@gmail.com> | 2011-11-08 00:39:57 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-09 21:39:57 +0100 |
commit | f79d7e6f6ae397caf219cef1392ca39b3ff10833 (patch) | |
tree | f3d7bd824e1402496fccc0441d983087acc27e89 /drivers/net/ethernet/xilinx | |
parent | net/temac: FIX segfault when process old irqs (diff) | |
download | linux-f79d7e6f6ae397caf219cef1392ca39b3ff10833.tar.xz linux-f79d7e6f6ae397caf219cef1392ca39b3ff10833.zip |
net/ll_temac: FIX : Wait for indirect wait to end
While tracing down a connectivity problem on the temac I connected a
probe to the Cross bar irq, and it was triggered when doing
ifdown->ifup.
This is fixed once waiting for the indirect write to end. Since it is
not on the hot path there is no performance loss.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/xilinx')
-rw-r--r-- | drivers/net/ethernet/xilinx/ll_temac_main.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c index 05a1ffad20d2..2681b53820ee 100644 --- a/drivers/net/ethernet/xilinx/ll_temac_main.c +++ b/drivers/net/ethernet/xilinx/ll_temac_main.c @@ -114,6 +114,7 @@ void temac_indirect_out32(struct temac_local *lp, int reg, u32 value) return; temac_iow(lp, XTE_LSW0_OFFSET, value); temac_iow(lp, XTE_CTL0_OFFSET, CNTLREG_WRITE_ENABLE_MASK | reg); + temac_indirect_busywait(lp); } /** |