Re: [PATCH] usb/mcs7830: Don't use buffers from stack for USB transfers
From: Arnd Bergmann
Date: Tue Jan 20 2009 - 18:17:40 EST
On Tuesday 20 January 2009, David Miller wrote:
> You cannot DMA from/to the kernel stack, because it might not be in
> the aliased linear mapping of physical memory. It could even be
> vmalloc()'d memory on some platforms.
Ok, I see. It seems a bit of a waste to do a kmalloc for something
that is guaranteed to be just a few bytes, but allocating the
buffer per-device would mean another mutex, which has about the
same overhead, so I'm basically ok with the patch.
> + buffer = kmalloc(size, GFP_NOIO);
GFP_NOIO seems out of place in a network driver: there is nothing
wrong with waiting for I/O here, so plain GFP_KERNEL should be fine.
> + if (buffer == NULL)
> + return -ENOMEM;
I'd prefer to write
if (!buffer)
here, as I do elsewhere in the driver.
Otherwise,
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
--
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/