[eepro100] Re: card reports no resources / RX buffers

Andrey Savochkin saw@saw.sw.com.sg
Wed, 26 Jul 2000 10:18:34 +0800


Hello Roeland,

On Tue, Jul 25, 2000 at 01:13:50PM -0700, Krawl, Roeland wrote:
> Since our solution to this problem has been rock solid, I have not examined
> the eepro100 driver or read the chip documentation since March. However I
> clearly recollect that the "wait_for_cmd_done()" routine actually waits for
> command acceptance, not command completion. Are you absolutely sure that the
> contents of the System Control Block General Pointer can be harmlessly
> overwritten after the chip has accepted the command but not yet executed it?

No, I'm not sure.
There are reports about card/driver misbehavior which may be explained as a
bad consequence of overwriting the general pointer.
So far, all workarounds, including your own, have consisted of an additional
delay somewhere.  The problems also go away in PIO instead of MMIO mode,
which slowdown the operations a bit.

The accurate wait for command completion depends on the command.
For example, for CUStart command it is waiting for CU leaving idle state.
I'm sure that Intel's driver doesn't do it.

Nevertheless, I'll take an additional look on all existing drivers to get the
idea what may be done for the proper initialization.

> I saw evidence to the contrary. The driver does not "wait for command done"
> before overwriting the System Control Block General Pointer in preparation
> for issuing the next command.
> 
> I have heard that you already have a fix for this problem. That is great. No

No, I have only workarounds.

> more dialog is necessary. The Linux community should be grateful to be rid
> of this difficult and elusive problem.

Best regards
					Andrey V.
					Savochkin