All of lore.kernel.org
 help / color / mirror / Atom feed
* [Kernel-janitors] [PATCH] usb/dabusb: insert set_current_state()
@ 2004-07-27 23:11 Nishanth Aravamudan
  2004-07-27 23:13 ` Nishanth Aravamudan
  2004-07-28 16:44 ` Nishanth Aravamudan
  0 siblings, 2 replies; 3+ messages in thread
From: Nishanth Aravamudan @ 2004-07-27 23:11 UTC (permalink / raw)
  To: kernel-janitors

[-- Attachment #1: Type: text/plain, Size: 827 bytes --]

I would appreciate any comments from the janitors list. 

Applys-to: 2.6.7

Description: Move non-blocking conditional check outside while-loop.
Insert set_current_stateo() so schedule_timeout() functions as expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>


--- linux-vanilla/drivers/usb/media/dabusb.c	2004-06-16 05:19:36.000000000 +0000
+++ linux-dev/drivers/usb/media/dabusb.c	2004-07-13 20:36:32.000000000 +0000
@@ -592,12 +592,14 @@ static int dabusb_open (struct inode *in
 	dbg("dabusb_open");
 	down (&s->mutex);
 
+	if (file->f_flags & O_NONBLOCK) {
+		return -EBUSY;
+	}
+	
 	while (!s->usbdev || s->opened) {
 		up (&s->mutex);
 
-		if (file->f_flags & O_NONBLOCK) {
-			return -EBUSY;
-		}
+		set_current_state(TASK_INTERRUPTIBLE);
 		schedule_timeout (HZ / 2);
 
 		if (signal_pending (current)) {

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-07-28 16:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-27 23:11 [Kernel-janitors] [PATCH] usb/dabusb: insert set_current_state() Nishanth Aravamudan
2004-07-27 23:13 ` Nishanth Aravamudan
2004-07-28 16:44 ` Nishanth Aravamudan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.