From: Arnd Bergmann Date: Thu, 2 Jan 2014 12:07:34 +0000 (+0100) Subject: staging: gdm72xx: fix interruptible_sleep_on race X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4b266e5fbc715e81c616ea122700475333fd3749;p=linux-beck.git staging: gdm72xx: fix interruptible_sleep_on race interruptible_sleep_on is racy and going away. This replaces the use in the gdm72xx driver with the appropriate wait_event_interruptible_lock_irq. Signed-off-by: Arnd Bergmann Cc: Greg Kroah-Hartman Cc: devel@driverdev.osuosl.org Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/gdm72xx/gdm_usb.c b/drivers/staging/gdm72xx/gdm_usb.c index e0cb2ffb41be..f8788bf0a7d3 100644 --- a/drivers/staging/gdm72xx/gdm_usb.c +++ b/drivers/staging/gdm72xx/gdm_usb.c @@ -780,9 +780,10 @@ static int k_mode_thread(void *arg) spin_lock_irqsave(&k_lock, flags2); } + wait_event_interruptible_lock_irq(k_wait, + !list_empty(&k_list) || k_mode_stop, + k_lock); spin_unlock_irqrestore(&k_lock, flags2); - - interruptible_sleep_on(&k_wait); } return 0; }