eepro100 timeout error, bug.
Andrey Savochkin
saw@saw.sw.com.sg
Wed May 10 21:54:23 2000
Hello,
On Wed, May 10, 2000 at 05:05:12PM -0400, Soohoon Lee wrote:
> > I'm having troble with eepro100 on 2.3.99-prex.
Which kernel and driver version you have problem with?
> > It generates timeout error very often.
> > I thought it is alpha platform problem but it's new driver's bug.
> > There's a race condition problem in speedo_start_xmit().
> > The driver does read-modify-write and mean while 8255x write something
> > to the same address. So I change the operation automic.
You mean that 16-bit write in performed on alpha is performed on alpha via
read-modify-write cycle on words of bigger size, and it isn't atomic against
similar cycle updating other 16-bit component of the same word, don't you?
> > Old driver(in 2.2.14) doesn't have the problem.
> > What about seperating one 4bytes field to two 2byte fields.
> >
> > Soohoon.
> >
> > diff -w drivers/net/eepro100.c ~/linux/drivers/net/eepro100.c
> > 899c899
> > < /* #if 0 - Alphas need this or else they come up in 10 Mbit mode */
> > ---
> > > #if 0
> > 916c916
> > < /* #endif */
> > ---
> > > #endif
> > 1221,1223c1221
> > < // last_cmd->cmd_status &= cpu_to_le32(~(CmdSuspend
> > | CmdIntr));
> > < clear_bit(30, &last_cmd->cmd_status);
> > < clear_bit(29, &last_cmd->cmd_status);
> > ---
> > > last_cmd->cmd_status &= cpu_to_le32(~(CmdSuspend
> > | CmdIntr));
Could you produce unified diff (diff -u)?
Best regards
Andrey V.
Savochkin
-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-eepro100-request@beowulf.org