Snap for 8055317 from f29b8f4f9e44840eb408480b13e5fc40c318ac02 to sc-v2-release

Change-Id: I9b96e62721e4408fe3fd9bc1729ca63c3b3bb3ab
diff --git a/pn8x/halimpl/dnld/phDnldNfc_Internal.cc b/pn8x/halimpl/dnld/phDnldNfc_Internal.cc
index ab1ba3e..5d1d176 100755
--- a/pn8x/halimpl/dnld/phDnldNfc_Internal.cc
+++ b/pn8x/halimpl/dnld/phDnldNfc_Internal.cc
@@ -19,6 +19,7 @@
  * Download Component
  */
 
+#include <log/log.h>
 #include <phDnldNfc_Internal.h>
 #include <phDnldNfc_Utils.h>
 #include <phNxpLog.h>
@@ -853,6 +854,12 @@
           NXPLOG_FWDNLD_E("Cannot update Response buff with received data!!");
         }
       } else {
+        if (pInfo->wLength <= PHDNLDNFC_FRAME_CRC_LEN) {
+          NXPLOG_FWDNLD_E("Invalid frame received");
+          android_errorWriteLog(0x534e4554, "184728427");
+          wStatus = PHNFCSTVAL(CID_NFC_DNLD, NFCSTATUS_FAILED);
+          return wStatus;
+        }
         /* calculate CRC16 */
         wCrcVal = phDnldNfc_CalcCrc16(
             (pInfo->pBuff), ((pInfo->wLength) - PHDNLDNFC_FRAME_CRC_LEN));
diff --git a/pn8x/halimpl/hal/phNxpNciHal.cc b/pn8x/halimpl/hal/phNxpNciHal.cc
index 1ce5b87..70fc75e 100644
--- a/pn8x/halimpl/hal/phNxpNciHal.cc
+++ b/pn8x/halimpl/hal/phNxpNciHal.cc
@@ -362,9 +362,11 @@
     status = phNxpNciHal_fw_download_seq(nxpprofile_ctrl.bClkSrcVal,
                                          nxpprofile_ctrl.bClkFreqVal);
     if (status != NFCSTATUS_SUCCESS) {
+      phTmlNfc_ReadAbort();
       phDnldNfc_ReSetHwDevHandle();
       fw_retry_count++;
       NXPLOG_NCIHAL_D("Retrying: FW download");
+      android_errorWriteLog(0x534e4554, "192614125");
     }
   } while ((fw_retry_count < 3) && (status != NFCSTATUS_SUCCESS));