Messages in this thread Patch in this message | | | Date | Thu, 13 May 2004 17:17:59 +0200 | From | Daniele Venzano <> | Subject | Re: problem with sis900 |
| |
On Wed, May 12, 2004 at 12:30:12AM +0200, Dominik Karall wrote: [...] > nvidia: module license 'NVIDIA' taints kernel. > 0: nvidia: loading NVIDIA Linux x86 NVIDIA Kernel Module 1.0-5336 Wed Jan 14 > 18:29:26 PST 2004 [...]
Your kernel is tainted, but I'm willing to think that you can reproduce the problem without binary modules loaded. Please confirm this.
> Let me know if you need more infos! It seems that the driver is confused by the on chip informations it reads and detects some 'ghost' transceivers, then decides to use one of those, instead of taking the real one.
The following patch is a guess in this direction, it should make the driver get the PHY at address 1, the one detected correctly for you. Obviously, if it works, I'll need to make the patch a bit more general before submission...
-- ----------------------------- Daniele Venzano Web: http://teg.homeunix.org
--- linux-2.6.5/drivers/net/sis900.c 2004-04-04 22:31:55.000000000 +0200 +++ linux-irda-2.6.5/drivers/net/sis900.c 2004-05-13 17:04:29.000000000 +0200 @@ -665,6 +665,7 @@ default_phy = sis_priv->first_mii; if( sis_priv->mii != default_phy ){ + default_phy = sis_priv->first_mii->next; sis_priv->mii = default_phy; sis_priv->cur_phy = default_phy->phy_addr; printk(KERN_INFO "%s: Using transceiver found at address %d as default\n", net_dev->name,sis_priv->cur_phy); | |