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:
parent
cc8d993513
commit
2637022887
1 changed files with 16 additions and 10 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue