diff --git a/XilinxProcessorIPLib/drivers/emaclite/src/xemaclite.h b/XilinxProcessorIPLib/drivers/emaclite/src/xemaclite.h index 448af472..4577b8a7 100644 --- a/XilinxProcessorIPLib/drivers/emaclite/src/xemaclite.h +++ b/XilinxProcessorIPLib/drivers/emaclite/src/xemaclite.h @@ -193,6 +193,9 @@ * driver is compiled with ARM toolchain. * 3.04a srt 04/13/13 Removed warnings (CR 705000). * 4.0 adk 19/12/13 Updated as per the New Tcl API's +* 4.1 nsk 07/13/15 Added Length check in XEmacLite_AlignedWrite function +* in xemaclite_l.c file to avoid extra write operation +* (CR 843707). * * * diff --git a/XilinxProcessorIPLib/drivers/emaclite/src/xemaclite_l.c b/XilinxProcessorIPLib/drivers/emaclite/src/xemaclite_l.c index 430dbe70..e58a4446 100644 --- a/XilinxProcessorIPLib/drivers/emaclite/src/xemaclite_l.c +++ b/XilinxProcessorIPLib/drivers/emaclite/src/xemaclite_l.c @@ -55,6 +55,8 @@ * XEmacLite_AlignedRead functions to use volatile * variables so that they are not optimized. * 3.00a ktn 10/22/09 The macros have been renamed to remove _m from the name. +* 4.1 nsk 07/13/15 Added Length check in XEmacLite_AlignedWrite function +* to avoid extra write operation (CR 843707). * * * @@ -367,9 +369,9 @@ void XEmacLite_AlignedWrite(void *SrcPtr, u32 *DestPtr, unsigned ByteCount) for (Index = 0; Index < Length; Index++) { *To8Ptr++ = *From8Ptr++; } - - *To32Ptr++ = AlignBuffer; - + if (Length) { + *To32Ptr++ = AlignBuffer; + } } /******************************************************************************/