Merge "Swap LF_T3T_FLAGS bytes for PN548"
am: a5e3f072ce

* commit 'a5e3f072ce6c8ff9cc08f4f600e2cdb460558b81':
  Swap LF_T3T_FLAGS bytes for PN548
diff --git a/halimpl/pn54x/hal/phNxpNciHal_ext.c b/halimpl/pn54x/hal/phNxpNciHal_ext.c
index 2e28efb..8957e44 100644
--- a/halimpl/pn54x/hal/phNxpNciHal_ext.c
+++ b/halimpl/pn54x/hal/phNxpNciHal_ext.c
@@ -924,6 +924,37 @@
 //            NXPLOG_NCIHAL_D("> Going - core init optimization - END");
         }
     }
+
+#if(NFC_NXP_CHIP_TYPE == PN548C2)
+    if (p_cmd_data[0] == 0x20 && p_cmd_data[1] == 0x02)
+    {
+        uint8_t temp;
+        uint8_t *p = p_cmd_data + 4;
+        uint8_t *end = p_cmd_data + *cmd_len;
+        while (p < end)
+        {
+            if (*p == 0x53) //LF_T3T_FLAGS
+            {
+                NXPLOG_NCIHAL_D ("> Going through workaround - LF_T3T_FLAGS swap");
+                temp = *(p + 3);
+                *(p + 3) = *(p + 2);
+                *(p + 2) = temp;
+                NXPLOG_NCIHAL_D ("> Going through workaround - LF_T3T_FLAGS - End");
+                status = NFCSTATUS_SUCCESS;
+                break;
+            }
+            if (*p == 0xA0)
+            {
+                p += *(p + 2) + 3;
+            }
+            else
+            {
+                p += *(p + 1) + 2;
+            }
+        }
+    }
+#endif
+
     return status;
 }