Re: [i2c] [PATCH 1/8] i2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 25, 2008 at 10:53:47AM +0300, Tony Lindgren wrote:
> From: Jarkko Nikula <jarkko.nikula@xxxxxxxxx>
> 
> If there is a signal pending and wait_for_completion_interruptible_timeout
> terminates with -ERESTARTSYS, we return and disable the i2c clocks in
> omap_i2c_xfer.
> 
> If we terminate before sending last i2c message with a stop condition, the
> bus remains busy and we are not able to send new messages into bus with
> successive omap_i2c_xfer calls. Therefore a pending signal is not caught
> here and we return only because of timeout or i2c error.

I assume that this is preferable to aborting an transfer when the
signal is caught (if possible) ?
 
> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxx>
> Signed-off-by: Juha Yrjola <juha.yrjola@xxxxxxxxxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
> ---
>  drivers/i2c/busses/i2c-omap.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index e7eb7bf..cfb76f5 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -328,8 +328,8 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap,
>  		w |= OMAP_I2C_CON_STP;
>  	omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, w);
>  
> -	r = wait_for_completion_interruptible_timeout(&dev->cmd_complete,
> -						      OMAP_I2C_TIMEOUT);
> +	r = wait_for_completion_timeout(&dev->cmd_complete,
> +					OMAP_I2C_TIMEOUT);
>  	dev->buf_len = 0;
>  	if (r < 0)
>  		return r;
> -- 
> 1.5.6.rc3.21.g8c6b5
> 
> 
> _______________________________________________
> i2c mailing list
> i2c@xxxxxxxxxxxxxx
> http://lists.lm-sensors.org/mailman/listinfo/i2c

-- 
Ben (ben@xxxxxxxxx, http://www.fluff.org/)

  'a smiley only costs 4 bytes'
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux