Subject: Re: de4x5

From: Michael Mueller <[email-masked]>
Date: Sat, 14 Jan 2012 18:55:22 +0100

Hi Paul,

I wrote [copy to you]:
>> When trying the de4x5 using 2.6.32 - which is what I can boot into
>> without too much problems - it did lock the machine while starting the
>> interface (ifconfig up). Sorry, but I do not feel like digging into this
>> just now.
[..]
> I changed the name from 'DE434/5' to 'DE434_5' since the slash seems to
> be no good idea within a file/directory name. This does yield a lockup
> with no message.

It hangs due to the usage of synchronize_irq within the interrupt
handler. It does not look like it was intended usage for this. Removing
this code it does not lock up anymore. But it is not working either.
Looking through the code it uses the same configuration values for BNC
and AUI which de2104x uses for AUI.

Changes done so far are appended as patch.

Michael
--- drivers/net/tulip/de4x5.c.orig	2011-12-09 17:57:05.000000000 +0100
+++ drivers/net/tulip/de4x5.c	2012-01-14 18:54:46.000000000 +0100
@@ -1551,8 +1551,6 @@
     if (test_and_set_bit(MASK_INTERRUPTS, (void*) &lp->interrupt))
 	printk("%s: Re-entering the interrupt handler.\n", dev->name);
 
-    synchronize_irq(dev->irq);
-
     for (limit=0; limit<8; limit++) {
 	sts = inl(DE4X5_STS);            /* Read IRQ status */
 	outl(sts, DE4X5_STS);            /* Reset the board interrupts */
@@ -3909,7 +3907,7 @@
     int i, status = 0, siglen = ARRAY_SIZE(de4x5_signatures);
 
     if (lp->chipset == DC21040) {
-	strcpy(name, "DE434/5");
+	strcpy(name, "DE434_5");
 	return status;
     } else {                           /* Search for a DEC name in the SROM */
 	int tmp = *((char *)&lp->srom + 19) * 3;