lkml.org 
[lkml]   [1997]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectPATCH: ICL EtherTeam 16i fix
Hello!

I had problems with an ICL EtherTeam 16i when booting via a
TCP/IP-bootprom. The card was not detected in 4 of 5 boots. I found that
it was due to a too restrictive signature check. The patch below lets it
boot fine now for 30+ reboots, so I guess it works.

I contacted the author, but he didn't reply yet and Linus wants to finish
2.0.31, so have a look at it.

Kurt

------------------------------------------------------------
| yes, it runs | Designed for | Microsoft | intel |
| with Netware | Windows 95 | Windows compliant | inside |
------------------------------------------------------------
If you still have problems reading this signature,
get Linux and a REAL cpu!
--- linux-2.0.30/drivers/net/eth16i.c Tue Apr 8 17:47:45 1997
+++ linux/drivers/net/eth16i.c Sat Aug 16 00:30:40 1997
@@ -61,6 +61,11 @@
0.21 17.10-95 Removed the unnecessary extern
init_etherdev() declaration. Some
other cleanups.
+
+ 0.21a 15.08-97 Made signature check less restrictive to
+ detect card that have been used for booting
+ with a bootprom.
+ Kurt Huwig <kurt@huwig.de>
Bugs:
In some cases the interface autoprobing code doesn't find
the correct interface type. In this case you can
@@ -72,7 +77,7 @@
*/

static char *version =
- "eth16i.c: v0.21 17-10-95 Mika Kuoppala (miku@elt.icl.fi)\n";
+ "eth16i.c: v0.21a 15-08-97 Mika Kuoppala (miku@elt.icl.fi)/Kurt Huwig (kurt@huwig.de)\n";

#include <linux/module.h>

@@ -722,10 +727,10 @@
#endif

if( !( (creg[2] == 0x36) && (creg[3] == 0xE0)) ) {
- creg[2] &= 0x42;
+ creg[2] &= 0x40;
creg[3] &= 0x03;

- if( !( (creg[2] == 0x42) && (creg[3] == 0x00)) )
+ if( !( (creg[2] == 0x40) && (creg[3] == 0x00)) )
return -1;
}
\
 
 \ /
  Last update: 2005-03-22 13:40    [W:0.366 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site