Re: [PATCH] drivers: rtl818x: request DMA-able memory

From: Hin-Tak Leung
Date: Mon Oct 25 2010 - 10:17:01 EST




Larry Finger wrote:
On 10/24/2010 03:32 PM, Serafeim Zanikolas wrote:
Despite the indicated intention in comment, the kmalloc() call was not
explicitly requesting memory from ZONE_DMA.

Signed-off-by: Serafeim Zanikolas <sez@xxxxxxxxxx>
---
drivers/net/wireless/rtl818x/rtl8187_dev.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c
index 38fa824..771794d 100644
--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c
@@ -1343,7 +1343,8 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
priv->is_rtl8187b = (id->driver_info == DEVICE_RTL8187B);
/* allocate "DMA aware" buffer for register accesses */
- priv->io_dmabuf = kmalloc(sizeof(*priv->io_dmabuf), GFP_KERNEL);
+ priv->io_dmabuf = kmalloc(sizeof(*priv->io_dmabuf),
+ GFP_DMA | GFP_KERNEL);
if (!priv->io_dmabuf) {
err = -ENOMEM;
goto err_free_dev;

ACK.

Larry

Acked-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx>

I had a quick look for similiar constructs and AFAIK only the b43/b43legacy drivers uses DMA buffers. Seems to be a rare practice. Is that something we should or should not do?

Hin-Tak
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/