summaryrefslogtreecommitdiffstats
path: root/sys/dev/amr/amr_pci.c
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2006-04-08 05:08:17 +0000
committerscottl <scottl@FreeBSD.org>2006-04-08 05:08:17 +0000
commit3ab858c37405e48fee72bbee618f40b7c41b214d (patch)
tree89131839dd52d34fe198dcc50d299e65fa7a575d /sys/dev/amr/amr_pci.c
parente8f84ee984b6589b7998e049b88f34d034eb7049 (diff)
downloadFreeBSD-src-3ab858c37405e48fee72bbee618f40b7c41b214d.zip
FreeBSD-src-3ab858c37405e48fee72bbee618f40b7c41b214d.tar.gz
After further review and discussion, partially revert the previous commit.
The real problem was that ioctl handlers needed to call amr_wait_command() with the list lock held. This not only solves the completion race, it also prevents bounce buffer corruption that could arise from amr_start() being called without the proper locks held. Discussed with: ps MFC After: 3 days
Diffstat (limited to 'sys/dev/amr/amr_pci.c')
-rw-r--r--sys/dev/amr/amr_pci.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/sys/dev/amr/amr_pci.c b/sys/dev/amr/amr_pci.c
index fafd9f2..f873edf 100644
--- a/sys/dev/amr/amr_pci.c
+++ b/sys/dev/amr/amr_pci.c
@@ -331,7 +331,6 @@ amr_pci_attach(device_t dev)
*/
mtx_init(&sc->amr_list_lock, "AMR List Lock", NULL, MTX_DEF);
mtx_init(&sc->amr_hw_lock, "AMR HW Lock", NULL, MTX_DEF);
- mtx_init(&sc->amr_wait_lock, "AMR Wait Lock", NULL, MTX_DEF);
if ((error = amr_setup_mbox(sc)) != 0)
goto out;
OpenPOWER on IntegriCloud