From 9ed975667a8540710f47d32679e5c4e84e5ec07b Mon Sep 17 00:00:00 2001 From: matt mooney Date: Fri, 6 May 2011 03:47:47 -0700 Subject: [PATCH] --- yaml --- r: 249381 b: refs/heads/master c: 0f79847ce0caa988383767c0b1a85a1fde0344dc h: refs/heads/master i: 249379: 95d30f2827b2d2dfbc766865cf2c33c7c3a01c4e v: v3 --- [refs] | 2 +- trunk/drivers/staging/usbip/usbip_event.c | 18 ++++++------------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 50edb12d678f..570f1db3804c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f9eacc9846041f84f5f9abcbb99cb1a52c235e88 +refs/heads/master: 0f79847ce0caa988383767c0b1a85a1fde0344dc diff --git a/trunk/drivers/staging/usbip/usbip_event.c b/trunk/drivers/staging/usbip/usbip_event.c index f4b287ef71d0..8861e3ba005d 100644 --- a/trunk/drivers/staging/usbip/usbip_event.c +++ b/trunk/drivers/staging/usbip/usbip_event.c @@ -17,8 +17,8 @@ * USA. */ -#include "usbip_common.h" #include +#include "usbip_common.h" static int event_handler(struct usbip_device *ud) { @@ -36,21 +36,18 @@ static int event_handler(struct usbip_device *ud) */ if (ud->event & USBIP_EH_SHUTDOWN) { ud->eh_ops.shutdown(ud); - ud->event &= ~USBIP_EH_SHUTDOWN; } /* Reset the device. */ if (ud->event & USBIP_EH_RESET) { ud->eh_ops.reset(ud); - ud->event &= ~USBIP_EH_RESET; } /* Mark the device as unusable. */ if (ud->event & USBIP_EH_UNUSABLE) { ud->eh_ops.unusable(ud); - ud->event &= ~USBIP_EH_UNUSABLE; } @@ -68,13 +65,14 @@ static int event_handler_loop(void *data) while (!kthread_should_stop()) { wait_event_interruptible(ud->eh_waitq, - usbip_event_happened(ud) || - kthread_should_stop()); + usbip_event_happened(ud) || + kthread_should_stop()); usbip_dbg_eh("wakeup\n"); if (event_handler(ud) < 0) break; } + return 0; } @@ -86,9 +84,10 @@ int usbip_start_eh(struct usbip_device *ud) ud->eh = kthread_run(event_handler_loop, ud, "usbip_eh"); if (IS_ERR(ud->eh)) { printk(KERN_WARNING - "Unable to start control thread\n"); + "Unable to start control thread\n"); return PTR_ERR(ud->eh); } + return 0; } EXPORT_SYMBOL_GPL(usbip_start_eh); @@ -106,11 +105,8 @@ EXPORT_SYMBOL_GPL(usbip_stop_eh); void usbip_event_add(struct usbip_device *ud, unsigned long event) { spin_lock(&ud->lock); - ud->event |= event; - wake_up(&ud->eh_waitq); - spin_unlock(&ud->lock); } EXPORT_SYMBOL_GPL(usbip_event_add); @@ -120,10 +116,8 @@ int usbip_event_happened(struct usbip_device *ud) int happened = 0; spin_lock(&ud->lock); - if (ud->event != 0) happened = 1; - spin_unlock(&ud->lock); return happened;