[PATCH] axnet_cs: fix phy_id detection for bogus Asix chip.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <netdev@...>
Date: Saturday, April 4, 2009 - 8:49 pm

axnet_cs:

(1) Some Asix phy return bogus value except 0 or 0xffff.
Skip this phy_id.

(2) Some Asix chip need to set "select Internal PHY" bit
at AX88190_init.

Signed-off-by: Ken Kawasaki

---

--- linux-2.6.29-git1/drivers/net/pcmcia/axnet_cs.c.orig 2009-03-29 11:55:26.000000000 +0900
+++ linux-2.6.29-git1/drivers/net/pcmcia/axnet_cs.c 2009-03-29 12:01:40.000000000 +0900
@@ -339,7 +339,7 @@ static int axnet_config(struct pcmcia_de
{
struct net_device *dev = link->priv;
axnet_dev_t *info = PRIV(dev);
- int i, j, last_ret, last_fn;
+ int i, j, j2, last_ret, last_fn;

DEBUG(0, "axnet_config(0x%p)\n", link);

@@ -388,6 +388,8 @@ static int axnet_config(struct pcmcia_de

for (i = 0; i < 32; i++) {
j = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 1);
+ j2 = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 2);
+ if (j == j2) continue;
if ((j != 0) && (j != 0xffff)) break;
}

@@ -398,6 +400,8 @@ static int axnet_config(struct pcmcia_de
pcmcia_access_configuration_register(link, &reg);
for (i = 0; i < 32; i++) {
j = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 1);
+ j2 = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 2);
+ if (j == j2) continue;
if ((j != 0) && (j != 0xffff)) break;
}
}
@@ -1767,6 +1771,9 @@ static void AX88190_init(struct net_devi
ei_local->tx1 = ei_local->tx2 = 0;
ei_local->txing = 0;

+ if (info->flags & IS_AX88790) /* select Internal PHY */
+ outb(0x10, e8390_base + AXNET_GPIO);
+
if (startp)
{
outb_p(0xff, e8390_base + EN0_ISR);

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] axnet_cs: fix phy_id detection for bogus Asix chip., Ken Kawasaki, (Sat Apr 4, 8:49 pm)
[PATCH] pcnet_cs: add new id, Ken Kawasaki, (Sat Jul 4, 8:17 pm)
Re: [PATCH] pcnet_cs: add new id, David Miller, (Sun Jul 5, 10:02 pm)
Re: [PATCH] pcnet_cs: add new id, David Miller, (Tue Jun 30, 10:19 am)
Re: [PATCH] pcnet_cs: add new id, Ken Kawasaki, (Sun Jul 5, 4:34 am)