mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +08:00
Staging driver fixes for 3.10-rc5
Here are some staging and IIO driver fixes for the 3.10-rc5 release. All of them are tiny, and fix a number of reported issues (build and runtime.) Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iEYEABECAAYFAlGwzF0ACgkQMUfUDdst+ymYtgCgg8fPe5FWUgi0Mu+dn/QZS0UC uv4AoI3nLDo/PdTgXe3xzTMN9H3AECIB =0fZC -----END PGP SIGNATURE----- Merge tag 'staging-3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver fixes from Greg Kroah-Hartman: "Here are some staging and IIO driver fixes for the 3.10-rc5 release. All of them are tiny, and fix a number of reported issues (build and runtime)" Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> * tag 'staging-3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: iio:inkern: Fix typo/bug in convert raw to processed. iio: frequency: ad4350: Fix bug / typo in mask inkern: iio_device_put after incorrect return/goto staging: alarm-dev: information leak in alarm_compat_ioctl() iio:callback buffer: free the scan_mask staging: alarm-dev: information leak in alarm_ioctl() drivers: staging: zcache: fix compile error staging: dwc2: fix value of dma_mask
This commit is contained in:
commit
e2b02e25c5
@ -64,7 +64,7 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev,
|
||||
while (chan->indio_dev) {
|
||||
if (chan->indio_dev != indio_dev) {
|
||||
ret = -EINVAL;
|
||||
goto error_release_channels;
|
||||
goto error_free_scan_mask;
|
||||
}
|
||||
set_bit(chan->channel->scan_index,
|
||||
cb_buff->buffer.scan_mask);
|
||||
@ -73,6 +73,8 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev,
|
||||
|
||||
return cb_buff;
|
||||
|
||||
error_free_scan_mask:
|
||||
kfree(cb_buff->buffer.scan_mask);
|
||||
error_release_channels:
|
||||
iio_channel_release_all(cb_buff->channels);
|
||||
error_free_cb_buff:
|
||||
@ -100,6 +102,7 @@ EXPORT_SYMBOL_GPL(iio_channel_stop_all_cb);
|
||||
|
||||
void iio_channel_release_all_cb(struct iio_cb_buffer *cb_buff)
|
||||
{
|
||||
kfree(cb_buff->buffer.scan_mask);
|
||||
iio_channel_release_all(cb_buff->channels);
|
||||
kfree(cb_buff);
|
||||
}
|
||||
|
@ -212,7 +212,7 @@ static int adf4350_set_freq(struct adf4350_state *st, unsigned long long freq)
|
||||
(pdata->r2_user_settings & (ADF4350_REG2_PD_POLARITY_POS |
|
||||
ADF4350_REG2_LDP_6ns | ADF4350_REG2_LDF_INT_N |
|
||||
ADF4350_REG2_CHARGE_PUMP_CURR_uA(5000) |
|
||||
ADF4350_REG2_MUXOUT(0x7) | ADF4350_REG2_NOISE_MODE(0x9)));
|
||||
ADF4350_REG2_MUXOUT(0x7) | ADF4350_REG2_NOISE_MODE(0x3)));
|
||||
|
||||
st->regs[ADF4350_REG3] = pdata->r3_user_settings &
|
||||
(ADF4350_REG3_12BIT_CLKDIV(0xFFF) |
|
||||
|
@ -124,7 +124,7 @@ static int __of_iio_channel_get(struct iio_channel *channel,
|
||||
channel->indio_dev = indio_dev;
|
||||
index = iiospec.args_count ? iiospec.args[0] : 0;
|
||||
if (index >= indio_dev->num_channels) {
|
||||
return -EINVAL;
|
||||
err = -EINVAL;
|
||||
goto err_put;
|
||||
}
|
||||
channel->channel = &indio_dev->channels[index];
|
||||
@ -450,7 +450,7 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan,
|
||||
s64 raw64 = raw;
|
||||
int ret;
|
||||
|
||||
ret = iio_channel_read(chan, &offset, NULL, IIO_CHAN_INFO_SCALE);
|
||||
ret = iio_channel_read(chan, &offset, NULL, IIO_CHAN_INFO_OFFSET);
|
||||
if (ret == 0)
|
||||
raw64 += offset;
|
||||
|
||||
|
@ -264,6 +264,8 @@ static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
}
|
||||
|
||||
rv = alarm_do_ioctl(file, cmd, &ts);
|
||||
if (rv)
|
||||
return rv;
|
||||
|
||||
switch (ANDROID_ALARM_BASE_CMD(cmd)) {
|
||||
case ANDROID_ALARM_GET_TIME(0):
|
||||
@ -272,7 +274,7 @@ static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
break;
|
||||
}
|
||||
|
||||
return rv;
|
||||
return 0;
|
||||
}
|
||||
#ifdef CONFIG_COMPAT
|
||||
static long alarm_compat_ioctl(struct file *file, unsigned int cmd,
|
||||
@ -295,6 +297,8 @@ static long alarm_compat_ioctl(struct file *file, unsigned int cmd,
|
||||
}
|
||||
|
||||
rv = alarm_do_ioctl(file, cmd, &ts);
|
||||
if (rv)
|
||||
return rv;
|
||||
|
||||
switch (ANDROID_ALARM_BASE_CMD(cmd)) {
|
||||
case ANDROID_ALARM_GET_TIME(0): /* NOTE: we modified cmd above */
|
||||
@ -303,7 +307,7 @@ static long alarm_compat_ioctl(struct file *file, unsigned int cmd,
|
||||
break;
|
||||
}
|
||||
|
||||
return rv;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -2804,9 +2804,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int irq,
|
||||
|
||||
/* Set device flags indicating whether the HCD supports DMA */
|
||||
if (hsotg->core_params->dma_enable > 0) {
|
||||
if (dma_set_mask(hsotg->dev, DMA_BIT_MASK(31)) < 0)
|
||||
dev_warn(hsotg->dev,
|
||||
"can't enable workaround for >2GB RAM\n");
|
||||
if (dma_set_mask(hsotg->dev, DMA_BIT_MASK(32)) < 0)
|
||||
dev_warn(hsotg->dev, "can't set DMA mask\n");
|
||||
if (dma_set_coherent_mask(hsotg->dev, DMA_BIT_MASK(31)) < 0)
|
||||
dev_warn(hsotg->dev,
|
||||
"can't enable workaround for >2GB RAM\n");
|
||||
|
@ -11,10 +11,6 @@
|
||||
#ifndef _ZCACHE_RAMSTER_H_
|
||||
#define _ZCACHE_RAMSTER_H_
|
||||
|
||||
#ifdef CONFIG_RAMSTER_MODULE
|
||||
#define CONFIG_RAMSTER
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RAMSTER
|
||||
#include "ramster/ramster.h"
|
||||
#else
|
||||
|
@ -1,6 +1,8 @@
|
||||
#include <linux/atomic.h>
|
||||
#include "debug.h"
|
||||
|
||||
ssize_t ramster_foreign_eph_pages;
|
||||
ssize_t ramster_foreign_pers_pages;
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
#include <linux/debugfs.h>
|
||||
|
||||
|
@ -66,8 +66,6 @@ static int ramster_remote_target_nodenum __read_mostly = -1;
|
||||
|
||||
/* Used by this code. */
|
||||
long ramster_flnodes;
|
||||
ssize_t ramster_foreign_eph_pages;
|
||||
ssize_t ramster_foreign_pers_pages;
|
||||
/* FIXME frontswap selfshrinking knobs in debugfs? */
|
||||
|
||||
static LIST_HEAD(ramster_rem_op_list);
|
||||
@ -399,14 +397,18 @@ void ramster_count_foreign_pages(bool eph, int count)
|
||||
inc_ramster_foreign_eph_pages();
|
||||
} else {
|
||||
dec_ramster_foreign_eph_pages();
|
||||
#ifdef CONFIG_RAMSTER_DEBUG
|
||||
WARN_ON_ONCE(ramster_foreign_eph_pages < 0);
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
if (count > 0) {
|
||||
inc_ramster_foreign_pers_pages();
|
||||
} else {
|
||||
dec_ramster_foreign_pers_pages();
|
||||
#ifdef CONFIG_RAMSTER_DEBUG
|
||||
WARN_ON_ONCE(ramster_foreign_pers_pages < 0);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user