Merge tag 'v3.6-rc1-iio-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
IIO fixes for v3.6-rc1 set 2 A few simple fixes. 1)Fix up some possible divide by zero issues in various drivers. 2)Prevent a memory leak in an error path in lis3l02dq 3)Make sure the PTR_ERR call in at91_adc matches the check for IS_ERR just above it rather than using a different pointer. Merges fine against v3.6rc4
This commit is contained in:
@@ -617,7 +617,7 @@ static int __devinit at91_adc_probe(struct platform_device *pdev)
|
||||
st->adc_clk = clk_get(&pdev->dev, "adc_op_clk");
|
||||
if (IS_ERR(st->adc_clk)) {
|
||||
dev_err(&pdev->dev, "Failed to get the ADC clock.\n");
|
||||
ret = PTR_ERR(st->clk);
|
||||
ret = PTR_ERR(st->adc_clk);
|
||||
goto error_disable_clk;
|
||||
}
|
||||
|
||||
|
@@ -121,8 +121,10 @@ static int lis3l02dq_get_buffer_element(struct iio_dev *indio_dev,
|
||||
if (rx_array == NULL)
|
||||
return -ENOMEM;
|
||||
ret = lis3l02dq_read_all(indio_dev, rx_array);
|
||||
if (ret < 0)
|
||||
if (ret < 0) {
|
||||
kfree(rx_array);
|
||||
return ret;
|
||||
}
|
||||
for (i = 0; i < scan_count; i++)
|
||||
data[i] = combine_8_to_16(rx_array[i*4+1],
|
||||
rx_array[i*4+3]);
|
||||
|
@@ -647,6 +647,8 @@ static ssize_t ad7192_write_frequency(struct device *dev,
|
||||
ret = strict_strtoul(buf, 10, &lval);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (lval == 0)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
if (iio_buffer_enabled(indio_dev)) {
|
||||
|
@@ -195,6 +195,8 @@ static ssize_t adis16260_write_frequency(struct device *dev,
|
||||
ret = strict_strtol(buf, 10, &val);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (val == 0)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
if (spi_get_device_id(st->us)) {
|
||||
|
@@ -234,6 +234,8 @@ static ssize_t adis16400_write_frequency(struct device *dev,
|
||||
ret = strict_strtol(buf, 10, &val);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (val == 0)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
|
||||
|
@@ -425,6 +425,8 @@ static ssize_t ade7753_write_frequency(struct device *dev,
|
||||
ret = strict_strtol(buf, 10, &val);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (val == 0)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
|
||||
|
@@ -445,6 +445,8 @@ static ssize_t ade7754_write_frequency(struct device *dev,
|
||||
ret = strict_strtol(buf, 10, &val);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (val == 0)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
|
||||
|
@@ -385,6 +385,8 @@ static ssize_t ade7759_write_frequency(struct device *dev,
|
||||
ret = strict_strtol(buf, 10, &val);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (val == 0)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
|
||||
|
Reference in New Issue
Block a user