Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5f93cb5 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] stk-webcam: don't use stack for DMA



The USB control messages require DMA to work. We cannot pass
a stack-allocated buffer, as it is not warranted that the
stack would be into a DMA enabled area.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent db65c49e
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -147,20 +147,26 @@ int stk_camera_write_reg(struct stk_camera *dev, u16 index, u8 value)
int stk_camera_read_reg(struct stk_camera *dev, u16 index, int *value)
{
	struct usb_device *udev = dev->udev;
	unsigned char *buf;
	int ret;

	buf = kmalloc(sizeof(u8), GFP_KERNEL);
	if (!buf)
		return -ENOMEM;

	ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
			0x00,
			USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
			0x00,
			index,
			(u8 *) value,
			buf,
			sizeof(u8),
			500);
	if (ret < 0)
	if (ret >= 0)
		memcpy(value, buf, sizeof(u8));

	kfree(buf);
	return ret;
	else
		return 0;
}

static int stk_start_stream(struct stk_camera *dev)