summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-07-24 22:17:13 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-07-24 22:17:13 +0200
commit2759b81decc991f756044942459ecc8ba92b32fd (patch)
treeaf52cec6a301436ee17401e796d52c9830658d80
parent9a5763624f6148ddfa5227970b6d22c032089f69 (diff)
downloadplan9front-2759b81decc991f756044942459ecc8ba92b32fd.tar.xz
ether82563: work arround for 82579LM on Lenovo X230
dont reset the the phy on reset as this causes the link to be stuck at 10mbps.
-rw-r--r--sys/src/9/pc/ether82563.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/src/9/pc/ether82563.c b/sys/src/9/pc/ether82563.c
index d7f07b75b..eb6e35998 100644
--- a/sys/src/9/pc/ether82563.c
+++ b/sys/src/9/pc/ether82563.c
@@ -1604,6 +1604,12 @@ i82563detach(Ctlr *ctlr)
r = csr32r(ctlr, Ctrl);
if(ctlr->type == i82566 || ctlr->type == i82579)
r |= Phyrst;
+ /*
+ * hack: 82579LM on lenovo X230 is stuck at 10mbps after
+ * reseting the phy, but works fine if we dont reset.
+ */
+ if(ctlr->pcidev->did == 0x1502)
+ r &= ~Phyrst;
csr32w(ctlr, Ctrl, Devrst | r);
delay(1);
for(timeo = 0;; timeo++){