e100 driver fails to initialize NIC on 2.5.44

e100 driver fails to initialize NIC on 2.5.44

Post by Feldman, Scot » Thu, 24 Oct 2002 22:10:10




> -#define E100_MAX_SCB_WAIT 100     /* Max udelays in wait_scb */
> +#define E100_MAX_SCB_WAIT 2000    /* Max udelays in wait_scb */

I'm not in favor of increasing a hardware timeout value 20x without knowing
root-cause of the failure.  What is unique about your environment?  I'd like
to know if there are others out there that have run into this same failure.
List?

-scott
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

e100 driver fails to initialize NIC on 2.5.44

Post by Rob Rhoad » Fri, 25 Oct 2002 01:40:06




> > -#define E100_MAX_SCB_WAIT    100     /* Max udelays in wait_scb */
> > +#define E100_MAX_SCB_WAIT    2000    /* Max udelays in wait_scb */

> I'm not in favor of increasing a hardware timeout value 20x without knowing
> root-cause of the failure.  What is unique about your environment?  I'd like
> to know if there are others out there that have run into this same failure.
> List?

Can't blame you on that one. :-)

It's a standard Intel STL2 Server Board, nothing really unique about it.
But here is more detail on how it is configured:


o 2.5 GB PC133 ECC Registered SDRAM Memory
o Integrated SCSI (Adaptec* AIC7899 dual-channel SCSI controller)
o ServerWorks* ServerSet* III LE Chipset
o ATI Rage* IIC PCI graphics controller with 4 MB of memory
o Integrated Intel? Pro/100+ Server Adapter (Intel? 82559 Controller)
o Dual-Peer PCI, Six Available PCI Slots
  - Bus A-four 32-bit/33MHz PCI slots
  - Bus B-two 64-bit/66MHz PCI slots

We've seen this same problem before on the STL2 & the 2.4.18 kernel
running the 2.1.15 version of the Intel e100 driver. This same problem
had also been previously reported to the kernel mailing list, but I
don't recall the exact version of either the 2.4.x kernel or e100
driver.

Upon further investigation, when I set E100_MAX_SCB_WAIT to 2000 on the
2.5.44 kernel, as in my original patch, it only works for when the e100
driver is compiled into the kernel. I had to bump it up to 5000 to make
it work as a loadable module. When I dumped the value of the loop
variable 'i', it would succeed at either 4078 or 4095 iterations of the
for-loop. So 5000 may very well NOT work for other configurations.

Also the comment for the function states that the driver may need to
wait up to 1 millisecond, yet the original for-loop uses a udelay(1) for
a max of 100 iterations. Since 100 usecs. != 1 millisecond, this is what
clued us into increasing the max. loop count. Experimentation is what
got us to 2000 and now 5000.

Let me know if there is anything else I can do to help root cause this
problem.

-RobR

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

1. e100 doing bad things in 2.5.44.

Oct 25 18:38:12 tetrachloride kernel: Debug: sleeping function called from illegal context at mm/slab.c:1384
Oct 25 18:38:12 tetrachloride kernel: Call Trace:
Oct 25 18:38:12 tetrachloride kernel:  [<c011dd94>] __might_sleep+0x54/0x58
Oct 25 18:38:12 tetrachloride kernel:  [<c01403ae>] kmalloc+0x5a/0x314
Oct 25 18:38:12 tetrachloride kernel:  [<c017e2da>] proc_create+0x76/0xcc
Oct 25 18:38:12 tetrachloride kernel:  [<c017e3fb>] proc_mkdir+0x17/0x40
Oct 25 18:38:12 tetrachloride kernel:  [<c010a4c3>] register_irq_proc+0x6b/0xb0
Oct 25 18:38:12 tetrachloride kernel:  [<c010a2ba>] setup_irq+0x166/0x174
Oct 25 18:38:12 tetrachloride kernel:  [<c02b9424>] e100intr+0x0/0x308
Oct 25 18:38:12 tetrachloride kernel:  [<c0109b48>] request_irq+0x88/0xa4
Oct 25 18:38:12 tetrachloride kernel:  [<c02b84fa>] e100_open+0x106/0x188
Oct 25 18:38:12 tetrachloride kernel:  [<c02b9424>] e100intr+0x0/0x308
Oct 25 18:38:12 tetrachloride kernel:  [<c03a5080>] dev_open+0x50/0xb0
Oct 25 18:38:12 tetrachloride kernel:  [<c03a65e1>] dev_change_flags+0x51/0x104
Oct 25 18:38:12 tetrachloride kernel:  [<c03decc5>] devinet_ioctl+0x331/0x6d8
Oct 25 18:38:12 tetrachloride kernel:  [<c03e1bc7>] inet_ioctl+0xab/0xf0
Oct 25 18:38:12 tetrachloride kernel:  [<c039e6a1>] sock_ioctl+0xfd/0x160
Oct 25 18:38:12 tetrachloride kernel:  [<c0162cfb>] sys_ioctl+0x27f/0x2f5
Oct 25 18:38:12 tetrachloride kernel:  [<c0108029>] error_code+0x2d/0x38
Oct 25 18:38:12 tetrachloride kernel:  [<c01075c7>] syscall_call+0x7/0xb

Another weirdo.. Check out the Speed..

Oct 25 18:38:12 tetrachloride kernel: Intel(R) PRO/100 Network Driver - version 2.1.24-k1
Oct 25 18:38:12 tetrachloride kernel: Copyright (c) 2002 Intel Corporation
Oct 25 18:38:12 tetrachloride kernel:
Oct 25 18:38:12 tetrachloride kernel: e100: selftest OK.
Oct 25 18:38:12 tetrachloride kernel: e100: eth0: Intel(R) PRO/100 VE Network Connection
Oct 25 18:38:12 tetrachloride kernel:   Mem:0xfeafc000  IRQ:20  Speed:0 Mbps  Dx:N/A
Oct 25 18:38:12 tetrachloride kernel:   Hardware receive checksums enabled

--
| Dave Jones.        http://www.codemonkey.org.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

2. Xconfig for MAG LX1450?

3. oops 2.5.44: drivers/base/driver.c:54

4. MS Intellimouse Optical sholder buttons.

5. Build fail 2.5.44-ac4 modules

6. adjtime on a VAX?

7. 2.5.44-ac2 Make xconfig fails

8. 2 web servers on one BSD machine?

9. 2.5.44 - scripts/kconfig.tk error (xconfig fails)

10. 2.5.44: lkcd (9/9): dump driver and build files

11. Convert CS4236B driver - 2.5.44 (3/4)

12. kernel BUG at drivers/scsi/scsi_lib.c:819 with 2.5.44-ac5

13. x86 performance counters driver 3.0-pre2 for 2.5.44: [2/4] x86 support