diff options
| author | Christophe Ricard <christophe.ricard@gmail.com> | 2015-08-14 16:33:35 -0400 |
|---|---|---|
| committer | Samuel Ortiz <sameo@linux.intel.com> | 2015-08-16 18:35:07 -0400 |
| commit | 1d816b6eb513498aa28a0ff1e4db7632bded1707 (patch) | |
| tree | c6a32fd9631c87ee9a3b6753751e610b58f3bfeb /drivers/nfc/st-nci | |
| parent | daaf1e1f1640eb11259954d1d847d8a72ab5b938 (diff) | |
nfc: st-nci: Remove data from ack_pending_q when receiving a SYNC_ACK
When receiving a NDLC PCB_SYNC_ACK the pending data was never
removed from ack_pending_q and cleared.
Cc: stable@vger.kernel.org
Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/nfc/st-nci')
| -rw-r--r-- | drivers/nfc/st-nci/ndlc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/nfc/st-nci/ndlc.c b/drivers/nfc/st-nci/ndlc.c index 56c6a4cb4c96..bb08b16f45cf 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) | |||
| 171 | if ((pcb & PCB_TYPE_MASK) == PCB_TYPE_SUPERVISOR) { | 171 | if ((pcb & PCB_TYPE_MASK) == PCB_TYPE_SUPERVISOR) { |
| 172 | switch (pcb & PCB_SYNC_MASK) { | 172 | switch (pcb & PCB_SYNC_MASK) { |
| 173 | case PCB_SYNC_ACK: | 173 | case PCB_SYNC_ACK: |
| 174 | skb = skb_dequeue(&ndlc->ack_pending_q); | ||
| 175 | kfree_skb(skb); | ||
| 174 | del_timer_sync(&ndlc->t1_timer); | 176 | del_timer_sync(&ndlc->t1_timer); |
| 175 | del_timer_sync(&ndlc->t2_timer); | 177 | del_timer_sync(&ndlc->t2_timer); |
| 176 | ndlc->t2_active = false; | 178 | ndlc->t2_active = false; |
