[media] em28xx: ignore isoc DVB USB endpoints with wMaxPacketSize = 0 bytes for all alt settings
Some devices without DVB support (such as the "Terratec Grabby" and "Easycap DC-60") provide isochronous DVB USB endpoints with wMaxPacketSize set to 0 bytes for all alt settings. Ignore these endpoints and avoid registering a DVB device node and loading the DVB driver extension. Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Tested-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
b418697115
commit
72cc9ba39a
|
@ -3357,14 +3357,15 @@ static int em28xx_usb_probe(struct usb_interface *interface,
|
||||||
dev->analog_ep_bulk =
|
dev->analog_ep_bulk =
|
||||||
e->bEndpointAddress;
|
e->bEndpointAddress;
|
||||||
} else {
|
} else {
|
||||||
has_dvb = true;
|
|
||||||
if (usb_endpoint_xfer_isoc(e)) {
|
if (usb_endpoint_xfer_isoc(e)) {
|
||||||
dev->dvb_ep_isoc = e->bEndpointAddress;
|
dev->dvb_ep_isoc = e->bEndpointAddress;
|
||||||
if (size > dev->dvb_max_pkt_size_isoc) {
|
if (size > dev->dvb_max_pkt_size_isoc) {
|
||||||
|
has_dvb = true; /* see NOTE (~) */
|
||||||
dev->dvb_max_pkt_size_isoc = size;
|
dev->dvb_max_pkt_size_isoc = size;
|
||||||
dev->dvb_alt_isoc = i;
|
dev->dvb_alt_isoc = i;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
has_dvb = true;
|
||||||
dev->dvb_ep_bulk = e->bEndpointAddress;
|
dev->dvb_ep_bulk = e->bEndpointAddress;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3391,6 +3392,12 @@ static int em28xx_usb_probe(struct usb_interface *interface,
|
||||||
* so far. But there might be devices for which this
|
* so far. But there might be devices for which this
|
||||||
* logic is not sufficient...
|
* logic is not sufficient...
|
||||||
*/
|
*/
|
||||||
|
/*
|
||||||
|
* NOTE (~): some manufacturers (e.g. Terratec) disable
|
||||||
|
* endpoints by setting wMaxPacketSize to 0 bytes for
|
||||||
|
* all alt settings. So far, we've seen this for
|
||||||
|
* DVB isoc endpoints only.
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue