summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2024-04-24 08:40:51 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2024-04-26 12:45:06 +0200
commit44bc9ee16ea941936fbe4eefa5bf74a4c9424980 (patch)
tree7d00d4ac5f4a38824c7685181c6aa779b82f2b43 /drivers/net
parenta0ae224eb25d43e4e045e7fca2532f6da35f9780 (diff)
downloadbarebox-44bc9ee16ea941936fbe4eefa5bf74a4c9424980.tar.gz
barebox-44bc9ee16ea941936fbe4eefa5bf74a4c9424980.tar.xz
net: usb: asix: use dma_alloc for buffers in USB control messages
usb_control_msg() expects DMA-capable memory for its data parameter, but so far we passed buffers that may not have the correct alignment. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20240424064058.3608016-17-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/usb/asix.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
index 9d34beab0d..8ee0bc8534 100644
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c
@@ -175,7 +175,7 @@ static int asix_read_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
dev_dbg(&dev->edev.dev, "asix_read_cmd() cmd=0x%02x value=0x%04x index=0x%04x size=%d\n",
cmd, value, index, size);
- buf = malloc(size);
+ buf = dma_alloc(size);
if (!buf)
goto out;
@@ -193,7 +193,7 @@ static int asix_read_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
memcpy(data, buf, size);
else if (err >= 0)
err = -EINVAL;
- free(buf);
+ dma_free(buf);
out:
return err;
@@ -209,7 +209,7 @@ static int asix_write_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
cmd, value, index, size);
if (data) {
- buf = malloc(size);
+ buf = dma_alloc(size);
if (!buf)
goto out;
memcpy(buf, data, size);
@@ -225,7 +225,7 @@ static int asix_write_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
buf,
size,
USB_CTRL_SET_TIMEOUT);
- free(buf);
+ dma_free(buf);
out:
return err;