projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'v4.4-rc2'
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
bluetooth
/
btusb.c
diff --git
a/drivers/bluetooth/btusb.c
b/drivers/bluetooth/btusb.c
index e33dacf5bd98765178ddac60f7d50d742de555ac..92f0ee388f9e0bfddd0cdf32b684edf25741d991 100644
(file)
--- a/
drivers/bluetooth/btusb.c
+++ b/
drivers/bluetooth/btusb.c
@@
-1372,6
+1372,8
@@
static void btusb_work(struct work_struct *work)
}
if (data->isoc_altsetting != new_alts) {
}
if (data->isoc_altsetting != new_alts) {
+ unsigned long flags;
+
clear_bit(BTUSB_ISOC_RUNNING, &data->flags);
usb_kill_anchored_urbs(&data->isoc_anchor);
clear_bit(BTUSB_ISOC_RUNNING, &data->flags);
usb_kill_anchored_urbs(&data->isoc_anchor);
@@
-1384,10
+1386,10
@@
static void btusb_work(struct work_struct *work)
* Clear outstanding fragment when selecting a new
* alternate setting.
*/
* Clear outstanding fragment when selecting a new
* alternate setting.
*/
- spin_lock
(&data->rxlock
);
+ spin_lock
_irqsave(&data->rxlock, flags
);
kfree_skb(data->sco_skb);
data->sco_skb = NULL;
kfree_skb(data->sco_skb);
data->sco_skb = NULL;
- spin_unlock
(&data->rxlock
);
+ spin_unlock
_irqrestore(&data->rxlock, flags
);
if (__set_isoc_interface(hdev, new_alts) < 0)
return;
if (__set_isoc_interface(hdev, new_alts) < 0)
return;