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

Changed files
+15 -8
drivers
iio
staging
rtl8723au
os_dep
vt6655
+5 -3
drivers/iio/accel/bma180.c
··· 68 68 /* Defaults values */ 69 69 #define BMA180_DEF_PMODE 0 70 70 #define BMA180_DEF_BW 20 71 - #define BMA180_DEF_SCALE 250 71 + #define BMA180_DEF_SCALE 2452 72 72 73 73 /* Available values for sysfs */ 74 74 #define BMA180_FLP_FREQ_AVAILABLE \ 75 75 "10 20 40 75 150 300" 76 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 79 79 struct bma180_data { 80 80 struct i2c_client *client; ··· 94 94 }; 95 95 96 96 static int bw_table[] = { 10, 20, 40, 75, 150, 300 }; /* Hz */ 97 - static int scale_table[] = { 130, 190, 250, 380, 500, 990, 1980 }; 97 + static int scale_table[] = { 1275, 1863, 2452, 3727, 4903, 9709, 19417 }; 98 98 99 99 static int bma180_get_acc_reg(struct bma180_data *data, enum bma180_axis axis) 100 100 { ··· 376 376 mutex_unlock(&data->mutex); 377 377 return ret; 378 378 case IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY: 379 + if (val2) 380 + return -EINVAL; 379 381 mutex_lock(&data->mutex); 380 382 ret = bma180_set_bw(data, val); 381 383 mutex_unlock(&data->mutex);
+1 -1
drivers/iio/industrialio-buffer.c
··· 966 966 967 967 /* Now we have the two masks, work from least sig and build up sizes */ 968 968 for_each_set_bit(out_ind, 969 - indio_dev->active_scan_mask, 969 + buffer->scan_mask, 970 970 indio_dev->masklength) { 971 971 in_ind = find_next_bit(indio_dev->active_scan_mask, 972 972 indio_dev->masklength,
+3 -1
drivers/staging/rtl8723au/os_dep/usb_intf.c
··· 530 530 pwrpriv->bkeepfwalive = false; 531 531 532 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 535 goto exit; 536 + } 535 537 536 538 netif_device_attach(pnetdev); 537 539 netif_carrier_on(pnetdev);
+1 -1
drivers/staging/vt6655/bssdb.c
··· 981 981 pDevice->byERPFlag &= ~(WLAN_SET_ERP_USE_PROTECTION(1)); 982 982 } 983 983 984 - { 984 + if (pDevice->eCommandState == WLAN_ASSOCIATE_WAIT) { 985 985 pDevice->byReAssocCount++; 986 986 /* 10 sec timeout */ 987 987 if ((pDevice->byReAssocCount > 10) && (!pDevice->bLinkPass)) {
+5 -2
drivers/staging/vt6655/device_main.c
··· 2318 2318 int handled = 0; 2319 2319 unsigned char byData = 0; 2320 2320 int ii = 0; 2321 + unsigned long flags; 2321 2322 2322 2323 MACvReadISR(pDevice->PortOffset, &pDevice->dwIsr); 2323 2324 ··· 2332 2331 2333 2332 handled = 1; 2334 2333 MACvIntDisable(pDevice->PortOffset); 2335 - spin_lock_irq(&pDevice->lock); 2334 + 2335 + spin_lock_irqsave(&pDevice->lock, flags); 2336 2336 2337 2337 //Make sure current page is 0 2338 2338 VNSvInPortB(pDevice->PortOffset + MAC_REG_PAGE1SEL, &byOrgPageSel); ··· 2562 2560 if (byOrgPageSel == 1) 2563 2561 MACvSelectPage1(pDevice->PortOffset); 2564 2562 2565 - spin_unlock_irq(&pDevice->lock); 2563 + spin_unlock_irqrestore(&pDevice->lock, flags); 2564 + 2566 2565 MACvIntEnable(pDevice->PortOffset, IMR_MASK_VALUE); 2567 2566 2568 2567 return IRQ_RETVAL(handled);