]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
nfc: st-nci: Remove data from ack_pending_q when receiving a SYNC_ACK
authorChristophe Ricard <christophe.ricard@gmail.com>
Fri, 14 Aug 2015 20:33:35 +0000 (22:33 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Sep 2015 17:33:15 +0000 (19:33 +0200)
commit 1d816b6eb513498aa28a0ff1e4db7632bded1707 upstream.

When receiving a NDLC PCB_SYNC_ACK the pending data was never
removed from ack_pending_q and cleared.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nfc/st-nci/ndlc.c

index 56c6a4cb4c9619ff7a35ccfbd568b998474dc636..bb08b16f45cfe9418bb24cc06e5d989e98768714 100644 (file)
@@ -171,6 +171,8 @@ static void llt_ndlc_rcv_queue(struct llt_ndlc *ndlc)
                if ((pcb & PCB_TYPE_MASK) == PCB_TYPE_SUPERVISOR) {
                        switch (pcb & PCB_SYNC_MASK) {
                        case PCB_SYNC_ACK:
+                               skb = skb_dequeue(&ndlc->ack_pending_q);
+                               kfree_skb(skb);
                                del_timer_sync(&ndlc->t1_timer);
                                del_timer_sync(&ndlc->t2_timer);
                                ndlc->t2_active = false;