From: Nishanth Aravamudan <[email-masked]>

Use schedule_timeout_{,un}interruptible() instead of
set_current_state()/schedule_timeout() to reduce kernel size.

Signed-off-by: Nishanth Aravamudan <[email-masked]>
Cc: Greg KH <[email-masked]>
Signed-off-by: Andrew Morton <[email-masked]>
---

 drivers/usb/class/audio.c       |   13 ++++++++-----
 drivers/usb/host/ehci-hcd.c     |    3 +--
 drivers/usb/host/ohci-hcd.c     |    3 +--
 drivers/usb/serial/cypress_m8.c |    3 +--
 drivers/usb/serial/pl2303.c     |    3 +--
 5 files changed, 12 insertions(+), 13 deletions(-)

diff -puN drivers/usb/class/audio.c~drivers-usb-fix-up-schedule_timeout-usage drivers/usb/class/audio.c
--- devel/drivers/usb/class/audio.c~drivers-usb-fix-up-schedule_timeout-usage	2005-09-11 02:06:29.000000000 -0700
+++ devel-akpm/drivers/usb/class/audio.c	2005-09-11 02:06:29.000000000 -0700
@@ -631,8 +631,10 @@ static void usbin_stop(struct usb_audiod
 	i = u->flags;
 	spin_unlock_irqrestore(&as->lock, flags);
 	while (i & (FLG_URB0RUNNING|FLG_URB1RUNNING|FLG_SYNC0RUNNING|FLG_SYNC1RUNNING)) {
-		set_current_state(notkilled ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE);
-		schedule_timeout(1);
+		if (notkilled)
+			schedule_timeout_interruptible(1);
+		else
+			schedule_timeout_uninterruptible(1);
 		spin_lock_irqsave(&as->lock, flags);
 		i = u->flags;
 		spin_unlock_irqrestore(&as->lock, flags);
@@ -1102,8 +1104,10 @@ static void usbout_stop(struct usb_audio
 	i = u->flags;
 	spin_unlock_irqrestore(&as->lock, flags);
 	while (i & (FLG_URB0RUNNING|FLG_URB1RUNNING|FLG_SYNC0RUNNING|FLG_SYNC1RUNNING)) {
-		set_current_state(notkilled ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE);
-		schedule_timeout(1);
+		if (notkilled)
+			schedule_timeout_interruptible(1);
+		else
+			schedule_timeout_uninterruptible(1);
 		spin_lock_irqsave(&as->lock, flags);
 		i = u->flags;
 		spin_unlock_irqrestore(&as->lock, flags);
@@ -1119,7 +1123,6 @@ static void usbout_stop(struct usb_audio
 			notkilled = 0;
 		}
 	}
-	set_current_state(TASK_RUNNING);
 	kfree(u->durb[0].urb->transfer_buffer);
 	kfree(u->durb[1].urb->transfer_buffer);
 	kfree(u->surb[0].urb->transfer_buffer);
diff -puN drivers/usb/host/ehci-hcd.c~drivers-usb-fix-up-schedule_timeout-usage drivers/usb/host/ehci-hcd.c
--- devel/drivers/usb/host/ehci-hcd.c~drivers-usb-fix-up-schedule_timeout-usage	2005-09-11 02:06:29.000000000 -0700
+++ devel-akpm/drivers/usb/host/ehci-hcd.c	2005-09-11 02:06:29.000000000 -0700
@@ -1126,8 +1126,7 @@ rescan:
 	case QH_STATE_UNLINK:		/* wait for hw to finish? */
 idle_timeout:
 		spin_unlock_irqrestore (&ehci->lock, flags);
-		set_current_state (TASK_UNINTERRUPTIBLE);
-		schedule_timeout (1);
+		schedule_timeout_uninterruptible(1);
 		goto rescan;
 	case QH_STATE_IDLE:		/* fully unlinked */
 		if (list_empty (&qh->qtd_list)) {
diff -puN drivers/usb/host/ohci-hcd.c~drivers-usb-fix-up-schedule_timeout-usage drivers/usb/host/ohci-hcd.c
--- devel/drivers/usb/host/ohci-hcd.c~drivers-usb-fix-up-schedule_timeout-usage	2005-09-11 02:06:29.000000000 -0700
+++ devel-akpm/drivers/usb/host/ohci-hcd.c	2005-09-11 02:06:29.000000000 -0700
@@ -382,8 +382,7 @@ sanitize:
 			goto sanitize;
 		}
 		spin_unlock_irqrestore (&ohci->lock, flags);
-		set_current_state (TASK_UNINTERRUPTIBLE);
-		schedule_timeout (1);
+		schedule_timeout_uninterruptible(1);
 		goto rescan;
 	case ED_IDLE:		/* fully unlinked */
 		if (list_empty (&ed->td_list)) {
diff -puN drivers/usb/serial/cypress_m8.c~drivers-usb-fix-up-schedule_timeout-usage drivers/usb/serial/cypress_m8.c
--- devel/drivers/usb/serial/cypress_m8.c~drivers-usb-fix-up-schedule_timeout-usage	2005-09-11 02:06:29.000000000 -0700
+++ devel-akpm/drivers/usb/serial/cypress_m8.c	2005-09-11 02:06:29.000000000 -0700
@@ -610,8 +610,7 @@ static void cypress_close(struct usb_ser
 		timeout = max((HZ*2560)/bps,HZ/10);
 	else
 		timeout = 2*HZ;
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(timeout);
+	schedule_timeout_interruptible(timeout);
 
 	dbg("%s - stopping urbs", __FUNCTION__);
 	usb_kill_urb (port->interrupt_in_urb);
diff -puN drivers/usb/serial/pl2303.c~drivers-usb-fix-up-schedule_timeout-usage drivers/usb/serial/pl2303.c
--- devel/drivers/usb/serial/pl2303.c~drivers-usb-fix-up-schedule_timeout-usage	2005-09-11 02:06:29.000000000 -0700
+++ devel-akpm/drivers/usb/serial/pl2303.c	2005-09-11 02:06:29.000000000 -0700
@@ -652,8 +652,7 @@ static void pl2303_close (struct usb_ser
 		timeout = max((HZ*2560)/bps,HZ/10);
 	else
 		timeout = 2*HZ;
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(timeout);
+	schedule_timeout_interruptible(timeout);
 
 	/* shutdown our urbs */
 	dbg("%s - shutting down urbs", __FUNCTION__);
_