On Sat, 2013-07-27 at 20:21 -0700, David Miller wrote: > From: Hayes Wang <hayeswang@xxxxxxxxxxx> > Date: Thu, 25 Jul 2013 15:59:02 +0800 > > > Some USB buffers use stack which may not be DMA-able. > > Use the buffers from kmalloc to replace those one. > > > > Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> > > I don't think it's reasonable to kmalloc() a small integer every time > you want to use a USB message transfer to read or write chip > registers. > > Instead, add a scratch buffer to struct r8152 which is allocated once > at driver attach time and which you can use for the transfers. > > I think you only need an array of two u32's so something like: > > u32 transfer_buf[2]; > > ought to be sufficient. We cannot do that. It would violate the rules about DMA coherency. We must not touch the same cacheline while DMA is in operation. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html