Re: [PATCH 21/47] New version of CRISv32 I2C driver.

Andrew Morton
2007-12-12T11:19:18Z

On Fri, 30 Nov 2007 15:54:01 +0100 Jesper Nilsson <jesper.nilsson@axis.com> wrote:

> +int
> +i2c_write(unsigned char theSlave, void *data, size_t nbytes)
> +{
> + int error, cntr = 3;
> + unsigned char bytes_wrote = 0;
> + unsigned char value;
> + unsigned long flags;
> +
> + spin_lock(&i2c_lock);
> +
> + do {
> + error = 0;
> + /*
> + * we don't like to be interrupted
> + */
> + local_irq_save(flags);
> +
> + i2c_start();
> + /*

Well if you _are_ interrupted prior to the local_irq_save() you'll deadlock
on i2c_lock?