staging: most: prevent DMA on stack

This patch is needed to avoid having DMA on the stack.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Christian Gromm 2015-09-28 17:18:43 +02:00 committed by Greg Kroah-Hartman
parent cc8d993513
commit 2637022887

View file

@ -146,17 +146,23 @@ static void wq_netinfo(struct work_struct *wq_obj);
* *
* This is reads data from INIC's direct register communication interface * This is reads data from INIC's direct register communication interface
*/ */
static inline int drci_rd_reg(struct usb_device *dev, u16 reg, void *buf) static inline int drci_rd_reg(struct usb_device *dev, u16 reg, u16 *buf)
{ {
return usb_control_msg(dev, int retval;
usb_rcvctrlpipe(dev, 0), u16 *dma_buf = kzalloc(sizeof(u16), GFP_KERNEL);
DRCI_READ_REQ, u8 req_type = USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE;
USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
0x0000, if (!dma_buf)
reg, return -ENOMEM;
buf,
2, retval = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
5 * HZ); DRCI_READ_REQ, req_type,
0x0000,
reg, dma_buf, sizeof(u16), 5 * HZ);
*buf = *dma_buf;
kfree(dma_buf);
return retval;
} }
/** /**