Re: [PATCH] iio: accel: kxsd9: fix the usage of spi_w8r8()

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

 



On 17/06/16 17:22, Jonathan Cameron wrote:
> 
> 
> On 17 June 2016 14:22:24 BST, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
>> These two spi_w8r8() calls return a value with is used by the code
>> following the error check. The dubious use was caused by a cleanup
>> patch.
>>
>> Fixes: d34dbee8ac8e ("staging:iio:accel:kxsd9 cleanup and conversion to
>> iio_chan_spec.")
>> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
This patch is 'obviously' correct so applied and marked for stable.

Thanks,

Jonathan
>> ---
>> Jonathan: I suspect the driver was never tested after the cleanup?
>> I'm trying to use the driver to bolt on I2C support, but I'm a bit
>> suspicious that it's not really working for SPI even.
> 
> Sadly it is more than possible. My test bodge rig for this one was down for a long time. (Hides guilty expression)
> Most of it is back running now as I was looking at the sca3000 driver recently
>  which used the same mashup (with another adapter cable).
> 
> Pretty simple device iirc so shouldn't be too hard to fix. Original driver got written
>  in about a day long ago...
> 
> Where did you find one of these. I thought they were long obsoleted?
> 
> J
>> ---
>> drivers/iio/accel/kxsd9.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c
>> index 923f56598d4b..3a9f106787d2 100644
>> --- a/drivers/iio/accel/kxsd9.c
>> +++ b/drivers/iio/accel/kxsd9.c
>> @@ -81,7 +81,7 @@ static int kxsd9_write_scale(struct iio_dev
>> *indio_dev, int micro)
>>
>> 	mutex_lock(&st->buf_lock);
>> 	ret = spi_w8r8(st->us, KXSD9_READ(KXSD9_REG_CTRL_C));
>> -	if (ret)
>> +	if (ret < 0)
>> 		goto error_ret;
>> 	st->tx[0] = KXSD9_WRITE(KXSD9_REG_CTRL_C);
>> 	st->tx[1] = (ret & ~KXSD9_FS_MASK) | i;
>> @@ -163,7 +163,7 @@ static int kxsd9_read_raw(struct iio_dev
>> *indio_dev,
>> 		break;
>> 	case IIO_CHAN_INFO_SCALE:
>> 		ret = spi_w8r8(st->us, KXSD9_READ(KXSD9_REG_CTRL_C));
>> -		if (ret)
>> +		if (ret < 0)
>> 			goto error_ret;
>> 		*val2 = kxsd9_micro_scales[ret & KXSD9_FS_MASK];
>> 		ret = IIO_VAL_INT_PLUS_MICRO;
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux