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

Cc: [email protected]
Signed-off-by: Christophe Ricard <[email protected]>
---
 drivers/nfc/st-nci/ndlc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/nfc/st-nci/ndlc.c b/drivers/nfc/st-nci/ndlc.c
index 56c6a4c..bb08b16 100644
--- a/drivers/nfc/st-nci/ndlc.c
+++ b/drivers/nfc/st-nci/ndlc.c
@@ -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;
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to