Skip to contentSkip to conversation

Patch for e100 on my z505je

PATCH Pete Zaitcev 1 participant 1 message Dec 20, 2002 Network drivers

lore
Share & tools
lore
#0 lore raw

Jeff,

I tried Marcelo's 2.4.21-pre2 and the driver fails the self-test, then dies in an unserviced interrupt storm. An obvious patch seems to fix the problem here.

Amazingly enough, the driver works in RH 2.4.18-14 (e100 2.1.6-k1), but if I take the same 2.1.6-k1 and implant it into Marcelo tree, everything dies as before. Something is fishy here.

-- Pete

drivers/net/e100/e100_main.c +4 -2
diff -urN -X dontdiff linux-2.4.21-pre2/drivers/net/e100/e100_main.c linux-2.4.21-pre2-usb/drivers/net/e100/e100_main.c
@@ -2288,6 +2288,8 @@
 
 	/* initialize the nic state before running test */
 	e100_sw_reset(bdp, PORT_SOFTWARE_RESET);
+	e100_dis_intr(bdp);
+
 	/* Setup the address of the self_test area */
 	selftest_cmd = bdp->selftest_phys;
 
@@ -2302,9 +2304,9 @@
 	writel(selftest_cmd, &bdp->scb->scb_port);
 	readw(&(bdp->scb->scb_status));	/* flushes last write, read-safe */
 
-	/* Wait at least 10 milliseconds for the self-test to complete */
+	/* Wait at least 20 milliseconds for the self-test to complete */
 	set_current_state(TASK_UNINTERRUPTIBLE);
-	schedule_timeout(HZ / 100 + 1);
+	schedule_timeout(HZ / 50 + 1);
 
 	/* disable interrupts since the're now enabled */
 	e100_dis_intr(bdp);