diff mbox

technisat-sub2: Fix stream curruption on high bitrate

Message ID 3539618.frtlsOTgfg@ubuntu (mailing list archive)
State New, archived
Headers show

Commit Message

CrazyCat April 16, 2014, 8:22 p.m. UTC
Fix stream curruption on high bitrate (>60mbit).

Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
---
 drivers/media/usb/dvb-usb/technisat-usb2.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mauro Carvalho Chehab May 25, 2014, 6:29 p.m. UTC | #1
Hi,

Em Wed, 16 Apr 2014 23:22:01 +0300
CrazyCat <crazycat69@narod.ru> escreveu:

> Fix stream curruption on high bitrate (>60mbit).

Could you please better document this patch? 

I would be expecting a better description of the problem you faced,
the version of the board you have (assuming that different versions
might have different minimal intervals) and an lsusb -v output from
the board you faced issues, showing what the endpoint descriptors
say about that.

Btw, if those tables are ok, can't we just retrieve the information
directly from the descriptors, instead of hardcoding it, e. g
filling it with:

       interval = 1 << (ep->bInterval - 1);

at the board probing time, just like we did at changeset 1b3fd2d34266?

Regards,
Mauro

> 
> Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
> ---
>  drivers/media/usb/dvb-usb/technisat-usb2.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/usb/dvb-usb/technisat-usb2.c b/drivers/media/usb/dvb-usb/technisat-usb2.c
> index 420198f..4604c084 100644
> --- a/drivers/media/usb/dvb-usb/technisat-usb2.c
> +++ b/drivers/media/usb/dvb-usb/technisat-usb2.c
> @@ -711,7 +711,7 @@ static struct dvb_usb_device_properties technisat_usb2_devices = {
>  					.isoc = {
>  						.framesperurb = 32,
>  						.framesize = 2048,
> -						.interval = 3,
> +						.interval = 1,
>  					}
>  				}
>  			},
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
CrazyCat May 27, 2014, 7:45 p.m. UTC | #2
On Sunday 25 May 2014 15:29:57 Mauro Carvalho Chehab wrote:
> Could you please better document this patch? 

Bug "catched" @ new ABS2 satellite (75E). Transponders with bitrate 70-80mbit. Before some european another users report same issue with ~67mbit transponders (S2,8PSK,27500,5/6). So just another bug in this driver :)

> I would be expecting a better description of the problem you faced,
> the version of the board you have (assuming that different versions
> might have different minimal intervals) and an lsusb -v output from
> the board you faced issues, showing what the endpoint descriptors
> say about that.

This device have only one hw revision. lsusb -v output:

Bus 001 Device 009: ID 14f7:0500 TechniSat Digital GmbH DVB-PC TV Star HD
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x14f7 TechniSat Digital GmbH
  idProduct          0x0500 DVB-PC TV Star HD
  bcdDevice            0.01
  iManufacturer           1 TechniSat Digital
  iProduct                2 TechniSat USB device
  iSerial                 3 0008C9F04C76
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           69
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0c00  2x 1024 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

> Btw, if those tables are ok, can't we just retrieve the information
> directly from the descriptors, instead of hardcoding it, e. g
> filling it with:
> 
>        interval = 1 << (ep->bInterval - 1);
> 
> at the board probing time, just like we did at changeset 1b3fd2d34266?

good idea :)
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/media/usb/dvb-usb/technisat-usb2.c b/drivers/media/usb/dvb-usb/technisat-usb2.c
index 420198f..4604c084 100644
--- a/drivers/media/usb/dvb-usb/technisat-usb2.c
+++ b/drivers/media/usb/dvb-usb/technisat-usb2.c
@@ -711,7 +711,7 @@  static struct dvb_usb_device_properties technisat_usb2_devices = {
 					.isoc = {
 						.framesperurb = 32,
 						.framesize = 2048,
-						.interval = 3,
+						.interval = 1,
 					}
 				}
 			},