svn commit: r212920 - user/weongyo/usb/sys/dev/usb
Weongyo Jeong
weongyo at FreeBSD.org
Mon Sep 20 19:20:37 UTC 2010
Author: weongyo
Date: Mon Sep 20 19:20:37 2010
New Revision: 212920
URL: http://svn.freebsd.org/changeset/base/212920
Log:
For readability explicitly takes a argument `needwakeup'. In the
previous `isload' had two meanings that first the callback registered
should be called, second the wakeup isn't allowed that it's confusing.
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:17:31 2010 (r212919)
+++ user/weongyo/usb/sys/dev/usb/usb_busdma.c Mon Sep 20 19:20:37 2010 (r212920)
@@ -67,7 +67,7 @@ static void usb_dma_lock_cb(void *, bus_
static void usb_pc_alloc_mem_cb(void *, bus_dma_segment_t *, int, int);
static void usb_pc_load_mem_cb(void *, bus_dma_segment_t *, int, int);
static void usb_pc_common_mem_cb(void *, bus_dma_segment_t *, int, int,
- uint8_t);
+ uint8_t, uint8_t);
#endif
/*------------------------------------------------------------------------*
@@ -394,7 +394,7 @@ static void
usb_pc_alloc_mem_cb(void *arg, bus_dma_segment_t *segs,
int nseg, int error)
{
- usb_pc_common_mem_cb(arg, segs, nseg, error, 0);
+ usb_pc_common_mem_cb(arg, segs, nseg, error, 0, 1);
}
/*------------------------------------------------------------------------*
@@ -404,7 +404,7 @@ static void
usb_pc_load_mem_cb(void *arg, bus_dma_segment_t *segs,
int nseg, int error)
{
- usb_pc_common_mem_cb(arg, segs, nseg, error, 1);
+ usb_pc_common_mem_cb(arg, segs, nseg, error, 1, 0);
}
/*------------------------------------------------------------------------*
@@ -412,7 +412,7 @@ usb_pc_load_mem_cb(void *arg, bus_dma_se
*------------------------------------------------------------------------*/
static void
usb_pc_common_mem_cb(void *arg, bus_dma_segment_t *segs,
- int nseg, int error, uint8_t isload)
+ int nseg, int error, uint8_t isload, uint8_t needwakeup)
{
struct usb_dma_parent_tag *uptag;
struct usb_page_cache *pc;
@@ -452,7 +452,7 @@ done:
uptag->dma_error = (error ? 1 : 0);
if (isload)
(uptag->func) (uptag);
- else
+ if (needwakeup != 0)
cv_broadcast(uptag->cv);
mtx_unlock(uptag->mtx);
}
More information about the svn-src-user
mailing list