aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-08-01 20:16:05 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-01 20:16:05 -0400
commitecb679fc2c5e737c1f2e3578646f1d6edf7ce3e2 (patch)
treebaa9732648ad4375456fd385a13cef563283271f
parent818be5894ed4e01781521164c90cae2428931e0b (diff)
parent4aa0abed3a2a11b7d71ad560c1a3e7631c5a31cd (diff)
Merge tag 'staging-3.16-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging driver bugfixes from Greg KH: "Here are some tiny staging driver bugfixes that I've had in my tree for the past week that resolve some reported issues. Nothing major at all, but it would be good to get them merged for 3.16-rc8 or -final" * tag 'staging-3.16-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: staging: vt6655: Fix disassociated messages every 10 seconds staging: vt6655: Fix Warning on boot handle_irq_event_percpu. staging: rtl8723au: rtw_resume(): release semaphore before exit on error iio:bma180: Missing check for frequency fractional part iio:bma180: Fix scale factors to report correct acceleration units iio: buffer: Fix demux table creation
-rw-r--r--drivers/iio/accel/bma180.c8
-rw-r--r--drivers/iio/industrialio-buffer.c2
-rw-r--r--drivers/staging/rtl8723au/os_dep/usb_intf.c4
-rw-r--r--drivers/staging/vt6655/bssdb.c2
-rw-r--r--drivers/staging/vt6655/device_main.c7
5 files changed, 15 insertions, 8 deletions
diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c
index a7e68c81f89d..a077cc86421b 100644
--- a/drivers/iio/accel/bma180.c
+++ b/drivers/iio/accel/bma180.c
@@ -68,13 +68,13 @@
68/* Defaults values */ 68/* Defaults values */
69#define BMA180_DEF_PMODE 0 69#define BMA180_DEF_PMODE 0
70#define BMA180_DEF_BW 20 70#define BMA180_DEF_BW 20
71#define BMA180_DEF_SCALE 250 71#define BMA180_DEF_SCALE 2452
72 72
73/* Available values for sysfs */ 73/* Available values for sysfs */
74#define BMA180_FLP_FREQ_AVAILABLE \ 74#define BMA180_FLP_FREQ_AVAILABLE \
75 "10 20 40 75 150 300" 75 "10 20 40 75 150 300"
76#define BMA180_SCALE_AVAILABLE \ 76#define BMA180_SCALE_AVAILABLE \
77 "0.000130 0.000190 0.000250 0.000380 0.000500 0.000990 0.001980" 77 "0.001275 0.001863 0.002452 0.003727 0.004903 0.009709 0.019417"
78 78
79struct bma180_data { 79struct bma180_data {
80 struct i2c_client *client; 80 struct i2c_client *client;
@@ -94,7 +94,7 @@ enum bma180_axis {
94}; 94};
95 95
96static int bw_table[] = { 10, 20, 40, 75, 150, 300 }; /* Hz */ 96static int bw_table[] = { 10, 20, 40, 75, 150, 300 }; /* Hz */
97static int scale_table[] = { 130, 190, 250, 380, 500, 990, 1980 }; 97static int scale_table[] = { 1275, 1863, 2452, 3727, 4903, 9709, 19417 };
98 98
99static int bma180_get_acc_reg(struct bma180_data *data, enum bma180_axis axis) 99static int bma180_get_acc_reg(struct bma180_data *data, enum bma180_axis axis)
100{ 100{
@@ -376,6 +376,8 @@ static int bma180_write_raw(struct iio_dev *indio_dev,
376 mutex_unlock(&data->mutex); 376 mutex_unlock(&data->mutex);
377 return ret; 377 return ret;
378 case IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY: 378 case IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY:
379 if (val2)
380 return -EINVAL;
379 mutex_lock(&data->mutex); 381 mutex_lock(&data->mutex);
380 ret = bma180_set_bw(data, val); 382 ret = bma180_set_bw(data, val);
381 mutex_unlock(&data->mutex); 383 mutex_unlock(&data->mutex);
diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index 36b1ae92e239..9f1a14009901 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -966,7 +966,7 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev,
966 966
967 /* Now we have the two masks, work from least sig and build up sizes */ 967 /* Now we have the two masks, work from least sig and build up sizes */
968 for_each_set_bit(out_ind, 968 for_each_set_bit(out_ind,
969 indio_dev->active_scan_mask, 969 buffer->scan_mask,
970 indio_dev->masklength) { 970 indio_dev->masklength) {
971 in_ind = find_next_bit(indio_dev->active_scan_mask, 971 in_ind = find_next_bit(indio_dev->active_scan_mask,
972 indio_dev->masklength, 972 indio_dev->masklength,
diff --git a/drivers/staging/rtl8723au/os_dep/usb_intf.c b/drivers/staging/rtl8723au/os_dep/usb_intf.c
index 8b25c1aa2025..ebb19b22f47f 100644
--- a/drivers/staging/rtl8723au/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8723au/os_dep/usb_intf.c
@@ -530,8 +530,10 @@ int rtw_resume_process23a(struct rtw_adapter *padapter)
530 pwrpriv->bkeepfwalive = false; 530 pwrpriv->bkeepfwalive = false;
531 531
532 DBG_8723A("bkeepfwalive(%x)\n", pwrpriv->bkeepfwalive); 532 DBG_8723A("bkeepfwalive(%x)\n", pwrpriv->bkeepfwalive);
533 if (pm_netdev_open23a(pnetdev, true) != 0) 533 if (pm_netdev_open23a(pnetdev, true) != 0) {
534 up(&pwrpriv->lock);
534 goto exit; 535 goto exit;
536 }
535 537
536 netif_device_attach(pnetdev); 538 netif_device_attach(pnetdev);
537 netif_carrier_on(pnetdev); 539 netif_carrier_on(pnetdev);
diff --git a/drivers/staging/vt6655/bssdb.c b/drivers/staging/vt6655/bssdb.c
index 59679cd46816..69b80e80b011 100644
--- a/drivers/staging/vt6655/bssdb.c
+++ b/drivers/staging/vt6655/bssdb.c
@@ -981,7 +981,7 @@ start:
981 pDevice->byERPFlag &= ~(WLAN_SET_ERP_USE_PROTECTION(1)); 981 pDevice->byERPFlag &= ~(WLAN_SET_ERP_USE_PROTECTION(1));
982 } 982 }
983 983
984 { 984 if (pDevice->eCommandState == WLAN_ASSOCIATE_WAIT) {
985 pDevice->byReAssocCount++; 985 pDevice->byReAssocCount++;
986 /* 10 sec timeout */ 986 /* 10 sec timeout */
987 if ((pDevice->byReAssocCount > 10) && (!pDevice->bLinkPass)) { 987 if ((pDevice->byReAssocCount > 10) && (!pDevice->bLinkPass)) {
diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c
index 1d3908d044d0..5a5fd937a442 100644
--- a/drivers/staging/vt6655/device_main.c
+++ b/drivers/staging/vt6655/device_main.c
@@ -2318,6 +2318,7 @@ static irqreturn_t device_intr(int irq, void *dev_instance) {
2318 int handled = 0; 2318 int handled = 0;
2319 unsigned char byData = 0; 2319 unsigned char byData = 0;
2320 int ii = 0; 2320 int ii = 0;
2321 unsigned long flags;
2321 2322
2322 MACvReadISR(pDevice->PortOffset, &pDevice->dwIsr); 2323 MACvReadISR(pDevice->PortOffset, &pDevice->dwIsr);
2323 2324
@@ -2331,7 +2332,8 @@ static irqreturn_t device_intr(int irq, void *dev_instance) {
2331 2332
2332 handled = 1; 2333 handled = 1;
2333 MACvIntDisable(pDevice->PortOffset); 2334 MACvIntDisable(pDevice->PortOffset);
2334 spin_lock_irq(&pDevice->lock); 2335
2336 spin_lock_irqsave(&pDevice->lock, flags);
2335 2337
2336 //Make sure current page is 0 2338 //Make sure current page is 0
2337 VNSvInPortB(pDevice->PortOffset + MAC_REG_PAGE1SEL, &byOrgPageSel); 2339 VNSvInPortB(pDevice->PortOffset + MAC_REG_PAGE1SEL, &byOrgPageSel);
@@ -2560,7 +2562,8 @@ static irqreturn_t device_intr(int irq, void *dev_instance) {
2560 if (byOrgPageSel == 1) 2562 if (byOrgPageSel == 1)
2561 MACvSelectPage1(pDevice->PortOffset); 2563 MACvSelectPage1(pDevice->PortOffset);
2562 2564
2563 spin_unlock_irq(&pDevice->lock); 2565 spin_unlock_irqrestore(&pDevice->lock, flags);
2566
2564 MACvIntEnable(pDevice->PortOffset, IMR_MASK_VALUE); 2567 MACvIntEnable(pDevice->PortOffset, IMR_MASK_VALUE);
2565 2568
2566 return IRQ_RETVAL(handled); 2569 return IRQ_RETVAL(handled);