提交 8348b4db 编写于 作者: F Francois Romieu 提交者: Jeff Garzik

[PATCH] sis190: compare the lpa to the local advertisement

The station control register must depend on both the advertisement and the lpa

The link partner ability has better be intersected with the current
advertised value before it is feed to the station control register.
Sight-catched-by: NLars Vahlenberg <lars.vahlenberg@gmail.com>
Signed-off-by: NFrancois Romieu <romieu@fr.zoreil.com>
Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
上级 560d3d52
......@@ -952,12 +952,17 @@ static void sis190_phy_task(void * data)
0x01 | _10bpsH },
{ 0, "unknown", 0x0000 }
}, *p;
u16 adv;
val = mdio_read(ioaddr, phy_id, 0x1f);
net_link(tp, KERN_INFO "%s: mii ext = %04x.\n", dev->name, val);
val = mdio_read(ioaddr, phy_id, MII_LPA);
net_link(tp, KERN_INFO "%s: mii lpa = %04x.\n", dev->name, val);
adv = mdio_read(ioaddr, phy_id, MII_ADVERTISE);
net_link(tp, KERN_INFO "%s: mii lpa = %04x adv = %04x.\n",
dev->name, val, adv);
val &= adv;
for (p = reg31; p->ctl; p++) {
if ((val & p->val) == p->val)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册