diff --git a/[refs] b/[refs] index 1ba8632981fa..63b5035ecf17 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9a3af585e7fe3df35b233977579b5ab6e4c7005f +refs/heads/master: 81b77f94a10b64a3620e32531b5d8dbc495f1727 diff --git a/trunk/drivers/staging/iio/adc/max1363_ring.c b/trunk/drivers/staging/iio/adc/max1363_ring.c index c8aa01109ec2..56688dc9c92f 100644 --- a/trunk/drivers/staging/iio/adc/max1363_ring.c +++ b/trunk/drivers/staging/iio/adc/max1363_ring.c @@ -51,15 +51,15 @@ int max1363_single_channel_from_ring(long mask, struct max1363_state *st) /* Need a count of channels prior to this one */ mask >>= 1; while (mask) { - if (mask && st->current_mode->modemask) + if (mask & st->current_mode->modemask) count++; mask >>= 1; } if (st->chip_info->bits != 8) - return ((int)(ring_data[count*2 + 0] & 0x0F) << 8) + ret = ((int)(ring_data[count*2 + 0] & 0x0F) << 8) + (int)(ring_data[count*2 + 1]); else - return ring_data[count]; + ret = ring_data[count]; error_free_ring_data: kfree(ring_data);