[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bonding-devel
Subject:    [Bonding-devel] Re: [PATCH] corruption during e100 MDI register access
From:       Andrew Morton <akpm () osdl ! org>
Date:       2006-01-09 13:00:30
Message-ID: 20060109050030.77a3104d.akpm () osdl ! org
[Download RAW message or body]

"ODonnell, Michael" <Michael.ODonnell@stratus.com> wrote:
>
> We have identified two related bugs in the e100 driver and we request
>  that they be repaired in the official Intel version of the driver.
> 
>  Both bugs are related to manipulation of the MDI control register.
> 
>  The first problem is that the Ready bit is being ignored when
>  writing to the Control register; we noticed this because the Linux
>  bonding driver would occasionally come to the spurious conclusion
>  that the link was down when querying Link State.  It turned out
>  that by failing to wait for a previous command to complete it was
>  selecting what was essentially a random register in the MDI register
>  set.  When we added code that waits for the Ready bit (as shown in
>  the patch file below) all such problems ceased.
> 
>  The second problem is that, although access to the MDI registers
>  involves multiple steps which must not be intermixed, nothing was
>  defending against two or more threads attempting simultaneous access.
>  The most obvious situation where such interference could occur
>  involves the watchdog versus ioctl paths, but there are probably
>  others, so we recommend the locking shown in our patch file.

Your patches are coming through wordwrapped.  Please fix your email client
in future.

Please also prepare patches in `patch -p1' form. 
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt may prove useful.

This patch potentially spins for four milliseconds with interrupts off,
which will be unpopular.  Is there no alternative?

Anyway, I queued the patch in my kernel so the issue won't be forgotten
about.  I also queued a patch which makes your patch comply with kernel
coding style - it wasn't very close at all.

Thanks.


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bonding-devel mailing list
Bonding-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bonding-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic