The psdata is populated with command data by netcp modules
to the tail of the buffer and set_words() copy the same
to the front of the psdata. So remove the redundant memmov
function call.

Signed-off-by: Murali Karicheri <m-kariche...@ti.com>
---
 drivers/net/ethernet/ti/netcp_core.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/ti/netcp_core.c 
b/drivers/net/ethernet/ti/netcp_core.c
index a136c56..286fd8d 100644
--- a/drivers/net/ethernet/ti/netcp_core.c
+++ b/drivers/net/ethernet/ti/netcp_core.c
@@ -1226,9 +1226,9 @@ static int netcp_tx_submit_skb(struct netcp_intf *netcp,
                /* psdata points to both native-endian and device-endian data */
                __le32 *psdata = (void __force *)p_info.psdata;
 
-               memmove(p_info.psdata, p_info.psdata + p_info.psdata_len,
-                       p_info.psdata_len);
-               set_words(p_info.psdata, p_info.psdata_len, psdata);
+               set_words((u32 *)psdata +
+                         (KNAV_DMA_NUM_PS_WORDS - p_info.psdata_len),
+                         p_info.psdata_len, psdata);
                tmp |= (p_info.psdata_len & KNAV_DMA_DESC_PSLEN_MASK) <<
                        KNAV_DMA_DESC_PSLEN_SHIFT;
        }
-- 
1.9.1

Reply via email to