History

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

Linus Torvalds committed 13 years ago

Commit e2b02e22 parents 3b285cb 1f89b8f8 files · +21 −15Browse files

Unified · Split

8 files
  1. drivers/iio/buffer_cb.c +4 −1
  2. drivers/iio/frequency/adf4350.c +1 −1
  3. drivers/iio/inkern.c +2 −2
  4. drivers/staging/android/alarm-dev.c +6 −2
  5. drivers/staging/dwc2/hcd.c +2 −3
  6. drivers/staging/zcache/ramster.h +0 −4
  7. drivers/staging/zcache/ramster/debug.c +2 −0
  8. drivers/staging/zcache/ramster/ramster.c +4 −2
drivers/iio/buffer_cb.c+4−1
@@ -64,7 +64,7 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev, · 63 unmodified lines
64 while (chan->indio_dev) {64 while (chan->indio_dev) {
65 if (chan->indio_dev != indio_dev) {65 if (chan->indio_dev != indio_dev) {
66 ret = -EINVAL;66 ret = -EINVAL;
67 goto error_release_channels;67 goto error_free_scan_mask;
68 }68 }
69 set_bit(chan->channel->scan_index,69 set_bit(chan->channel->scan_index,
70 cb_buff->buffer.scan_mask);70 cb_buff->buffer.scan_mask);
@@ -73,6 +73,8 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev, · 2 unmodified lines
73 73
74 return cb_buff;74 return cb_buff;
75 75
76error_free_scan_mask:
77 kfree(cb_buff->buffer.scan_mask);
76error_release_channels:78error_release_channels:
77 iio_channel_release_all(cb_buff->channels);79 iio_channel_release_all(cb_buff->channels);
78error_free_cb_buff:80error_free_cb_buff:
@@ -100,6 +102,7 @@ EXPORT_SYMBOL_GPL(iio_channel_stop_all_cb); · 21 unmodified lines
100 102
101void iio_channel_release_all_cb(struct iio_cb_buffer *cb_buff)103void iio_channel_release_all_cb(struct iio_cb_buffer *cb_buff)
102{104{
105 kfree(cb_buff->buffer.scan_mask);
103 iio_channel_release_all(cb_buff->channels);106 iio_channel_release_all(cb_buff->channels);
104 kfree(cb_buff);107 kfree(cb_buff);
105}108}
drivers/iio/frequency/adf4350.c+1−1
@@ -212,7 +212,7 @@ static int adf4350_set_freq(struct adf4350_state *st, unsigned long long freq) · 211 unmodified lines
212 (pdata->r2_user_settings & (ADF4350_REG2_PD_POLARITY_POS |212 (pdata->r2_user_settings & (ADF4350_REG2_PD_POLARITY_POS |
213 ADF4350_REG2_LDP_6ns | ADF4350_REG2_LDF_INT_N |213 ADF4350_REG2_LDP_6ns | ADF4350_REG2_LDF_INT_N |
214 ADF4350_REG2_CHARGE_PUMP_CURR_uA(5000) |214 ADF4350_REG2_CHARGE_PUMP_CURR_uA(5000) |
215 ADF4350_REG2_MUXOUT(0x7) | ADF4350_REG2_NOISE_MODE(0x9)));215 ADF4350_REG2_MUXOUT(0x7) | ADF4350_REG2_NOISE_MODE(0x3)));
216 216
217 st->regs[ADF4350_REG3] = pdata->r3_user_settings &217 st->regs[ADF4350_REG3] = pdata->r3_user_settings &
218 (ADF4350_REG3_12BIT_CLKDIV(0xFFF) |218 (ADF4350_REG3_12BIT_CLKDIV(0xFFF) |
drivers/iio/inkern.c+2−2
@@ -124,7 +124,7 @@ static int __of_iio_channel_get(struct iio_channel *channel, · 123 unmodified lines
124 channel->indio_dev = indio_dev;124 channel->indio_dev = indio_dev;
125 index = iiospec.args_count ? iiospec.args[0] : 0;125 index = iiospec.args_count ? iiospec.args[0] : 0;
126 if (index >= indio_dev->num_channels) {126 if (index >= indio_dev->num_channels) {
127 return -EINVAL;127 err = -EINVAL;
128 goto err_put;128 goto err_put;
129 }129 }
130 channel->channel = &indio_dev->channels[index];130 channel->channel = &indio_dev->channels[index];
@@ -450,7 +450,7 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan, · 319 unmodified lines
450 s64 raw64 = raw;450 s64 raw64 = raw;
451 int ret;451 int ret;
452 452
453 ret = iio_channel_read(chan, &offset, NULL, IIO_CHAN_INFO_SCALE);453 ret = iio_channel_read(chan, &offset, NULL, IIO_CHAN_INFO_OFFSET);
454 if (ret == 0)454 if (ret == 0)
455 raw64 += offset;455 raw64 += offset;
456 456
drivers/staging/android/alarm-dev.c+6−2
@@ -264,6 +264,8 @@ static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) · 263 unmodified lines
264 }264 }
265 265
266 rv = alarm_do_ioctl(file, cmd, &ts);266 rv = alarm_do_ioctl(file, cmd, &ts);
267 if (rv)
268 return rv;
267 269
268 switch (ANDROID_ALARM_BASE_CMD(cmd)) {270 switch (ANDROID_ALARM_BASE_CMD(cmd)) {
269 case ANDROID_ALARM_GET_TIME(0):271 case ANDROID_ALARM_GET_TIME(0):
@@ -272,7 +274,7 @@ static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) · 2 unmodified lines
272 break;274 break;
273 }275 }
274 276
275 return rv;277 return 0;
276}278}
277#ifdef CONFIG_COMPAT279#ifdef CONFIG_COMPAT
278static long alarm_compat_ioctl(struct file *file, unsigned int cmd,280static 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, · 16 unmodified lines
295 }297 }
296 298
297 rv = alarm_do_ioctl(file, cmd, &ts);299 rv = alarm_do_ioctl(file, cmd, &ts);
300 if (rv)
301 return rv;
298 302
299 switch (ANDROID_ALARM_BASE_CMD(cmd)) {303 switch (ANDROID_ALARM_BASE_CMD(cmd)) {
300 case ANDROID_ALARM_GET_TIME(0): /* NOTE: we modified cmd above */304 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, · 2 unmodified lines
303 break;307 break;
304 }308 }
305 309
306 return rv;310 return 0;
307}311}
308#endif312#endif
309 313
drivers/staging/dwc2/hcd.c+2−3
@@ -2804,9 +2804,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int irq, · 2803 unmodified lines
2804 2804
2805 /* Set device flags indicating whether the HCD supports DMA */2805 /* Set device flags indicating whether the HCD supports DMA */
2806 if (hsotg->core_params->dma_enable > 0) {2806 if (hsotg->core_params->dma_enable > 0) {
2807 if (dma_set_mask(hsotg->dev, DMA_BIT_MASK(31)) < 0)2807 if (dma_set_mask(hsotg->dev, DMA_BIT_MASK(32)) < 0)
2808 dev_warn(hsotg->dev,2808 dev_warn(hsotg->dev, "can't set DMA mask\n");
2809 "can't enable workaround for >2GB RAM\n");
2810 if (dma_set_coherent_mask(hsotg->dev, DMA_BIT_MASK(31)) < 0)2809 if (dma_set_coherent_mask(hsotg->dev, DMA_BIT_MASK(31)) < 0)
2811 dev_warn(hsotg->dev,2810 dev_warn(hsotg->dev,
2812 "can't enable workaround for >2GB RAM\n");2811 "can't enable workaround for >2GB RAM\n");
drivers/staging/zcache/ramster.h+0−4
@@ -11,10 +11,6 @@ · 10 unmodified lines
11#ifndef _ZCACHE_RAMSTER_H_11#ifndef _ZCACHE_RAMSTER_H_
12#define _ZCACHE_RAMSTER_H_12#define _ZCACHE_RAMSTER_H_
13 13
14#ifdef CONFIG_RAMSTER_MODULE
15#define CONFIG_RAMSTER
16#endif
17
18#ifdef CONFIG_RAMSTER14#ifdef CONFIG_RAMSTER
19#include "ramster/ramster.h"15#include "ramster/ramster.h"
20#else16#else
drivers/staging/zcache/ramster/debug.c+2−0
@@ -1,6 +1,8 @@
1#include <linux/atomic.h>1#include <linux/atomic.h>
2#include "debug.h"2#include "debug.h"
3 3
4ssize_t ramster_foreign_eph_pages;
5ssize_t ramster_foreign_pers_pages;
4#ifdef CONFIG_DEBUG_FS6#ifdef CONFIG_DEBUG_FS
5#include <linux/debugfs.h>7#include <linux/debugfs.h>
6 8
drivers/staging/zcache/ramster/ramster.c+4−2
@@ -66,8 +66,6 @@ static int ramster_remote_target_nodenum __read_mostly = -1; · 65 unmodified lines
66 66
67/* Used by this code. */67/* Used by this code. */
68long ramster_flnodes;68long ramster_flnodes;
69ssize_t ramster_foreign_eph_pages;
70ssize_t ramster_foreign_pers_pages;
71/* FIXME frontswap selfshrinking knobs in debugfs? */69/* FIXME frontswap selfshrinking knobs in debugfs? */
72 70
73static LIST_HEAD(ramster_rem_op_list);71static LIST_HEAD(ramster_rem_op_list);
@@ -399,14 +397,18 @@ void ramster_count_foreign_pages(bool eph, int count) · 325 unmodified lines
399 inc_ramster_foreign_eph_pages();397 inc_ramster_foreign_eph_pages();
400 } else {398 } else {
401 dec_ramster_foreign_eph_pages();399 dec_ramster_foreign_eph_pages();
400#ifdef CONFIG_RAMSTER_DEBUG
402 WARN_ON_ONCE(ramster_foreign_eph_pages < 0);401 WARN_ON_ONCE(ramster_foreign_eph_pages < 0);
402#endif
403 }403 }
404 } else {404 } else {
405 if (count > 0) {405 if (count > 0) {
406 inc_ramster_foreign_pers_pages();406 inc_ramster_foreign_pers_pages();
407 } else {407 } else {
408 dec_ramster_foreign_pers_pages();408 dec_ramster_foreign_pers_pages();
409#ifdef CONFIG_RAMSTER_DEBUG
409 WARN_ON_ONCE(ramster_foreign_pers_pages < 0);410 WARN_ON_ONCE(ramster_foreign_pers_pages < 0);
411#endif
410 }412 }
411 }413 }
412}414}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t