diff options
author | scottl <scottl@FreeBSD.org> | 2006-04-08 05:08:17 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2006-04-08 05:08:17 +0000 |
commit | 3ab858c37405e48fee72bbee618f40b7c41b214d (patch) | |
tree | 89131839dd52d34fe198dcc50d299e65fa7a575d /sys/dev/amr/amr_pci.c | |
parent | e8f84ee984b6589b7998e049b88f34d034eb7049 (diff) | |
download | FreeBSD-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.c | 1 |
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; |