lkml.org 
[lkml]   [2004]   [May]   [13]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateThu, 13 May 2004 17:17:59 +0200
FromDaniele Venzano <>
SubjectRe: 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);
\
 
 \ /
  Last update: 2005-03-22 13:03    [from the cache]
©2003-2008