All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@mandrakesoft.com>
To: Andrey Savochkin <saw@saw.sw.com.sg>
Cc: Johan <jo_ni@telia.com>, linux-kernel@vger.kernel.org
Subject: Re: Still having problems with eepro100
Date: Thu, 01 Nov 2001 06:33:59 -0500	[thread overview]
Message-ID: <3BE13327.C9150EBF@mandrakesoft.com> (raw)
In-Reply-To: <20011030123927.74e26501.jo_ni@telia.com> <20011101141506.B27180@castle.nmd.msu.ru>

Andrey Savochkin wrote:
> 
> On Tue, Oct 30, 2001 at 12:39:27PM +0100, Johan wrote:
> >
> > Hello,
> > Does anyone except me still having problems with the eepro100 drivers ?
> >
> > The network connection stalls and I'll get this message:
> >
> > eepro100: wait_for_cmd_done timeout!
> 
> Try to add `udelay(1);' inside the loop in wait_for_cmd_done().
> It helped to some people with same problems.

In 2.4 that's already there:

> static inline void wait_for_cmd_done(long cmd_ioaddr)
> {
>         int wait = 1000;
>         do  udelay(1) ;
>         while(inb(cmd_ioaddr) && --wait >= 0);
> #ifndef final_version
>         if (wait < 0)
>                 printk(KERN_ALERT "eepro100: wait_for_cmd_done timeout!\n");
> #endif
> }

In contrast, here is what Becker's current version looks like.  It looks
like Becker just added a hack to continue waiting.

Things to try:
(a) add a rmb() after the udelay
(b) the Becker version


> /* How to wait for the command unit to accept a command.
>    Typically this takes 0 ticks. */
> 
> static inline void wait_for_cmd_done(long cmd_ioaddr)
> {
>         int wait = 0;
>         do
>                 if (inb(cmd_ioaddr) == 0) return;
>         while(++wait <= 100);
>         do
>                 if (inb(cmd_ioaddr) == 0) break;
>         while(++wait <= 10000);
>         printk(KERN_ERR "Command %4.4x was not immediately accepted, %d ticks!\n
> ",
>                    inb(cmd_ioaddr), wait);
> }


-- 
Jeff Garzik      | Only so many songs can be sung
Building 1024    | with two lips, two lungs, and one tongue.
MandrakeSoft     |         - nomeansno

  reply	other threads:[~2001-11-01 11:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-30 11:39 Still having problems with eepro100 Johan
2001-10-30 11:57 ` Thomas Langås
2001-10-30 12:05   ` Johan
2001-10-30 12:58     ` Kirill Ratkin
2001-10-30 20:19   ` Kurt Roeckx
2001-10-30 12:09 ` Alan Cox
2001-10-30 12:20   ` Rafael Martinez
2001-10-30 16:23 ` Lee Packham
2001-10-30 16:51   ` Kirill Ratkin
2001-10-30 17:07 ` Alex Bligh - linux-kernel
2001-10-31 14:40   ` Alex Bligh - linux-kernel
2001-11-01 11:15 ` Andrey Savochkin
2001-11-01 11:33   ` Jeff Garzik [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-12-01  0:08 Joe Rice
2001-12-01  0:37 ` Mike Fedyk
2001-12-01  0:49   ` Joe Rice
2001-12-01  1:07     ` Mike Fedyk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3BE13327.C9150EBF@mandrakesoft.com \
    --to=jgarzik@mandrakesoft.com \
    --cc=jo_ni@telia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=saw@saw.sw.com.sg \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.