From: Greg KH <greg@kroah.com>
To: linux-kernel@vger.kernel.org, sensors@stimpy.netroedge.com
Subject: Re: [PATCH] I2C update for 2.6.9
Date: Tue, 19 Oct 2004 17:18:25 -0700 [thread overview]
Message-ID: <10982315053127@kroah.com> (raw)
In-Reply-To: <10982315052653@kroah.com>
ChangeSet 1.1867.7.8, 2004/09/21 16:40:19-07:00, nacc@us.ibm.com
[PATCH] i2c/i2c-mpc: replace schedule_timeout() with msleep_interruptible()
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>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
drivers/i2c/busses/i2c-mpc.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff -Nru a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
--- a/drivers/i2c/busses/i2c-mpc.c 2004-10-19 16:54:50 -07:00
+++ b/drivers/i2c/busses/i2c-mpc.c 2004-10-19 16:54:50 -07:00
@@ -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 @@
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 @@
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;
next prev parent reply other threads:[~2004-10-20 0:37 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-20 0:16 [BK PATCH] I2C update for 2.6.9 Greg KH
2004-10-20 0:18 ` [PATCH] " Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH [this message]
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 0:18 ` Greg KH
2004-10-20 5:21 ` Eugene Surovegin
2004-10-20 6:26 ` [PATCH] fix recently introduced race in IBM PPC4xx I2C driver Eugene Surovegin
2004-10-22 19:55 ` Greg KH
2004-10-25 18:29 ` [PATCH] I2C update for 2.6.9 Bill Davidsen
2004-10-25 20:54 ` Jean Delvare
2004-10-26 21:03 ` Bill Davidsen
2004-10-20 15:57 ` [BK PATCH] " Jean Delvare
2004-10-20 16:40 ` Lee Revell
2004-10-22 21:34 ` Jean Delvare
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=10982315053127@kroah.com \
--to=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sensors@stimpy.netroedge.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).