diff options
author | scottl <scottl@FreeBSD.org> | 2007-07-31 20:11:03 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2007-07-31 20:11:03 +0000 |
commit | ddefa5d6f2b2250438861c18e617af3098c6fc21 (patch) | |
tree | 16ce1cff47e3d8e77fe20b5b52c15995162c007c /sys/dev/aic7xxx | |
parent | 7e771d27fb2effe15a14a1d8429f2ef93e3e1766 (diff) | |
download | FreeBSD-src-ddefa5d6f2b2250438861c18e617af3098c6fc21.zip FreeBSD-src-ddefa5d6f2b2250438861c18e617af3098c6fc21.tar.gz |
Fix locking mistakes in the error recovery paths of the AHC and AHD drivers.
Approved by: re
Diffstat (limited to 'sys/dev/aic7xxx')
-rw-r--r-- | sys/dev/aic7xxx/aic7xxx.c | 2 | ||||
-rw-r--r-- | sys/dev/aic7xxx/aic_osm_lib.c | 2 |
2 files changed, 0 insertions, 4 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c index 659b4e8..8e88977 100644 --- a/sys/dev/aic7xxx/aic7xxx.c +++ b/sys/dev/aic7xxx/aic7xxx.c @@ -6932,7 +6932,6 @@ ahc_timeout(struct scb *scb) struct ahc_softc *ahc; ahc = scb->ahc_softc; - ahc_lock(ahc); if ((scb->flags & SCB_ACTIVE) != 0) { if ((scb->flags & SCB_TIMEDOUT) == 0) { LIST_INSERT_HEAD(&ahc->timedout_scbs, scb, @@ -6941,7 +6940,6 @@ ahc_timeout(struct scb *scb) } ahc_wakeup_recovery_thread(ahc); } - ahc_unlock(ahc); } /* diff --git a/sys/dev/aic7xxx/aic_osm_lib.c b/sys/dev/aic7xxx/aic_osm_lib.c index e4128ec..78a7d56 100644 --- a/sys/dev/aic7xxx/aic_osm_lib.c +++ b/sys/dev/aic7xxx/aic_osm_lib.c @@ -120,9 +120,7 @@ aic_recovery_thread(void *arg) if ((aic->flags & AIC_SHUTDOWN_RECOVERY) != 0) break; - aic_unlock(aic); aic_recover_commands(aic); - aic_lock(aic); } aic->platform_data->recovery_thread = NULL; wakeup(aic->platform_data); |