Obviously nobody uses the DEPCA driver any more! It's been
(seriously) broken since the softnet changes went in in the 2.3.44
patch. At the end of the interrupt routine, the interrupts are only
unmasked if the queue is stopped!
This patch fixes it:
--- drivers/net/depca.c.old Sun Jul 30 17:24:13 2000
+++ drivers/net/depca.c Sat Oct 14 20:58:08 2000
@@ -908,12 +925,12 @@
/* Any resources available? */
if ((TX_BUFFS_AVAIL >= 0) && netif_queue_stopped(dev)) {
netif_wake_queue (dev);
-
- /* Unmask the DEPCA board interrupts and turn off the LED */
- nicsr = (nicsr & ~IM & ~LED);
- outb (nicsr, DEPCA_NICSR);
}
+ /* Unmask the DEPCA board interrupts and turn off the LED */
+ nicsr = (nicsr & ~IM & ~LED);
+ outb (nicsr, DEPCA_NICSR);
+
spin_unlock (&lp->lock);
}
I've also attached a larger (considerably larger) patch against
2.4.0-test9 which redoes all the memory accesses in terms of properly
ioremapped addresses, removing all the warnings.
If I don't hear anything within a few days from anyone here, I'll post the
patches off to Linus.
--
Peter Denison <peterd@xxxxxxxxxxxxxxxxxx>
Linux Driver for Promise DC4030VL cards.
See http://www.pnd-pc.demon.co.uk/promise/promise.html for details
2.4.0-test9-depca
Description: DEPCA isa memory patch
|