Re: [RFC/PATCH] Fixes for ULi5261 (tulip driver)

From: Pozsar Balazs
Date: Sat Aug 19 2006 - 02:14:45 EST


On Fri, Aug 18, 2006 at 05:16:41PM -0700, Valerie Henson wrote:
> On Wed, Aug 16, 2006 at 09:53:45PM +0200, Pozsar Balazs wrote:
> > On Wed, Aug 16, 2006 at 08:02:02PM +0200, Prakash Punnoor wrote:
> > > Am Mittwoch 16 August 2006 19:43 schrieb Pozsar Balazs:
> > >
> > > > So, just to make it clear: if you boot without cable plugged in, let
> > > > the driver load, and then plug the cable in, do you have link?
> > > > For me, it does not have link until I rmmod the module.
> > >
> > > Same here.
> >
> > The most weird thing is that, when I _rmmod_ the module, the link leds
> > will show a link, _before_ I even re-modprobe it! So somehow the removal
> > (or even an unbind via the sysfs interface) "resets" it.
>
> Hey folks,
>
> Added to my to-do list. Let me know if you figure out anything else.

Actually, I managed to fix it, here's the patch:

Signed-off-by: Pozsar Balazs <pozsy@xxxxxxxxxxx>

--- a/drivers/net/tulip/uli526x.c 2006-07-15 21:00:43.000000000 +0200
+++ a/drivers/net/tulip/uli526x.c 2006-08-18 15:41:00.000000000 +0200
@@ -515,7 +515,8 @@
phy_reg_reset = phy_read(db->ioaddr, db->phy_addr, 0, db->chip_id);
phy_reg_reset = (phy_reg_reset | 0x8000);
phy_write(db->ioaddr, db->phy_addr, 0, phy_reg_reset, db->chip_id);
- udelay(500);
+ while (phy_read(db->ioaddr, db->phy_addr, 0, db->chip_id) & 0x8000)
+ udelay(500);

/* Process Phyxcer Media Mode */
uli526x_set_phyxcer(db);


--
pozsy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/