diff --git a/[refs] b/[refs] index 8b66ae0d5bb7..4ef1f5e44b5a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0f3bcfe67f175d4edf0c6ab5487fbe23b6533d4a +refs/heads/master: 07ffd0d071153aa45205891e0e577aaba1d74d0f diff --git a/trunk/drivers/staging/iio/dac/ad5446.c b/trunk/drivers/staging/iio/dac/ad5446.c index ec6968b2f054..de796c2f0b22 100644 --- a/trunk/drivers/staging/iio/dac/ad5446.c +++ b/trunk/drivers/staging/iio/dac/ad5446.c @@ -272,7 +272,7 @@ static int ad5446_write_raw(struct iio_dev *indio_dev, long mask) { struct ad5446_state *st = iio_priv(indio_dev); - int ret; + int ret = 0; switch (mask) { case IIO_CHAN_INFO_RAW: @@ -282,8 +282,10 @@ static int ad5446_write_raw(struct iio_dev *indio_dev, val <<= chan->scan_type.shift; mutex_lock(&indio_dev->mlock); st->cached_val = val; - st->chip_info->store_sample(st, val); - ret = spi_sync(st->spi, &st->msg); + if (!st->pwr_down) { + st->chip_info->store_sample(st, val); + ret = spi_sync(st->spi, &st->msg); + } mutex_unlock(&indio_dev->mlock); break; default: