Skip to content

Commit

Permalink
NFC: st21nfca: Fix recursive fault when doing p2p in target mode.
Browse files Browse the repository at this point in the history
This patch fix a previous patch introduce by commit	0a91e8a

It is actually fixing a double free mistake in all st21nfca_tm_* function.
We decide to return directly in case of successful execution because skb
got already freed. In st21nfca_tm_recv_dep_req it got freed by nfc_tm_data_received.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
  • Loading branch information
Christophe Ricard authored and Samuel Ortiz committed Sep 24, 2014
1 parent ecc6522 commit 90d5f81
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions drivers/nfc/st21nfca/st21nfca.c
Original file line number Diff line number Diff line change
Expand Up @@ -861,19 +861,16 @@ static int st21nfca_hci_event_received(struct nfc_hci_dev *hdev, u8 gate,
if (gate == ST21NFCA_RF_CARD_F_GATE) {
r = st21nfca_tm_event_send_data(hdev, skb, gate);
if (r < 0)
goto exit;
} else {
info->dep_info.curr_nfc_dep_pni = 0;
return 1;
return r;
return 0;
}
break;
info->dep_info.curr_nfc_dep_pni = 0;
return 1;
default:
return 1;
}
kfree_skb(skb);
return 0;
exit:
return r;
}

static struct nfc_hci_ops st21nfca_hci_ops = {
Expand Down

0 comments on commit 90d5f81

Please sign in to comment.