diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/designware.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 01abcc21d2..2c5d9560c5 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -380,9 +380,11 @@ static int _dw_eth_send(struct dw_eth_dev *priv, void *packet, int length) return -EPERM; } - length = max(length, ETH_ZLEN); - memcpy((void *)data_start, packet, length); + if (length < ETH_ZLEN) { + memset(&((char *)data_start)[length], 0, ETH_ZLEN - length); + length = ETH_ZLEN; + } /* Flush data to be sent */ flush_dcache_range(data_start, data_end); |