[U-Boot] [PATCH] usb: eth: fix memalign() parameter order

Stephen Warren swarren at wwwdotorg.org
Fri Feb 12 21:56:01 CET 2016


From: Stephen Warren <swarren at nvidia.com>

The alignment and size were swapped, leading to malloc heap corruption.

On my system, this sometimes caused U-Boot to crash during or after
certain USB Ethernet operations.

Fixes: c8c2797c3810 ("dm: usb: eth: Support driver model with USB Ethernet")
Signed-off-by: Stephen Warren <swarren at nvidia.com>
---
 drivers/usb/eth/usb_ether.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/eth/usb_ether.c b/drivers/usb/eth/usb_ether.c
index b9c9a8402e39..36734e2e51b3 100644
--- a/drivers/usb/eth/usb_ether.c
+++ b/drivers/usb/eth/usb_ether.c
@@ -73,7 +73,7 @@ int usb_ether_register(struct udevice *dev, struct ueth_data *ueth, int rxsize)
 	}
 
 	ueth->rxsize = rxsize;
-	ueth->rxbuf = memalign(rxsize, ARCH_DMA_MINALIGN);
+	ueth->rxbuf = memalign(ARCH_DMA_MINALIGN, rxsize);
 	if (!ueth->rxbuf)
 		return -ENOMEM;
 
-- 
2.7.0



More information about the U-Boot mailing list