This patch fix a previous patch introduce by commit     
0a91e8ac240a12ac3a03581deb8cd531788c63d4

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 <[email protected]>
---
 drivers/nfc/st21nfca/st21nfca.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/nfc/st21nfca/st21nfca.c b/drivers/nfc/st21nfca/st21nfca.c
index e5f92aa..aad1774 100644
--- a/drivers/nfc/st21nfca/st21nfca.c
+++ b/drivers/nfc/st21nfca/st21nfca.c
@@ -861,7 +861,8 @@ 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;
+                               return r;
+                       return 0;
                } else {
                        info->dep_info.curr_nfc_dep_pni = 0;
                        return 1;
@@ -872,8 +873,6 @@ static int st21nfca_hci_event_received(struct nfc_hci_dev 
*hdev, u8 gate,
        }
        kfree_skb(skb);
        return 0;
-exit:
-       return r;
 }
 
 static struct nfc_hci_ops st21nfca_hci_ops = {
-- 
1.9.1

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

Reply via email to