M. Koehrer wrote:
> Hi Jan,
> 
> it looks as actually only one statement is relevant, this is the addtional 
> read of the
> status  register directly after the write to it.
> The following patch seems to be sufficient.
> I do not understand why, but this seems to solve the issue...
> 
> --- rtnet-0.9.6/drivers/rt_eepro100.c.orig      Fri Oct 20 12:35:44 2006
> +++ rtnet-0.9.6/drivers/rt_eepro100.c   Fri Oct 20 16:23:03 2006
> @@ -1641,6 +1641,7 @@
>                 /* Will change from 0xfc00 to 0xff00 when we start handling
>                    FCP and ER interrupts --Dragan */
>                 outw(status & 0xfc00, ioaddr + SCBStatus);
> +               inw(ioaddr + SCBStatus); /* Required to avoid signal losses!! 
> */
> 
>                 if (speedo_debug > 4)
>                         rtdm_printk(KERN_DEBUG "%s: interrupt  
> status=%#4.4x.\n",
> 

Looks like this function from e100:

static inline void e100_write_flush(struct nic *nic)
{
        /* Flush previous PCI writes through intermediate bridges
         * by doing a benign read */
        (void)readb(&nic->csr->scb.status);
}

Do you have your card on some nested PCI bus?

The e100 makes some use of this flush. I need to check if there are
other relevant spots in rt_eepro100.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to