|
@@ -70,13 +70,22 @@ EXPORT_SYMBOL(dibusb_power_ctrl);
|
|
|
|
|
|
int dibusb2_0_streaming_ctrl(struct dvb_usb_device *d, int onoff)
|
|
|
{
|
|
|
- u8 b[2];
|
|
|
- b[0] = DIBUSB_REQ_SET_IOCTL;
|
|
|
- b[1] = onoff ? DIBUSB_IOCTL_CMD_ENABLE_STREAM : DIBUSB_IOCTL_CMD_DISABLE_STREAM;
|
|
|
+ u8 b[3] = { 0 };
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ if ((ret = dibusb_streaming_ctrl(d,onoff)) < 0)
|
|
|
+ return ret;
|
|
|
|
|
|
- dvb_usb_generic_write(d,b,3);
|
|
|
+ if (onoff) {
|
|
|
+ b[0] = DIBUSB_REQ_SET_STREAMING_MODE;
|
|
|
+ b[1] = 0x00;
|
|
|
+ if ((ret = dvb_usb_generic_write(d,b,2)) < 0)
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
|
|
|
- return dibusb_streaming_ctrl(d,onoff);
|
|
|
+ b[0] = DIBUSB_REQ_SET_IOCTL;
|
|
|
+ b[1] = onoff ? DIBUSB_IOCTL_CMD_ENABLE_STREAM : DIBUSB_IOCTL_CMD_DISABLE_STREAM;
|
|
|
+ return dvb_usb_generic_write(d,b,3);
|
|
|
}
|
|
|
EXPORT_SYMBOL(dibusb2_0_streaming_ctrl);
|
|
|
|