Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package arm-trusted-firmware for 
openSUSE:Factory checked in at 2022-02-17 00:30:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arm-trusted-firmware (Old)
 and      /work/SRC/openSUSE:Factory/.arm-trusted-firmware.new.1956 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "arm-trusted-firmware"

Thu Feb 17 00:30:26 2022 rev:11 rq:955163 version:2.6

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/arm-trusted-firmware/arm-trusted-firmware.changes    
    2022-02-02 22:45:02.774054565 +0100
+++ 
/work/SRC/openSUSE:Factory/.arm-trusted-firmware.new.1956/arm-trusted-firmware.changes
      2022-02-17 00:31:45.405420619 +0100
@@ -1,0 +2,8 @@
+Tue Feb  8 09:29:53 UTC 2022 - Matwey Kornilov <matwey.korni...@gmail.com>
+
+- Update A3700-utils-marvell version:
+  Fix build SATA bootloader for A3700 boards
+  Drop fix-A3700-gcc11.patch: upstreamed 
+  Enable %fdupes which is particularly useful for a3700 flavour
+
+-------------------------------------------------------------------

Old:
----
  fix-A3700-gcc11.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ arm-trusted-firmware.spec ++++++
--- /var/tmp/diff_new_pack.aRL0tY/_old  2022-02-17 00:31:46.049420509 +0100
+++ /var/tmp/diff_new_pack.aRL0tY/_new  2022-02-17 00:31:46.053420507 +0100
@@ -66,7 +66,7 @@
 Source3:        binaries-marvell-%{mv_bin_ver}.tar.gz
 Patch1:         atf-allow-non-git-dir.patch
 Patch150:       A3700_utils-drop-git.patch
-Patch151:       fix-A3700-gcc11.patch
+BuildRequires:  fdupes
 %if "%{platform}" != ""
 #!BuildIgnore: gcc-PIE
 %endif
@@ -217,13 +217,10 @@
 pushd A3700-utils-marvell-%{a3700_utils_ver}
 # git repo or branch.txt file are expected
 echo "%{a3700_utils_ver}" >  branch.txt
-# Remove any pre-built x86 Linux binaries
-rm -f wtptp/linux/*
 %if "%{platform}" != ""
-install -m 0755 %{_bindir}/TBB wtptp/linux/tbb_linux
+install -D -m 0755 %{_bindir}/TBB wtptp/linux/tbb_linux
 %endif
 %patch150 -p1
-%patch151 -p1
 popd
 %endif
 %patch1 -p1
@@ -249,7 +246,7 @@
 %else
 %if "%{platform}" == "a3700"
 export CROSS_CM3=arm-none-eabi-
-%define variants ebin_512M_spinor ebin_v3_1G_spinor ebin_v5_2G_spinor 
ebin_v7_1G_spinor ebin_v7_2G_spinor
+%define variants ebin_512M_spinor ebin_v3_1G_spinor ebin_v5_2G_spinor 
ebin_v7_1G_spinor ebin_v7_2G_spinor ebin_512M_sata ebin_v3_1G_sata 
ebin_v5_2G_sata ebin_v7_1G_sata ebin_v7_2G_sata
 for variant in %{variants}; do
   partnum=0
   case "${variant}" in
@@ -470,6 +467,8 @@
 
 %endif
 
+%fdupes %{buildroot}%{_prefix}
+
 %if "%{platform}" == "rpi3" || "%{platform}" == "rpi4"
 %post
 if mountpoint -q /boot/efi; then

++++++ A3700-utils-marvell-master.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/A3700-utils-marvell-master/.gitignore 
new/A3700-utils-marvell-master/.gitignore
--- old/A3700-utils-marvell-master/.gitignore   2021-05-23 07:51:21.000000000 
+0200
+++ new/A3700-utils-marvell-master/.gitignore   1970-01-01 01:00:00.000000000 
+0100
@@ -1,15 +0,0 @@
-#ignore target directory
-wtmi/build/*
-#ignore all intermediate files
-*.[oad]
-*.elf
-*.dis
-*.bin
-#ignore specific files
-clocks_ddr.txt
-ddr_static.txt
-ddr_static.txt.info
-autoconf.h
-tim/ddr/ddr_tool
-tim/ddr/ddr_tool.verstr
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/A3700-utils-marvell-master/tim/ddr/clocks-ddr3.txt 
new/A3700-utils-marvell-master/tim/ddr/clocks-ddr3.txt
--- old/A3700-utils-marvell-master/tim/ddr/clocks-ddr3.txt      2021-05-23 
07:51:21.000000000 +0200
+++ new/A3700-utils-marvell-master/tim/ddr/clocks-ddr3.txt      2022-02-13 
07:39:32.000000000 +0100
@@ -18,7 +18,7 @@
 DELAY: 0x00000100
 
 ; Set clocks to DDR300 preset
-WRITE: 0xC0013014 0x07032018
+WRITE: 0xC0013014 0x05032010
 WRITE: 0xC0013004 0x2326202A
 WRITE: 0xC0013008 0x1A09AAA9
 WRITE: 0xC001300C 0x208B3482
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/A3700-utils-marvell-master/tim/ddr/clocks-ddr4.txt 
new/A3700-utils-marvell-master/tim/ddr/clocks-ddr4.txt
--- old/A3700-utils-marvell-master/tim/ddr/clocks-ddr4.txt      2021-05-23 
07:51:21.000000000 +0200
+++ new/A3700-utils-marvell-master/tim/ddr/clocks-ddr4.txt      2022-02-13 
07:39:32.000000000 +0100
@@ -18,7 +18,7 @@
 DELAY: 0x00000100
 
 ; Set clocks to DDR400 preset
-WRITE: 0xC0013014 0x07032018
+WRITE: 0xC0013014 0x05032010
 WRITE: 0xC0013004 0x1296202C
 WRITE: 0xC0013008 0x21061AA9
 WRITE: 0xC001300C 0x20543084
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/A3700-utils-marvell-master/wtmi/fuse/main.c 
new/A3700-utils-marvell-master/wtmi/fuse/main.c
--- old/A3700-utils-marvell-master/wtmi/fuse/main.c     2021-05-23 
07:51:21.000000000 +0200
+++ new/A3700-utils-marvell-master/wtmi/fuse/main.c     2022-02-13 
07:39:32.000000000 +0100
@@ -132,7 +132,7 @@
 {
        u32                     cmd, args[MAILBOX_MAX_ARGS];
        u32                     status, nargs;
-       enum mbox_status        mb_stat = MB_STAT_SUCCESS;
+       enum mbox_status        mb_stat;
 
        if (exception != 0) {
                exception_handler(exception);
@@ -154,6 +154,8 @@
                if (status != NO_ERROR) {
                        nargs = 0;
                        mb_stat = args[0];
+               } else {
+                       mb_stat = MB_STAT_SUCCESS;
                }
 
                /* Send the results back */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/A3700-utils-marvell-master/wtmi/sys_init/Makefile 
new/A3700-utils-marvell-master/wtmi/sys_init/Makefile
--- old/A3700-utils-marvell-master/wtmi/sys_init/Makefile       2021-05-23 
07:51:21.000000000 +0200
+++ new/A3700-utils-marvell-master/wtmi/sys_init/Makefile       2022-02-13 
07:39:32.000000000 +0100
@@ -85,6 +85,8 @@
                WTMI_CLOCK = 2
 else ifeq ($(CLOCKSPRESET), CPU_1200_DDR_750)
                WTMI_CLOCK = 3
+else
+$(error "CLOCKSPRESET=$(CLOCKSPRESET) is invalid")
 endif
 
 START_ADDR_DEC         := $(shell printf %d 0x1fff0000)
Binary files old/A3700-utils-marvell-master/wtptp/linux/WtpDownload_linux and 
new/A3700-utils-marvell-master/wtptp/linux/WtpDownload_linux differ
Binary files old/A3700-utils-marvell-master/wtptp/linux/tbb_linux and 
new/A3700-utils-marvell-master/wtptp/linux/tbb_linux differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/A3700-utils-marvell-master/wtptp/src/TBB_Linux/inc/CryptoPP_L_interface.h 
new/A3700-utils-marvell-master/wtptp/src/TBB_Linux/inc/CryptoPP_L_interface.h
--- 
old/A3700-utils-marvell-master/wtptp/src/TBB_Linux/inc/CryptoPP_L_interface.h   
    2021-05-23 07:51:21.000000000 +0200
+++ 
new/A3700-utils-marvell-master/wtptp/src/TBB_Linux/inc/CryptoPP_L_interface.h   
    2022-02-13 07:39:32.000000000 +0100
@@ -121,7 +121,9 @@
 #include INCLUDE_FILE(files.h)
 #include INCLUDE_FILE(secblock.h)
 
+#ifdef CRYPTOPP_NO_GLOBAL_BYTE
 using CryptoPP::byte;
+#endif
 
 namespace CryptoPP {
 
@@ -167,7 +169,11 @@
 
 // Struct RSASS_Hash inherits this class..
 // This class contains the modified signer instance
+#if defined(CRYPTOPP_VERSION) && CRYPTOPP_VERSION >= 600
 template <class STANDARD, class H, class KEYS, class ALG_INFO = TF_SS<KEYS, 
STANDARD, H, int> >
+#else
+template <class STANDARD, class H, class KEYS, class ALG_INFO = 
TF_SS<STANDARD, H, KEYS, int> >
+#endif
 class TF_SS_Hash : public KEYS
 {
 public:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/CTIM.cpp 
new/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/CTIM.cpp
--- old/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/CTIM.cpp     
2021-05-23 07:51:21.000000000 +0200
+++ new/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/CTIM.cpp     
2022-02-13 07:39:32.000000000 +0100
@@ -100,6 +100,7 @@
 #include <time.h>
 
 CCTIM::CCTIM() {
+       memset((void *) &this->m_TimHeader, 0, sizeof(this->m_TimHeader));
 }
 
 CCTIM::~CCTIM() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp 
new/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp
--- 
old/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp  
    2021-05-23 07:51:21.000000000 +0200
+++ 
new/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp  
    2022-02-13 07:39:32.000000000 +0100
@@ -2682,7 +2682,7 @@
        }
        if (m_TimDescriptor.ImagesList().size() > 0) {
                CImageDescription* pImage = 
(*(m_TimDescriptor.ImagesList().begin()));
-               if (pImage > 0
+               if (pImage != 0
                                && ((Translate(pImage->ImageIdTag()) & TYPEMASK)
                                                == (TIMIDENTIFIER & TYPEMASK))) 
{
                        if (pImage->ImageSizeToHash() == pImage->ImageSize())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/TrustedImageBuilder.cpp 
new/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/TrustedImageBuilder.cpp
--- 
old/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/TrustedImageBuilder.cpp  
    2021-05-23 07:51:21.000000000 +0200
+++ 
new/A3700-utils-marvell-master/wtptp/src/TBB_Linux/src/TrustedImageBuilder.cpp  
    2022-02-13 07:39:32.000000000 +0100
@@ -2536,10 +2536,10 @@
                CDigS.DigSFromArray((UINT *) sign, CDigS.KeySize() / 32);
        }
 
-       delete RSA_D;   //Private Exponent
-       delete RSA_E;   //Public Exponent
-       delete RSA_N;   //Public Modulus
-       delete sign;
+       delete[] RSA_D; //Private Exponent
+       delete[] RSA_E; //Public Exponent
+       delete[] RSA_N; //Public Modulus
+       delete[] sign;
 
        return retVal;
 }
@@ -2635,11 +2635,11 @@
        } else
                retVal = false;
 
-       delete RSA_D;   //Private Exponent
-       delete RSA_E;   //Public Exponent
-       delete RSA_N;   //Public Modulus
-       delete sign;
-       delete signReversed;
+       delete[] RSA_D; //Private Exponent
+       delete[] RSA_E; //Public Exponent
+       delete[] RSA_N; //Public Modulus
+       delete[] sign;
+       delete[] signReversed;
 
        return retVal;
 }
@@ -2759,8 +2759,8 @@
                CDigS.DigSFromArray((UINT *) signReversed, keySize);
        }
 
-       delete ECDSA_Public;    //Private Exponent
-       delete ECDSA_Private;   //Public Exponent
+       delete[] ECDSA_Public;  //Private Exponent
+       delete[] ECDSA_Private; //Public Exponent
 
        return retVal;
 }
@@ -2884,7 +2884,7 @@
        else
                cerr << "Failed to verify signature on message" << endl;
 
-       delete ECDSA_Public;
+       delete[] ECDSA_Public;
        return retVal;
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/makefile.mk 
new/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/makefile.mk
--- old/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/makefile.mk    
2021-05-23 07:51:21.000000000 +0200
+++ new/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/makefile.mk    
2022-02-13 07:39:32.000000000 +0100
@@ -11,15 +11,17 @@
 OBJECTS = WtpStatus.o WtpCommand.o Misc.o WtpException.o WtpImage.o Port.o 
ProtocolManager.o USBPortLinux.o UARTPortLinux.o TimParser.o 
CommandlineParser.o TimLib.o WtpDownloadApp.o \
 
 
-CXXFLAGS = -Wno-deprecated -D LINUX=1 -D TOOLS_GUI=0 -D IPPV6=1 -D TRUSTED=1 
-D DEV_DEBUG=0 -I $(COMMON_SRC)
+CXXFLAGS = -std=c++11 -Wno-deprecated -D LINUX=1 -D TOOLS_GUI=0 -D IPPV6=1 -D 
TRUSTED=1 -D DEV_DEBUG=0 -I $(COMMON_SRC)
 
 WTP_CXXFLAGS = $(CXXFLAGS) -I $(WTP_INCLUDE)
 
 #LIBS = $(IPP_STATIC_LIB_DIR)/libippcpmerged.a 
$(IPP_STATIC_LIB_DIR)/libippcore.a
 
-WtpDownload: $(OBJECTS)
+WtpDownload_linux: $(OBJECTS)
                $(CXX) $(WTP_CXXFLAGS) -o WtpDownload_linux $(OBJECTS) $(LIBS)
-               -rm *.o
+
+clean:
+               -rm -f WtpDownload_linux $(OBJECTS)
 
 WtpDownloadApp.o: $(WTP_SRC)/WtpDownloadApp.cpp $(WTP_INCLUDE)/WtpDownloadApp.h
                $(CXX) $(WTP_CXXFLAGS) -o WtpDownloadApp.o -c 
$(WTP_SRC)/WtpDownloadApp.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/ProtocolManager.cpp
 
new/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/ProtocolManager.cpp
--- 
old/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/ProtocolManager.cpp
        2021-05-23 07:51:21.000000000 +0200
+++ 
new/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/ProtocolManager.cpp
        2022-02-13 07:39:32.000000000 +0100
@@ -197,10 +197,10 @@
 
        stringstream Message;
        unsigned int LoopTimeout = 0;
-       char * sendbuffer_escape = new char[8];
-       char * sendbuffer_response = new char[1];
-       char * recbuffer_escape = new char[8];
-       char * recbuffer_3e_or_nack = new char[1];
+       char sendbuffer_escape[8];
+       char sendbuffer_response[1];
+       char recbuffer_escape[8];
+       char recbuffer_3e_or_nack[1];
        int i = 0;
        int nullcount = 0;
        int incount = 0;
@@ -231,7 +231,7 @@
 
                //cout << recbuffer_3e_or_nack[0] << recbuffer_3e_or_nack[1] << 
recbuffer_3e_or_nack[2] << recbuffer_3e_or_nack[3] << endl;
 
-                       if(recbuffer_3e_or_nack[0] == 0x3e && incount == 1) {
+                       if(incount == 1 && recbuffer_3e_or_nack[0] == 0x3e) {
 
                                //cout << "I see a 3e" << endl;
                                LoopTimeout = 10000; // force exit from while 
loop because we have seen a response
@@ -241,13 +241,13 @@
 
 
 
-                       } else if (recbuffer_3e_or_nack[0] == 0x00 && incount 
== 1 ) {
+                       } else if (incount == 1 && recbuffer_3e_or_nack[0] == 
0x00) {
                                nullcount++;
                                for (i = 0; i< 3; i++) {
                                        //cout << "I see " << nullcount << " 
characters of a NACK..." << endl;
                                        incount = 
Port->ReadRaw(recbuffer_3e_or_nack, 1);
 
-                                       if (recbuffer_3e_or_nack[0] == 0x00 && 
incount == 1) {
+                                       if (incount == 1 && 
recbuffer_3e_or_nack[0] == 0x00) {
                                                //cout << 
recbuffer_3e_or_nack[0] << endl;
                                                nullcount++;
                                                if (nullcount == 4) {
@@ -295,10 +295,10 @@
 
        stringstream Message;
        unsigned int LoopTimeout = 0;
-       char * sendbuffer_escape = new char[8];
-       char * sendbuffer_response = new char[1];
-       char * recbuffer_escape = new char[8];
-       char * recbuffer_3e_or_nack = new char[1];
+       char sendbuffer_escape[8];
+       char sendbuffer_response[1];
+       char recbuffer_escape[8];
+       char recbuffer_3e_or_nack[1];
        int i = 0;
        int nullcount = 0;
        int incount = 0;
@@ -329,7 +329,7 @@
 
                //cout << recbuffer_3e_or_nack[0] << recbuffer_3e_or_nack[1] << 
recbuffer_3e_or_nack[2] << recbuffer_3e_or_nack[3] << endl;
 
-               if (recbuffer_3e_or_nack[0] == 0x3e && incount == 1) {
+               if (incount == 1 && recbuffer_3e_or_nack[0] == 0x3e) {
 
                        //cout << "I see a 3e" << endl;
                        LoopTimeout = 1000000; // force exit from while loop 
because we have seen a response
@@ -340,13 +340,13 @@
 
 
                }
-               else if (recbuffer_3e_or_nack[0] == 0x00 && incount == 1) {
+               else if (incount == 1 && recbuffer_3e_or_nack[0] == 0x00) {
                        nullcount++;
                        for (i = 0; i< 3; i++) {
                                //cout << "I see " << nullcount << " characters 
of a NACK..." << endl;
                                incount = Port->ReadRaw(recbuffer_3e_or_nack, 
1);
 
-                               if (recbuffer_3e_or_nack[0] == 0x00 && incount 
== 1) {
+                               if (incount == 1 && recbuffer_3e_or_nack[0] == 
0x00) {
                                        //cout << recbuffer_3e_or_nack[0] << 
endl;
                                        nullcount++;
                                        if (nullcount == 4) {
@@ -395,10 +395,10 @@
 
        stringstream Message;
        unsigned int LoopTimeout = 0;
-       char * sendbuffer_escape = new char[8];
-       char * sendbuffer_response = new char[1];
-       char * recbuffer_escape = new char[8];
-       char * recbuffer_3e_or_nack = new char[1];
+       char sendbuffer_escape[8];
+       char sendbuffer_response[1];
+       char recbuffer_escape[8];
+       char recbuffer_3e_or_nack[1];
        int i = 0;
        int nullcount = 0;
        int incount = 0;
@@ -424,7 +424,7 @@
 
                //cout << recbuffer_3e_or_nack[0] << recbuffer_3e_or_nack[1] << 
recbuffer_3e_or_nack[2] << recbuffer_3e_or_nack[3] << endl;
 
-               if (recbuffer_3e_or_nack[0] == 0x3e && incount == 1) {
+               if (incount == 1 && recbuffer_3e_or_nack[0] == 0x3e) {
 
                        //cout << "I see a 3e" << endl;
                        LoopTimeout = 1000000; // force exit from while loop 
because we have seen a response
@@ -435,13 +435,13 @@
 
 
                }
-               else if (recbuffer_3e_or_nack[0] == 0x00 && incount == 1) {
+               else if (incount == 1 && recbuffer_3e_or_nack[0] == 0x00) {
                        nullcount++;
                        for (i = 0; i< 3; i++) {
                                //cout << "I see " << nullcount << " characters 
of a NACK..." << endl;
                                incount = Port->ReadRaw(recbuffer_3e_or_nack, 
1);
 
-                               if (recbuffer_3e_or_nack[0] == 0x00 && incount 
== 1) {
+                               if (incount == 1 && recbuffer_3e_or_nack[0] == 
0x00) {
                                        //cout << recbuffer_3e_or_nack[0] << 
endl;
                                        nullcount++;
                                        if (nullcount == 4) {
@@ -492,10 +492,10 @@
        unsigned int waitLoop = 0;
        int nullcount = 0;
        int i = 0;
-       char * sendbuffer_escape = new char[8];
-       char * sendbuffer_response = new char[1];
-       char * recbuffer_escape = new char[8];
-       char * recbuffer_3e = new char[1];
+       char sendbuffer_escape[8];
+       char sendbuffer_response[1];
+       char recbuffer_escape[8];
+       char recbuffer_3e[1];
        sendbuffer_response[0] = 0xd;
        int incount = 0;
        Message << "HOST:: Sending 0xDD112233 and 0x44556677 ..." << endl;
@@ -517,7 +517,7 @@
 
                        incount = Port->ReadRaw(recbuffer_3e, 1);
 
-                       if (recbuffer_3e[0] == 0x3e) {
+                       if (incount == 1 && recbuffer_3e[0] == 0x3e) {
                                //cout << "I see a 3e" << endl;
 
                                LoopTimeout = 1000000; // force exit from while 
loop because we have seen a response
@@ -526,13 +526,13 @@
 
                                //cout << "Sending a response" << endl;
                                //Port->WriteRaw(sendbuffer_response, 1);
-                       } else if (recbuffer_3e[0] == 0x00 && incount == 1) {
+                       } else if (incount == 1 && recbuffer_3e[0] == 0x00) {
                                nullcount++;
                                for (i = 0; i< 3; i++) {
                                        //cout << "I see " << nullcount << " 
characters of a NACK..." << endl;
                                        incount = Port->ReadRaw(recbuffer_3e, 
1);
 
-                                       if (recbuffer_3e[0] == 0x00 && incount 
== 1) {
+                                       if (incount == 1 && recbuffer_3e[0] == 
0x00) {
                                                //cout << recbuffer_3e[0] << 
endl;
                                                nullcount++;
                                                if (nullcount == 4) {
@@ -715,8 +715,8 @@
                throw CWtpException(CWtpException::NACK_SELECTIMAGE);
        }
 
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 /**
@@ -756,8 +756,8 @@
                throw CWtpException(CWtpException::NACK_VERIFYIMAGE);
        }
 
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 /**
@@ -802,8 +802,8 @@
         HandlePendingMessages();
         throw CWtpException(CWtpException::NACK_DATAHEADER);
     }
-    HandlePendingMessages();
     delete Port->WtpCmd;
+    HandlePendingMessages();
 
 #if USE_USB_DELAY_SWITCHES == 1
     // this sleep is requested by Mike and Bruce to address an issue with the 
USB/BootROM terminating a transfer
@@ -860,8 +860,8 @@
                        throw CWtpException(CWtpException::NACK_DATA);
                }
     }
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 
@@ -900,8 +900,8 @@
                HandlePendingMessages();
                throw CWtpException(CWtpException::NACK_DONE);
        }
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 /**
@@ -948,6 +948,8 @@
                 else
                     throw;
             }
+            delete Port->WtpCmd;
+            Port->WtpCmd = 0;
             if (Port->WtpStatus.GetStatus() == ACK)
                 break;
 
@@ -961,14 +963,11 @@
             else
                 retry++;
 
-                       if (retry < 2)
-                               delete Port->WtpCmd;
         } while (retry < 2);
 
 #if DEV_DEBUG
         if(theApp.bVerbose)
         {
-            Port->WtpCmd->print();
             Port->WtpStatus.print();
         }
 #endif
@@ -978,10 +977,8 @@
                        if (Port->WtpStatus.GetDLEN() > 0)
                                Port->GetWtpRemainingMessage();
             HandlePendingMessages();
-                       delete Port->WtpCmd;
             throw CWtpException(CWtpException::NACK_DISCONNECT);
         }
-        delete Port->WtpCmd;
     }
 }
 
@@ -1034,8 +1031,8 @@
        Message << "Build:" << TargetPV.Build << endl;
        misc.UserMessagePrintStr(true,Message.str());
 
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 /**
@@ -1151,8 +1148,8 @@
        {
                Message << endl << "GetParameters returned LEN is not correct! 
LEN = 0x" << hex << (int)Port->WtpStatus.GetDLEN() << endl;
                misc.UserMessagePrintStr(true,Message.str());
-               HandlePendingMessages();
                delete Port->WtpCmd;
+               HandlePendingMessages();
                throw CWtpException(CWtpException::NACK_GETPARAMETERS);
        }
 
@@ -1218,12 +1215,12 @@
        {
                if(Port->WtpStatus.GetDLEN() > 0)
                        Port->GetWtpRemainingMessage();
-               HandlePendingMessages();
                delete Port->WtpCmd;
+               HandlePendingMessages();
                throw CWtpException(CWtpException::NACK_UPLOADDATAHEADER);
        }
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 /**
@@ -1254,12 +1251,12 @@
        {
                if(Port->WtpStatus.GetDLEN() > 0)
                        Port->GetWtpRemainingMessage();
-               HandlePendingMessages();
                delete Port->WtpCmd;
+               HandlePendingMessages();
                throw CWtpException(CWtpException::NACK_UPLOADDATA);
        }
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 
@@ -1321,8 +1318,8 @@
                misc.UserMessagePrintStr(true,Message.str());
        }
 
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 /**
@@ -1353,12 +1350,12 @@
                if (Port->WtpStatus.GetDLEN() > 0)
                        Port->GetWtpRemainingMessage();
 
-               HandlePendingMessages();
                delete Port->WtpCmd;
+               HandlePendingMessages();
                throw CWtpException(CWtpException::NACK_PUBLICKEY);
        }
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 /**
@@ -1388,12 +1385,12 @@
        {
                if (Port->WtpStatus.GetDLEN() > 0)
                        Port->GetWtpRemainingMessage();
-               HandlePendingMessages();
                delete Port->WtpCmd;
+               HandlePendingMessages();
                throw CWtpException(CWtpException::NACK_PASSWORD);
        }
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 /**
@@ -1425,12 +1422,12 @@
                if (Port->WtpStatus.GetDLEN() > 0)
                        Port->GetWtpRemainingMessage();
 
-               HandlePendingMessages();
                delete Port->WtpCmd;
+               HandlePendingMessages();
        throw CWtpException(CWtpException::NACK_SIGNEDPASSWORD);
        }
-       HandlePendingMessages();
        delete Port->WtpCmd;
+       HandlePendingMessages();
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/UARTPortLinux.cpp
 
new/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/UARTPortLinux.cpp
--- 
old/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/UARTPortLinux.cpp
  2021-05-23 07:51:21.000000000 +0200
+++ 
new/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/UARTPortLinux.cpp
  2022-02-13 07:39:32.000000000 +0100
@@ -127,14 +127,14 @@
        UARTDeviceName ="/dev/ttyUSB" ;
        UARTDeviceName.append(portNumber.str());
        cout << endl << UARTDeviceName << endl;
-       uartLinuxFileDesc = open(UARTDeviceName.c_str(),O_RDWR|O_NOCTTY);
+       uartLinuxFileDesc = 
open(UARTDeviceName.c_str(),O_RDWR|O_NOCTTY|O_NONBLOCK);
        if(uartLinuxFileDesc < 0)
        {
                cout << endl << " ERROR: Open UART driver failed:" << endl;
                throw 
CWtpException(CWtpException::OPENUARTPORT,0,UARTDeviceName);
        }
-       fcntl(uartLinuxFileDesc,F_SETFL,0);
        memset(&options, 0, sizeof(options));
+       tcgetattr(uartLinuxFileDesc, &options);
        cfsetispeed(&options, B115200);
        cfsetospeed(&options, B115200);
        options.c_iflag     &= 
~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
@@ -142,9 +142,10 @@
        options.c_oflag     &= ~OPOST;
        options.c_cc[VMIN]   = 0;
        options.c_cc[VTIME]  = 0;
-       options.c_cflag &= ~(CSIZE|PARENB);
-       options.c_cflag |= CS8;
+       options.c_cflag &= ~(CSIZE|PARENB|CSTOPB|HUPCL|CRTSCTS);
+       options.c_cflag |= CS8|CLOCAL|CREAD;
        tcsetattr(uartLinuxFileDesc, TCSANOW, &options);
+       fcntl(uartLinuxFileDesc,F_SETFL,fcntl(uartLinuxFileDesc, F_GETFL) & 
~O_NONBLOCK);
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/WtpDownloadApp.cpp
 
new/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/WtpDownloadApp.cpp
--- 
old/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/WtpDownloadApp.cpp
 2021-05-23 07:51:21.000000000 +0200
+++ 
new/A3700-utils-marvell-master/wtptp/src/Wtpdownloader_Linux/src/WtpDownloadApp.cpp
 2022-02-13 07:39:32.000000000 +0100
@@ -503,11 +503,11 @@
        stringstream Message;
        CMisc misc;
        //CUARTPort UartPort;
-       char * dummybuffer = new char[8];
-       char * dummybuffer1 = new char[1]; // a single byte buffer
-       char * response = new char[1];
+       char dummybuffer[8];
+       char dummybuffer1[1]; // a single byte buffer
+       char response[1];
        response[0] = 0x0d;
-       char * response4 = new char[4];
+       char response4[4];
        response4[0] = 0x0d;
        response4[1] = 0x0d;
        response4[2] = 0x0d;
@@ -534,11 +534,7 @@
     printf( "Start time: %s\n", tmpbuf );
 
        //Message << "Download Start Time: " << 
ctime(&theApp.downloadStartTime) << endl;
-#if    X64_BUILD
-       Message << "WtpDownload for 64-bit Host (Target Images Downloading 
Tool)" << endl;
-#else
-       Message << "WtpDownload for 32-bit Host (Target Images Downloading 
Tool)" << endl;
-#endif
+       Message << "WtpDownload for " << 8*sizeof(void*) << "-bit Host (Target 
Images Downloading Tool)" << endl;
 
 #if TRUSTED
        Message << endl << "Trusted version for TIM and NTIM" << endl;
@@ -893,7 +889,7 @@
     printf( "\nFinish time: %s\n", tmpbuf );
        double timetaken = difftime(endtime,starttime);
 
-       Message <<"Download Time:" << 
theApp.ConvertSecondsToTimeString(timetaken) ;
+       Message <<"Download Time:" << 
theApp.ConvertSecondsToTimeString(timetaken) << endl;
        misc.UserMessagePrintStr(true,Message.str());
        if(bIsOk)
                return 0;

++++++ _service ++++++
--- /var/tmp/diff_new_pack.aRL0tY/_old  2022-02-17 00:31:46.461420437 +0100
+++ /var/tmp/diff_new_pack.aRL0tY/_new  2022-02-17 00:31:46.469420436 +0100
@@ -28,7 +28,7 @@
     <param name="scm">git</param>
     <param name="filename">A3700-utils-marvell</param>
     <param name="versionformat">master</param>
-    <param name="revision">2efdb10f3524c534d276002adf81fec06e0f1cf2</param>
+    <param name="revision">e733e9f139ff23c1b0346c6e89f5530a4c24db3b</param>
   </service>
   <service name="recompress" mode="disabled">
     <param name="file">*A3700-utils-marvell*.tar</param>

Reply via email to