Re: pcnet_cs problems in ARM handheld

From: Russell King (rmk+lkml_at_arm.linux.org.uk)
Date: 04/11/05

  • Next message: Jesper Juhl: "[PATCH 1/2] cifs: md4 cleanup - function definitions"
    Date:	Mon, 11 Apr 2005 20:57:45 +0100
    To: rafael2k <rafael@riseup.net>
    
    

    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/
    

  • Next message: Jesper Juhl: "[PATCH 1/2] cifs: md4 cleanup - function definitions"

    Relevant Pages