Bluetooth: prioritize the interrupt channel in hidp
Interrupt channel has low latency requiments, should be processed first. Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
This commit is contained in:
@@ -714,14 +714,6 @@ static int hidp_session(void *arg)
|
|||||||
intr_sk->sk_state != BT_CONNECTED)
|
intr_sk->sk_state != BT_CONNECTED)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
while ((skb = skb_dequeue(&ctrl_sk->sk_receive_queue))) {
|
|
||||||
skb_orphan(skb);
|
|
||||||
if (!skb_linearize(skb))
|
|
||||||
hidp_recv_ctrl_frame(session, skb);
|
|
||||||
else
|
|
||||||
kfree_skb(skb);
|
|
||||||
}
|
|
||||||
|
|
||||||
while ((skb = skb_dequeue(&intr_sk->sk_receive_queue))) {
|
while ((skb = skb_dequeue(&intr_sk->sk_receive_queue))) {
|
||||||
skb_orphan(skb);
|
skb_orphan(skb);
|
||||||
if (!skb_linearize(skb))
|
if (!skb_linearize(skb))
|
||||||
@@ -730,6 +722,14 @@ static int hidp_session(void *arg)
|
|||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while ((skb = skb_dequeue(&ctrl_sk->sk_receive_queue))) {
|
||||||
|
skb_orphan(skb);
|
||||||
|
if (!skb_linearize(skb))
|
||||||
|
hidp_recv_ctrl_frame(session, skb);
|
||||||
|
else
|
||||||
|
kfree_skb(skb);
|
||||||
|
}
|
||||||
|
|
||||||
hidp_process_transmit(session);
|
hidp_process_transmit(session);
|
||||||
|
|
||||||
schedule();
|
schedule();
|
||||||
|
Reference in New Issue
Block a user