Subject: [KJ] [PATCH 29/34] net/shaper: replace sleep_on() with wait_event()

From: Nishanth Aravamudan <[email-masked]>
Date: Tue, 25 Jan 2005 16:37:32 -0800

Hi,

Please consider applying.

Description: 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.

Signed-off-by: Nishanth Aravamudan <[email-masked]>

--- 2.6.11-rc2-kj-v/drivers/net/shaper.c	2005-01-24 09:34:10.000000000 -0800
+++ 2.6.11-rc2-kj/drivers/net/shaper.c	2005-01-25 11:44:13.000000000 -0800
@@ -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;
 }
 
_______________________________________________
Kernel-janitors mailing list
[email-masked]
http://lists.osdl.org/mailman/listinfo/kernel-janitors