Skip to content

Commit ecb679f

Browse files
committed
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
2 parents 818be58 + 4aa0abe commit ecb679f

File tree

5 files changed

+15
-8
lines changed

5 files changed

+15
-8
lines changed

drivers/iio/accel/bma180.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@
6868
/* Defaults values */
6969
#define BMA180_DEF_PMODE 0
7070
#define BMA180_DEF_BW 20
71-
#define BMA180_DEF_SCALE 250
71+
#define BMA180_DEF_SCALE 2452
7272

7373
/* Available values for sysfs */
7474
#define BMA180_FLP_FREQ_AVAILABLE \
7575
"10 20 40 75 150 300"
7676
#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"
7878

7979
struct bma180_data {
8080
struct i2c_client *client;
@@ -94,7 +94,7 @@ enum bma180_axis {
9494
};
9595

9696
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 };
9898

9999
static int bma180_get_acc_reg(struct bma180_data *data, enum bma180_axis axis)
100100
{
@@ -376,6 +376,8 @@ static int bma180_write_raw(struct iio_dev *indio_dev,
376376
mutex_unlock(&data->mutex);
377377
return ret;
378378
case IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY:
379+
if (val2)
380+
return -EINVAL;
379381
mutex_lock(&data->mutex);
380382
ret = bma180_set_bw(data, val);
381383
mutex_unlock(&data->mutex);

drivers/iio/industrialio-buffer.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,7 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev,
966966

967967
/* Now we have the two masks, work from least sig and build up sizes */
968968
for_each_set_bit(out_ind,
969-
indio_dev->active_scan_mask,
969+
buffer->scan_mask,
970970
indio_dev->masklength) {
971971
in_ind = find_next_bit(indio_dev->active_scan_mask,
972972
indio_dev->masklength,

drivers/staging/rtl8723au/os_dep/usb_intf.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -530,8 +530,10 @@ int rtw_resume_process23a(struct rtw_adapter *padapter)
530530
pwrpriv->bkeepfwalive = false;
531531

532532
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);
534535
goto exit;
536+
}
535537

536538
netif_device_attach(pnetdev);
537539
netif_carrier_on(pnetdev);

drivers/staging/vt6655/bssdb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -981,7 +981,7 @@ BSSvSecondCallBack(
981981
pDevice->byERPFlag &= ~(WLAN_SET_ERP_USE_PROTECTION(1));
982982
}
983983

984-
{
984+
if (pDevice->eCommandState == WLAN_ASSOCIATE_WAIT) {
985985
pDevice->byReAssocCount++;
986986
/* 10 sec timeout */
987987
if ((pDevice->byReAssocCount > 10) && (!pDevice->bLinkPass)) {

drivers/staging/vt6655/device_main.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2318,6 +2318,7 @@ static irqreturn_t device_intr(int irq, void *dev_instance) {
23182318
int handled = 0;
23192319
unsigned char byData = 0;
23202320
int ii = 0;
2321+
unsigned long flags;
23212322

23222323
MACvReadISR(pDevice->PortOffset, &pDevice->dwIsr);
23232324

@@ -2331,7 +2332,8 @@ static irqreturn_t device_intr(int irq, void *dev_instance) {
23312332

23322333
handled = 1;
23332334
MACvIntDisable(pDevice->PortOffset);
2334-
spin_lock_irq(&pDevice->lock);
2335+
2336+
spin_lock_irqsave(&pDevice->lock, flags);
23352337

23362338
//Make sure current page is 0
23372339
VNSvInPortB(pDevice->PortOffset + MAC_REG_PAGE1SEL, &byOrgPageSel);
@@ -2560,7 +2562,8 @@ static irqreturn_t device_intr(int irq, void *dev_instance) {
25602562
if (byOrgPageSel == 1)
25612563
MACvSelectPage1(pDevice->PortOffset);
25622564

2563-
spin_unlock_irq(&pDevice->lock);
2565+
spin_unlock_irqrestore(&pDevice->lock, flags);
2566+
25642567
MACvIntEnable(pDevice->PortOffset, IMR_MASK_VALUE);
25652568

25662569
return IRQ_RETVAL(handled);

0 commit comments

Comments
 (0)