Skip to contentSkip to conversation

net/shaper: replace sleep_on() with wait_event()

PATCH Applied [email protected] 1 participant 1 message Mar 6, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 17/26 net/shaper: replace sleep_on() with wait_event()

Use wait_event() instead of the deprecated sleep_on(). Move the in_interrupt() check outside loop, as I do not believe the process context should change once execution has begun. Patch is compile-tested.

---

 kj-domen/drivers/net/shaper.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)
drivers/net/shaper.c renamed from drivers/net/shaper.c~sleep_on-drivers_net_shaper +4 -8
diff -puN drivers/net/shaper.c~sleep_on-drivers_net_shaper drivers/net/shaper.c
@@ -83,6 +83,7 @@
 #include <linux/if_arp.h>
 #include <linux/init.h>
 #include <linux/if_shaper.h>
+#include <linux/wait.h>
 
 #include <net/dst.h>
 #include <net/arp.h>
@@ -109,14 +110,9 @@ static int shaper_lock(struct shaper *sh
 	/*
 	 *	Lock in an interrupt must fail
 	 */
-	while (test_and_set_bit(0, &sh->locked))
-	{
-		if (!in_interrupt())
-			sleep_on(&sh->wait_queue);
-		else
-			return 0;
-			
-	}
+	if (in_interrupt())
+		return 0;
+	wait_event(sh->wait_queue, !test_and_set_bit(0, &sh->locked));
 	return 1;
 }
 

_