[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45F6ACF2.2050300@ru.mvista.com>
Date: Tue, 13 Mar 2007 16:53:54 +0300
From: Sergei Shtylyov <sshtylyov@...mvista.com>
To: Mark Brown <broonie@...ena.org.uk>
Cc: Mark Huth <mhuth@...sta.com>, jgarzik@...ox.com,
netdev@...r.kernel.org
Subject: Re: [PATCH] natsemi: netpoll fixes
Hello.
Mark Brown wrote:
>>>Moving netdev_rx() would fix that one but there's some others too -
>>>there's one in the timer routine if the chip crashes. In the case you
>> Erm, sorry, I'm not seeing it -- could you "point with finger" please?
>> :-)
> In netdev_timer() when the device is using PORT_TP if the DspCfg read
> back from the chip differs from the one we think we programmed into it
> then the driver thinks the PHY fell over. It then goes through an init
> sequence, including init_registers() which will reset IntrEnable among
> other things.
What's more important for us, it will also clear IntrStatus (and ignore
all pending interrupts). Well, as it will also reinit the whole TX/RX rings,
so that all packets will be lost...
>>>describe above the consequences shouldn't be too bad since it tends to
>>>only occur at high volume so further traffic will tend to occur and
>>>cause things to recover - all the testing of that patch was done with
>>>the bug present and no ill effects.
>> Oversized packets occur only at high volume? Is it some errata?
> It's an errata - AN 1287 which you can get from the National web site.
> It's not actually that chip that's getting oversided packets, what
> happens is that the state machine which reads data off the wire gets
> confused and eventually locks up. Before locking up it will usually
> report one or more oversided packets so this is a useful hint that we
> should reset the recieve state machine in order to recover from this.
That's all good by why we need to completely lose TX and other interrupts
in the meantime? High inbound traffic doesn't necessarily mean a high outbound
one, does it?
WBR, Sergei
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists