summaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/stkwebcam
diff options
context:
space:
mode:
authorRadim Krčmář <rkrcmar@redhat.com>2016-11-16 22:07:36 +0100
committerRadim Krčmář <rkrcmar@redhat.com>2016-11-16 22:07:36 +0100
commit813ae37e6aed72cc457094b6066aa38efd66c9e9 (patch)
tree8eb38e60d52feb2bb0cd022a434e80de53914719 /drivers/media/usb/stkwebcam
parent6314a17fec5cab4784a5cbb75e816b15e3d22e3e (diff)
parent47bdf3378d62a627cfb8a54e1180c08d67078b61 (diff)
downloadlinux-813ae37e6aed72cc457094b6066aa38efd66c9e9.tar.bz2
Merge branch 'x86/cpufeature' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into kvm/next
Topic branch for AVX512_4VNNIW and AVX512_4FMAPS support in KVM.
Diffstat (limited to 'drivers/media/usb/stkwebcam')
-rw-r--r--drivers/media/usb/stkwebcam/stk-webcam.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/media/usb/stkwebcam/stk-webcam.c b/drivers/media/usb/stkwebcam/stk-webcam.c
index db200c9d796d..22a9aae16291 100644
--- a/drivers/media/usb/stkwebcam/stk-webcam.c
+++ b/drivers/media/usb/stkwebcam/stk-webcam.c
@@ -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)
- return ret;
- else
- return 0;
+ if (ret >= 0)
+ memcpy(value, buf, sizeof(u8));
+
+ kfree(buf);
+ return ret;
}
static int stk_start_stream(struct stk_camera *dev)