aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/hci_event.c
diff options
context:
space:
mode:
authorGustavo F. Padovan <padovan@profusion.mobi>2011-12-14 21:50:02 -0500
committerGustavo F. Padovan <padovan@profusion.mobi>2011-12-18 14:07:57 -0500
commit3eff45eaf81780dad25c167bbaafa7d25ae407da (patch)
treef20254e5ded21e81b0313b1f8b56dd0165a09821 /net/bluetooth/hci_event.c
parentc347b765fe70d718c721cd6d0b979cfbaed83125 (diff)
Bluetooth: convert tx_task to workqueue
This should simplify Bluetooth core processing a lot. Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth/hci_event.c')
-rw-r--r--net/bluetooth/hci_event.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 23466bb48423..74f758363c2d 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -2239,8 +2239,6 @@ static inline void hci_num_comp_pkts_evt(struct hci_dev *hdev, struct sk_buff *s
2239 return; 2239 return;
2240 } 2240 }
2241 2241
2242 tasklet_disable(&hdev->tx_task);
2243
2244 for (i = 0, ptr = (__le16 *) skb->data; i < ev->num_hndl; i++) { 2242 for (i = 0, ptr = (__le16 *) skb->data; i < ev->num_hndl; i++) {
2245 struct hci_conn *conn; 2243 struct hci_conn *conn;
2246 __u16 handle, count; 2244 __u16 handle, count;
@@ -2274,9 +2272,7 @@ static inline void hci_num_comp_pkts_evt(struct hci_dev *hdev, struct sk_buff *s
2274 } 2272 }
2275 } 2273 }
2276 2274
2277 tasklet_schedule(&hdev->tx_task); 2275 queue_work(hdev->workqueue, &hdev->tx_work);
2278
2279 tasklet_enable(&hdev->tx_task);
2280} 2276}
2281 2277
2282static inline void hci_mode_change_evt(struct hci_dev *hdev, struct sk_buff *skb) 2278static inline void hci_mode_change_evt(struct hci_dev *hdev, struct sk_buff *skb)