From f4dd45b94909ee4ae2b379c8f3d6468e490ca8aa Mon Sep 17 00:00:00 2001 From: Timur Tabi Date: Fri, 6 Feb 2009 08:00:37 -0600 Subject: [PATCH] --- yaml --- r: 138503 b: refs/heads/master c: 1ab082d7cbd0f34e39a5396cc6340c00bc5d66ef h: refs/heads/master i: 138501: 84be08ce67507769ed0f17b3f822b96c829e84fe 138499: c8b44ae8bb799949476e4878b73cf081d3e053da 138495: dd4ac4b05883dbdf5573976ce9bbdaffaf978afd v: v3 --- [refs] | 2 +- trunk/drivers/i2c/busses/i2c-mpc.c | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index e8da54fb294c..4e9dae719b3d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 652e8f8d579d61745094e36b4ff085026a332e73 +refs/heads/master: 1ab082d7cbd0f34e39a5396cc6340c00bc5d66ef diff --git a/trunk/drivers/i2c/busses/i2c-mpc.c b/trunk/drivers/i2c/busses/i2c-mpc.c index aedbbe6618db..3163eab3f608 100644 --- a/trunk/drivers/i2c/busses/i2c-mpc.c +++ b/trunk/drivers/i2c/busses/i2c-mpc.c @@ -70,7 +70,7 @@ static irqreturn_t mpc_i2c_isr(int irq, void *dev_id) /* Read again to allow register to stabilise */ i2c->interrupt = readb(i2c->base + MPC_I2C_SR); writeb(0, i2c->base + MPC_I2C_SR); - wake_up_interruptible(&i2c->queue); + wake_up(&i2c->queue); } return IRQ_HANDLED; } @@ -115,13 +115,10 @@ static int i2c_wait(struct mpc_i2c *i2c, unsigned timeout, int writing) writeb(0, i2c->base + MPC_I2C_SR); } else { /* Interrupt mode */ - result = wait_event_interruptible_timeout(i2c->queue, + result = wait_event_timeout(i2c->queue, (i2c->interrupt & CSR_MIF), timeout * HZ); - if (unlikely(result < 0)) { - pr_debug("I2C: wait interrupted\n"); - writeccr(i2c, 0); - } else if (unlikely(!(i2c->interrupt & CSR_MIF))) { + if (unlikely(!(i2c->interrupt & CSR_MIF))) { pr_debug("I2C: wait timeout\n"); writeccr(i2c, 0); result = -ETIMEDOUT;