Ignore:
Timestamp:
Apr 16, 2017, 3:07:01 PM (5 weeks ago)
Author:
brainslayer
Message:

update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-3.18/drivers/staging/iio/impedance-analyzer/ad5933.c

    r25370 r31869  
    648648        signed short buf[2];
    649649        unsigned char status;
     650        int ret;
    650651
    651652        mutex_lock(&indio_dev->mlock);
     
    655656                st->state = AD5933_CTRL_START_SWEEP;
    656657                schedule_delayed_work(&st->work, st->poll_time_jiffies);
    657                 mutex_unlock(&indio_dev->mlock);
    658                 return;
    659         }
    660 
    661         ad5933_i2c_read(st->client, AD5933_REG_STATUS, 1, &status);
     658                goto out;
     659        }
     660
     661        ret = ad5933_i2c_read(st->client, AD5933_REG_STATUS, 1, &status);
     662        if (ret)
     663                goto out;
    662664
    663665        if (status & AD5933_STAT_DATA_VALID) {
    664666                int scan_count = bitmap_weight(indio_dev->active_scan_mask,
    665667                                               indio_dev->masklength);
    666                 ad5933_i2c_read(st->client,
     668                ret = ad5933_i2c_read(st->client,
    667669                                test_bit(1, indio_dev->active_scan_mask) ?
    668670                                AD5933_REG_REAL_DATA : AD5933_REG_IMAG_DATA,
    669671                                scan_count * 2, (u8 *)buf);
     672                if (ret)
     673                        goto out;
    670674
    671675                if (scan_count == 2) {
     
    679683                /* no data available - try again later */
    680684                schedule_delayed_work(&st->work, st->poll_time_jiffies);
    681                 mutex_unlock(&indio_dev->mlock);
    682                 return;
     685                goto out;
    683686        }
    684687
     
    692695                schedule_delayed_work(&st->work, st->poll_time_jiffies);
    693696        }
    694 
     697out:
    695698        mutex_unlock(&indio_dev->mlock);
    696699}
Note: See TracChangeset for help on using the changeset viewer.