summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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++){