artf238919-NFC-crashed-while-reading-type-1-2-3-4-ta
diff --git a/src/nfa/rw/nfa_rw_act.c b/src/nfa/rw/nfa_rw_act.c
index 6e98fdb..a662221 100755
--- a/src/nfa/rw/nfa_rw_act.c
+++ b/src/nfa/rw/nfa_rw_act.c
@@ -2856,8 +2856,6 @@
 #if(NXP_EXTNS == TRUE)
     else if (NFC_PROTOCOL_T3BT == nfa_rw_cb.protocol)
     {
-
-
         activate_notify = FALSE;                    /* Delay notifying upper layer of NFA_ACTIVATED_EVT until system codes are retrieved */
         msg.op = NFA_RW_OP_T3BT_PUPI;
         nfa_rw_handle_op_req((void *)&msg);
diff --git a/src/nfc/include/nfc_api.h b/src/nfc/include/nfc_api.h
index c8031ba..67c39d6 100755
--- a/src/nfc/include/nfc_api.h
+++ b/src/nfc/include/nfc_api.h
@@ -483,7 +483,6 @@
 #define NFC_PROTOCOL_MIFARE     NCI_PROTOCOL_MIFARE
 #if (NXP_EXTNS == TRUE)
 #define NFC_PROTOCOL_ISO7816    NCI_PROTOCOL_ISO7816 /*ISO7816 -AID default Routing */
-#define NFC_PROTOCOL_ISO7816    NCI_PROTOCOL_ISO7816
 #define NFC_PROTOCOL_T3BT       NCI_PROTOCOL_T3BT
 #endif
 #define NFC_PROTOCOL_B_PRIME    NCI_PROTOCOL_B_PRIME
diff --git a/src/nfc/nfc/nfc_ncif.c b/src/nfc/nfc/nfc_ncif.c
index b2c2df6..6c3e790 100644
--- a/src/nfc/nfc/nfc_ncif.c
+++ b/src/nfc/nfc/nfc_ncif.c
@@ -1806,6 +1806,9 @@
     tNFC_DISCOVER   evt_data;
     tNFC_DEACTIVATE_DEVT    *p_deact;
     tNFC_CONN_CB * p_cb = &nfc_cb.conn_cb[NFC_RF_CONN_ID];
+#if (NXP_EXTNS == TRUE)
+    tRW_T3T_CB *p_t3tcb = &rw_cb.tcb.t3t;
+#endif
     void    *p_data;
 
     nfc_set_state (NFC_STATE_IDLE);
@@ -1828,6 +1831,12 @@
         (*p_cb->p_cback) (NFC_RF_CONN_ID, NFC_DEACTIVATE_CEVT, (tNFC_CONN *) p_deact);
 
 #if (NXP_EXTNS == TRUE)
+    if (p_t3tcb->poll_timer.in_use)
+    {
+        NFC_TRACE_DEBUG1 ("%s: stopping t3t polling timer", __func__);
+        nfc_stop_quick_timer (&p_t3tcb->poll_timer);
+    }
+
     if((nfc_cb.flags & (NFC_FL_DISCOVER_PENDING | NFC_FL_CONTROL_REQUESTED))
        && (deact_type == NFC_DEACTIVATE_TYPE_DISCOVERY) && (is_ntf == TRUE))
     {
diff --git a/src/nfc/tags/rw_main.c b/src/nfc/tags/rw_main.c
index 30a6d8b..30cc0e7 100755
--- a/src/nfc/tags/rw_main.c
+++ b/src/nfc/tags/rw_main.c
@@ -209,7 +209,6 @@
             RW_TRACE_EVENT1 ("RW SENT raw frame (0x%x)", data_len);
             status = NFC_SendData (NFC_RF_CONN_ID, p_data);
         }
-
     }
     return status;
 }
diff --git a/src/nfc/tags/rw_t3t.c b/src/nfc/tags/rw_t3t.c
index 746e971..5990411 100644
--- a/src/nfc/tags/rw_t3t.c
+++ b/src/nfc/tags/rw_t3t.c
@@ -332,9 +332,26 @@
 *******************************************************************************/
 void rw_t3t_start_poll_timer (tRW_T3T_CB *p_cb)
 {
+    RW_TRACE_DEBUG1 ("%s: starting t3t poll timer", __func__);
     nfc_start_quick_timer (&p_cb->poll_timer, NFC_TTYPE_RW_T3T_RESPONSE, RW_T3T_POLL_CMD_TIMEOUT_TICKS);
 }
-
+#if (NXP_EXTNS == TRUE)
+/*******************************************************************************
+**
+** Function         rw_t3t_stop_poll_timer
+**
+** Description      Stop the timer for T3T POLL Command
+**
+** Returns          none
+**
+*******************************************************************************/
+void rw_t3t_stop_poll_timer (tRW_T3T_CB *p_cb)
+{
+    RW_TRACE_DEBUG1 ("%s: stopping t3t poll timer", __func__);
+    if(p_cb->poll_timer.in_use)
+        nfc_stop_quick_timer (&p_cb->poll_timer);
+}
+#endif
 /*******************************************************************************
 **
 ** Function         rw_t3t_handle_nci_poll_ntf
@@ -350,7 +367,11 @@
     tRW_T3T_CB *p_cb = &rw_cb.tcb.t3t;
 
     /* stop timer for poll response */
+#if (NXP_EXTNS == TRUE)
+    rw_t3t_stop_poll_timer (p_cb);
+#else
     nfc_stop_quick_timer (&p_cb->poll_timer);
+#endif
 
     /* Stop t3t timer (if started) */
     if (p_cb->flags & RW_T3T_FL_W4_PRESENCE_CHECK_POLL_RSP)
@@ -428,8 +449,6 @@
 
     p_cb->rw_state = RW_T3T_STATE_IDLE;
     (*(rw_cb.p_cback)) (RW_T3T_GET_SYSTEM_CODES_EVT, &evt_data);
-
-
 }
 
 /*******************************************************************************