mfd: viperboard: do version query in dma memory
PATCH 1/1 mfd: viperboard: do version query in dma memory
From: Lars Poeschel <[email protected]>
The query for the viperboard version was done with memory buffer on the stack but usb transfers need dma capable memory buffer. This is fixed now.
Signed-off-by Lars Poeschel <[email protected]>
--- drivers/mfd/viperboard.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
drivers/mfd/viperboard.c +4 -5
@@ -56,7 +56,6 @@ static int vprbrd_probe(struct usb_interface *interface,u16 version =0 ;int pipe, ret; -unsigned char buf[1 ];/* allocate memory for our device state and initialize it */ vb =kzalloc (sizeof (*vb),GFP_KERNEL );
@@ -76,17 +75,17 @@ static int vprbrd_probe(struct usb_interface *interface,/* get version information, major first, minor then */ pipe =usb_rcvctrlpipe (vb->usb_dev,0 ); ret =usb_control_msg (vb->usb_dev, pipe,VPRBRD_USB_REQUEST_MAJOR , -VPRBRD_USB_TYPE_IN ,0x0000 ,0x0000 , buf,1 , +VPRBRD_USB_TYPE_IN ,0x0000 ,0x0000 , vb->buf,1 ,VPRBRD_USB_TIMEOUT_MS );if (ret ==1 ) - version = buf[0 ]; + version = vb->buf[0 ]; ret =usb_control_msg (vb->usb_dev, pipe,VPRBRD_USB_REQUEST_MINOR , -VPRBRD_USB_TYPE_IN ,0x0000 ,0x0000 , buf,1 , +VPRBRD_USB_TYPE_IN ,0x0000 ,0x0000 , vb->buf,1 ,VPRBRD_USB_TIMEOUT_MS );if (ret ==1 ) { version <<=8 ; - version = version | buf[0 ]; + version = version | vb->buf[0 ]; } dev_info(&interface->dev,
Signature · 1 line
1.7.10.4
Samuel Ortiz
AppliedHi Lars,
Quoted 10 lines · Lars Poeschel
From: Lars Poeschel <[email protected]>
The query for the viperboard version was done with memory buffer on the stack but usb transfers need dma capable memory buffer. This is fixed now.
Signed-off-by Lars Poeschel <[email protected]>--- drivers/mfd/viperboard.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
Applied, thanks.
Cheers,
Samuel.
Signature · 2 lines
Intel Open Source Technology Centre http://oss.intel.com/