Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Sep 2010 19:47:59 +0000 (UTC)
From:      Weongyo Jeong <weongyo@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r212928 - user/weongyo/usb/sys/dev/usb
Message-ID:  <201009201947.o8KJlxIh065458@svn.freebsd.org>

index | next in thread | raw e-mail

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);
 }
 
 /*------------------------------------------------------------------------*


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009201947.o8KJlxIh065458>