svn commit: r212928 - user/weongyo/usb/sys/dev/usb
Weongyo Jeong
weongyo at FreeBSD.org
Mon Sep 20 19:47:59 UTC 2010
Author: weongyo
Date: Mon Sep 20 19:47:58 2010
New Revision: 212928
URL: http://svn.freebsd.org/changeset/base/212928
Log:
usb_pc_common_mem_cb() would always be called with holding uptag->mtx
lock.
Modified:
user/weongyo/usb/sys/dev/usb/usb_busdma.c
Modified: user/weongyo/usb/sys/dev/usb/usb_busdma.c
==============================================================================
--- user/weongyo/usb/sys/dev/usb/usb_busdma.c Mon Sep 20 19:42:52 2010 (r212927)
+++ user/weongyo/usb/sys/dev/usb/usb_busdma.c Mon Sep 20 19:47:58 2010 (r212928)
@@ -422,6 +422,8 @@ usb_pc_common_mem_cb(void *arg, bus_dma_
pc = arg;
uptag = pc->tag_parent;
+ mtx_assert(uptag->mtx, MA_OWNED);
+
if (error)
goto done;
@@ -443,13 +445,11 @@ usb_pc_common_mem_cb(void *arg, bus_dma_
}
#endif
done:
- mtx_lock(uptag->mtx);
uptag->dma_error = (error ? 1 : 0);
if (isload)
(uptag->func) (uptag);
if (needwakeup != 0)
cv_broadcast(uptag->cv);
- mtx_unlock(uptag->mtx);
}
/*------------------------------------------------------------------------*
More information about the svn-src-user
mailing list