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