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