projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c0b91a5
)
r8169: fix RTL8168EP take too long to complete driver initialization.
author
Chunhao Lin
<hau@realtek.com>
Tue, 30 Jan 2018 17:32:36 +0000
(
01:32
+0800)
committer
David S. Miller
<davem@davemloft.net>
Wed, 31 Jan 2018 15:26:30 +0000
(10:26 -0500)
Driver check the wrong register bit in rtl_ocp_tx_cond() that keep driver
waiting until timeout.
Fix this by waiting for the right register bit.
Signed-off-by: Chunhao Lin <hau@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169.c
patch
|
blob
|
history
diff --git
a/drivers/net/ethernet/realtek/r8169.c
b/drivers/net/ethernet/realtek/r8169.c
index 8e91274174f15270801a8a7000a367dd28004c6a..0bf7d175925036644894aedf4835eece7c01877a 100644
(file)
--- a/
drivers/net/ethernet/realtek/r8169.c
+++ b/
drivers/net/ethernet/realtek/r8169.c
@@
-1395,7
+1395,7
@@
DECLARE_RTL_COND(rtl_ocp_tx_cond)
{
void __iomem *ioaddr = tp->mmio_addr;
- return RTL_R8(IBISR0) & 0x
02
;
+ return RTL_R8(IBISR0) & 0x
20
;
}
static void rtl8168ep_stop_cmac(struct rtl8169_private *tp)
@@
-1403,7
+1403,7
@@
static void rtl8168ep_stop_cmac(struct rtl8169_private *tp)
void __iomem *ioaddr = tp->mmio_addr;
RTL_W8(IBCR2, RTL_R8(IBCR2) & ~0x01);
- rtl_msleep_loop_wait_
low
(tp, &rtl_ocp_tx_cond, 50, 2000);
+ rtl_msleep_loop_wait_
high
(tp, &rtl_ocp_tx_cond, 50, 2000);
RTL_W8(IBISR0, RTL_R8(IBISR0) | 0x20);
RTL_W8(IBCR0, RTL_R8(IBCR0) & ~0x01);
}