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));