Re: 3C905b partial lockup in 2.4.5-pre5 and up to 2.4.6-pre1

Russell King
2001-06-10T16:35:16Z

On Sun, Jun 10, 2001 at 12:06:08PM -0400, Ben LaHaise wrote:
> I doubt it's a change, more likely an undocumented requirement. Look at
> it another way: is the transmitter ready when the link is down? No.
> Why? Because if it does attempt to transmit a packet, it will get a
> transmit error, but it can't possibly be an error since it's a normal part
> of bringing the link up. Does this sound reasonable?

Indeed. However, I don't believe user space should _rely_ on the flag.
The reason is that there are network cards out there where the only way
to get the link status _is_ to transmit a packet, even on 10baseT.

PCNET is one example - the "oh my god my link is down" status bit is in
the transmit ring headers, not in an easily accessible register.

The only interpretation user space can place on IFF_RUNNING for these
cards is that if its not set, packets will get dropped by the interface.
If its set, packets _may_ be dropped by the interface.

[note I've not found anything in 2.4.5 where netif_carrier_ok prevents
the net layers queueing packets for an interface, and forwarding them
on for transmission].

--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux