提交 c8014fe1 编写于 作者: F Florian Fainelli 提交者: David S. Miller

r6040: check for absent PHY

Some devices have two R6040 MACs but the second one
is not wired to any PHY, therefore the interface is
just unusable. Warn the user about that and prevent
device from registering.
Tested-by: Nbifferos <bifferos@yahoo.co.uk>
Signed-off-by: NFlorian Fainelli <florian@openwrt.org>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 aee64faf
......@@ -742,6 +742,14 @@ static int r6040_up(struct net_device *dev)
struct r6040_private *lp = netdev_priv(dev);
void __iomem *ioaddr = lp->base;
int ret;
u16 val;
/* Check presence of a second PHY */
val = r6040_phy_read(ioaddr, lp->phy_addr, 2);
if (val == 0xFFFF) {
printk(KERN_ERR DRV_NAME " no second PHY attached\n");
return -EIO;
}
/* Initialise and alloc RX/TX buffers */
r6040_init_txbufs(dev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册