[media] touptek: don't DMA at the stack

As warned by smatch:
	drivers/media/usb/gspca/touptek.c:220 reg_w() error: doing dma on the stack (buff)
	drivers/media/usb/gspca/touptek.c:458 configure() error: doing dma on the stack (buff)

This can fail, as the stack may not be in a memory that would
allod DMA. So, use the usb_buf instead.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Mauro Carvalho Chehab 2016-03-06 10:12:32 -03:00
parent eef8fc374c
commit ad72204792

View File

@ -211,7 +211,7 @@ static int val_reply(struct gspca_dev *gspca_dev, const char *reply, int rc)
static void reg_w(struct gspca_dev *gspca_dev, u16 value, u16 index)
{
char buff[1];
char *buff = gspca_dev->usb_buf;
int rc;
PDEBUG(D_USBO,
@ -438,7 +438,7 @@ static void configure_encrypted(struct gspca_dev *gspca_dev)
static int configure(struct gspca_dev *gspca_dev)
{
int rc;
uint8_t buff[4];
char *buff = gspca_dev->usb_buf;
PDEBUG(D_STREAM, "configure()\n");