diff options
Diffstat (limited to 'drivers/media/usb/usbtv/usbtv-core.c')
| -rw-r--r-- | drivers/media/usb/usbtv/usbtv-core.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/media/usb/usbtv/usbtv-core.c b/drivers/media/usb/usbtv/usbtv-core.c index 5095c380b2c1..1f7620cd2996 100644 --- a/drivers/media/usb/usbtv/usbtv-core.c +++ b/drivers/media/usb/usbtv/usbtv-core.c @@ -47,7 +47,7 @@ int usbtv_set_regs(struct usbtv *usbtv, const u16 regs[][2], int size) { int ret; - int pipe = usb_rcvctrlpipe(usbtv->udev, 0); + int pipe = usb_sndctrlpipe(usbtv->udev, 0); int i; for (i = 0; i < size; i++) { @@ -56,7 +56,7 @@ int usbtv_set_regs(struct usbtv *usbtv, const u16 regs[][2], int size) ret = usb_control_msg(usbtv->udev, pipe, USBTV_REQUEST_REG, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, - value, index, NULL, 0, 0); + value, index, NULL, 0, USB_CTRL_GET_TIMEOUT); if (ret < 0) return ret; } @@ -113,7 +113,8 @@ static int usbtv_probe(struct usb_interface *intf, usbtv_audio_fail: /* we must not free at this point */ - usb_get_dev(usbtv->udev); + v4l2_device_get(&usbtv->v4l2_dev); + /* this will undo the v4l2_device_get() */ usbtv_video_free(usbtv); usbtv_video_fail: |
