eepro100 timeout error, bug.

From: Soohoon Lee (Soohoon.Lee@alpha-processor.com)
Date: Wed May 10 2000 - 15:47:35 EST


I'm having troble with eepro100 on 2.3.99-prex.
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.
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));



This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:29 EST