DragonFly commits List (threaded) for 2012-03
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: DragonFly_RELEASE_3_0 kernel - Fix three AHCI bugs
commit 5ec6adbc2e9fbe864a4eb1f2756d85ecb7880b94
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Thu Mar 22 21:31:31 2012 -0700
kernel - Fix three AHCI bugs
* This fixes spurious timeouts which occur on SMP boxes with faster devices
(such as SSDs or more recent hard drives)
* The global interrupt status register appears to be latched on some parts
rather than wire-or. Clearing it after signaling the port threads or
processing the interrupt can cause interrupts to be lost.
* In cases where it is actually wire-or we may get a double-interrupt,
but stability is more important here.
* Fix the port signaling code. The mask was being cleared with the
port interlock released. It has to be cleared when the interlock is
held.
* Reorder the per-port interrupt status register clearing code in two
places to execute before processing the operation rather than after,
which may fix another source of lost interrupts.
Summary of changes:
sys/dev/disk/ahci/ahci.c | 24 ++++++++++++++++--------
sys/dev/disk/ahci/ahci_dragonfly.c | 8 ++++----
2 files changed, 20 insertions(+), 12 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5ec6adbc2e9fbe864a4eb1f2756d85ecb7880b94
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]