Messages in this thread | | | Date | Mon, 11 Apr 2005 20:57:45 +0100 | From | Russell King <> | Subject | Re: pcnet_cs problems in ARM handheld |
| |
On Mon, Apr 11, 2005 at 04:22:52PM +0000, rafael2k wrote: > Hi David and others kernel developers, > Thanx for your pcnet_cs driver! I use it since old days :-P > > I bought a IC-CARD+ pcnet_cs compatible pcmcia nic, and i'm using it on a > StrongARM HP Jornada 710. My kernel is a 2.4.18-rmk3-hh10 and my pcmcia-cs > version is 3.1.33 > > From dmesg I got this messages: > > -- > jornada720_pcmcia_configure_socket(): config socket 0 vcc 50 vpp 0 > jornada720_pcmcia_configure_socket(): config socket 0 vcc 50 vpp 0 > eth0: NE2000 Compatible: io 0xc2800300, irq 114, hw_addr 00:80:C8:88:00:56 > eth0: interrupt(s) dropped! > NETDEV WATCHDOG: eth0: transmit timed out > eth0: Tx timed out, lost interrupt? TSR=0x3, ISR=0x96, t=39. > NETDEV WATCHDOG: eth0: transmit timed out > eth0: Tx timed out, lost interrupt? TSR=0x3, ISR=0x3, t=55. > NETDEV WATCHDOG: eth0: transmit timed out > eth0: Tx timed out, lost interrupt? TSR=0x3, ISR=0x3, t=49. > NETDEV WATCHDOG: eth0: transmit timed out > eth0: Tx timed out, lost interrupt? TSR=0x3, ISR=0x3, t=88. > eth0: interrupt(s) dropped! > NETDEV WATCHDOG: eth0: transmit timed out > eth0: Tx timed out, lost interrupt? TSR=0x3, ISR=0x3, t=77.
This looks like a case of the old 2.4 interrupt handling problems which got resolved by rewriting the ARM interrupt handling infrastructure during 2.5.
The problem occurs because of the need to handle edge-triggered interrupts (as is the case with Intel CPUs) differently from level-triggered interrupts, especially when the peripherals are designed to be used with level-triggered inputs.
In effect, you can end up with the situation where the device has its interrupt asserted, but because the CPU doesn't see a change of state, it "forgets" about the interrupt input.
I'm not aware of a solution for this problem with 2.4 kernels.
-- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |