|
@@ -140,7 +140,7 @@ static irqreturn_t cpm_i2c_interrupt(int irq, void *dev_id)
|
|
|
|
|
|
dev_dbg(&adap->dev, "Interrupt: %x\n", i);
|
|
dev_dbg(&adap->dev, "Interrupt: %x\n", i);
|
|
|
|
|
|
- wake_up_interruptible(&cpm->i2c_wait);
|
|
|
|
|
|
+ wake_up(&cpm->i2c_wait);
|
|
|
|
|
|
return i ? IRQ_HANDLED : IRQ_NONE;
|
|
return i ? IRQ_HANDLED : IRQ_NONE;
|
|
}
|
|
}
|
|
@@ -364,12 +364,12 @@ static int cpm_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
|
|
dev_dbg(&adap->dev, "test ready.\n");
|
|
dev_dbg(&adap->dev, "test ready.\n");
|
|
pmsg = &msgs[tptr];
|
|
pmsg = &msgs[tptr];
|
|
if (pmsg->flags & I2C_M_RD)
|
|
if (pmsg->flags & I2C_M_RD)
|
|
- ret = wait_event_interruptible_timeout(cpm->i2c_wait,
|
|
|
|
|
|
+ ret = wait_event_timeout(cpm->i2c_wait,
|
|
(in_be16(&tbdf[tptr].cbd_sc) & BD_SC_NAK) ||
|
|
(in_be16(&tbdf[tptr].cbd_sc) & BD_SC_NAK) ||
|
|
!(in_be16(&rbdf[rptr].cbd_sc) & BD_SC_EMPTY),
|
|
!(in_be16(&rbdf[rptr].cbd_sc) & BD_SC_EMPTY),
|
|
1 * HZ);
|
|
1 * HZ);
|
|
else
|
|
else
|
|
- ret = wait_event_interruptible_timeout(cpm->i2c_wait,
|
|
|
|
|
|
+ ret = wait_event_timeout(cpm->i2c_wait,
|
|
!(in_be16(&tbdf[tptr].cbd_sc) & BD_SC_READY),
|
|
!(in_be16(&tbdf[tptr].cbd_sc) & BD_SC_READY),
|
|
1 * HZ);
|
|
1 * HZ);
|
|
if (ret == 0) {
|
|
if (ret == 0) {
|