All of lore.kernel.org
 help / color / mirror / Atom feed
* [Kernel-janitors] [PATCH 2.6.9-rc2 2/2] i2c/i2c-mpc: replace
@ 2004-09-16 23:04 Nishanth Aravamudan
  2004-09-16 23:40 ` Nishanth Aravamudan
  2004-09-17  0:02 ` [Kernel-janitors] [PATCH 2.6.9-rc2 2/2] ieee1394/sbp2: replace Nishanth Aravamudan
  0 siblings, 2 replies; 3+ messages in thread
From: Nishanth Aravamudan @ 2004-09-16 23:04 UTC (permalink / raw)
  To: kernel-janitors

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

Any comments would be appreciated.

Description: Properly orders set_current_state() and add_wait_queue().
Uses msleep_interruptible() in place of schedule_timeout() to guarantee
the task delays as expected. Uses set_current_state() instead of direct
assignment of current->state.

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

--- 2.6.9-rc2-vanilla/drivers/i2c/busses/i2c-mpc.c	2004-09-13 17:15:46.000000000 -0700
+++ 2.6.9-rc2/drivers/i2c/busses/i2c-mpc.c	2004-09-16 16:01:25.000000000 -0700
@@ -91,9 +91,9 @@ static int i2c_wait(struct mpc_i2c *i2c,
 		x = readb(i2c->base + MPC_I2C_SR);
 		writeb(0, i2c->base + MPC_I2C_SR);
 	} else {
+		set_current_state(TASK_INTERRUPTIBLE);
 		add_wait_queue(&i2c->queue, &wait);
 		while (!(i2c->interrupt & CSR_MIF)) {
-			set_current_state(TASK_INTERRUPTIBLE);
 			if (signal_pending(current)) {
 				pr_debug("I2C: Interrupted\n");
 				result = -EINTR;
@@ -104,9 +104,9 @@ static int i2c_wait(struct mpc_i2c *i2c,
 				result = -EIO;
 				break;
 			}
-			schedule_timeout(timeout);
+			msleep_interruptible(jiffies_to_msecs(timeout));
 		}
-		current->state = TASK_RUNNING;
+		set_current_state(TASK_RUNNING);
 		remove_wait_queue(&i2c->queue, &wait);
 		x = i2c->interrupt;
 		i2c->interrupt = 0;

[-- 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

* [Kernel-janitors] [PATCH 2.6.9-rc2 2/2] i2c/i2c-mpc: replace
  2004-09-16 23:04 [Kernel-janitors] [PATCH 2.6.9-rc2 2/2] i2c/i2c-mpc: replace Nishanth Aravamudan
@ 2004-09-16 23:40 ` Nishanth Aravamudan
  2004-09-17  0:02 ` [Kernel-janitors] [PATCH 2.6.9-rc2 2/2] ieee1394/sbp2: replace Nishanth Aravamudan
  1 sibling, 0 replies; 3+ messages in thread
From: Nishanth Aravamudan @ 2004-09-16 23:40 UTC (permalink / raw)
  To: kernel-janitors

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

Previous patch won't compile. Any comments would (still) be appreciated.

Description: Properly orders set_current_state() and add_wait_queue().
Uses msleep_interruptible() in place of schedule_timeout() to guarantee
the task delays as expected. Uses set_current_state() instead of direct
assignment of current->state.

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

--- 2.6.9-rc2-vanilla/drivers/i2c/busses/i2c-mpc.c	2004-09-13 17:15:46.000000000 -0700
+++ 2.6.9-rc2/drivers/i2c/busses/i2c-mpc.c	2004-09-16 16:37:31.000000000 -0700
@@ -23,6 +23,7 @@
 #include <asm/ocp.h>
 #include <linux/i2c.h>
 #include <linux/interrupt.h>
+#include <linux/delay.h>
 
 #define MPC_I2C_ADDR  0x00
 #define MPC_I2C_FDR 	0x04
@@ -91,9 +92,9 @@ static int i2c_wait(struct mpc_i2c *i2c,
 		x = readb(i2c->base + MPC_I2C_SR);
 		writeb(0, i2c->base + MPC_I2C_SR);
 	} else {
+		set_current_state(TASK_INTERRUPTIBLE);
 		add_wait_queue(&i2c->queue, &wait);
 		while (!(i2c->interrupt & CSR_MIF)) {
-			set_current_state(TASK_INTERRUPTIBLE);
 			if (signal_pending(current)) {
 				pr_debug("I2C: Interrupted\n");
 				result = -EINTR;
@@ -104,9 +105,9 @@ static int i2c_wait(struct mpc_i2c *i2c,
 				result = -EIO;
 				break;
 			}
-			schedule_timeout(timeout);
+			msleep_interruptible(jiffies_to_msecs(timeout));
 		}
-		current->state = TASK_RUNNING;
+		set_current_state(TASK_RUNNING);
 		remove_wait_queue(&i2c->queue, &wait);
 		x = i2c->interrupt;
 		i2c->interrupt = 0;

[-- 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

* [Kernel-janitors] [PATCH 2.6.9-rc2 2/2] ieee1394/sbp2: replace
  2004-09-16 23:04 [Kernel-janitors] [PATCH 2.6.9-rc2 2/2] i2c/i2c-mpc: replace Nishanth Aravamudan
  2004-09-16 23:40 ` Nishanth Aravamudan
@ 2004-09-17  0:02 ` Nishanth Aravamudan
  1 sibling, 0 replies; 3+ messages in thread
From: Nishanth Aravamudan @ 2004-09-17  0:02 UTC (permalink / raw)
  To: kernel-janitors

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

Any comments would be appreciated.

Description: Uses msleep_interruptible() in place of schedule_timeout()
to guarantee the task delays as expected.

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

--- 2.6.9-rc2-vanilla/drivers/ieee1394/sbp2.c	2004-09-13 17:16:07.000000000 -0700
+++ 2.6.9-rc2/drivers/ieee1394/sbp2.c	2004-09-14 13:54:17.000000000 -0700
@@ -357,8 +357,7 @@ static int sbp2util_down_timeout(atomic_
 	int i;
 
 	for (i = timeout; (i > 0 && atomic_read(done) == 0); i-= HZ/10) {
-		set_current_state(TASK_INTERRUPTIBLE);
-		if (schedule_timeout(HZ/10))	/* 100ms */
+		if (msleep_interruptible(100))	/* 100ms */
 			return(1);
 	}
 	return ((i > 0) ? 0:1);
@@ -903,8 +902,7 @@ alloc_fail:
 	 * connected to the sbp2 device being removed. That host would
 	 * have a certain amount of time to relogin before the sbp2 device
 	 * allows someone else to login instead. One second makes sense. */
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(HZ);
+	msleep_interruptible(1000);
 
 	/*
 	 * Login to the sbp-2 device

[-- 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-09-17  0:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-16 23:04 [Kernel-janitors] [PATCH 2.6.9-rc2 2/2] i2c/i2c-mpc: replace Nishanth Aravamudan
2004-09-16 23:40 ` Nishanth Aravamudan
2004-09-17  0:02 ` [Kernel-janitors] [PATCH 2.6.9-rc2 2/2] ieee1394/sbp2: replace 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.