From: Frank Schaefer <fschaefer.oss@googlemail.com>
Date: Mon, 8 Apr 2013 16:06:59 +0000 (-0300)
Subject: [media] em28xx: save isoc endpoint number for DVB only if endpoint has alt settings... 
X-Git-Tag: firefly_0821_release~176^2~3573^2~1958
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b3404a8ef567de43b74018bbdbd989b53426d422;p=firefly-linux-kernel-4.4.55.git

[media] em28xx: save isoc endpoint number for DVB only if endpoint has alt settings with xMaxPacketSize != 0

X-Patchwork-Delegate: mchehab@redhat.com
In addition to commit 72cc9ba3 "em28xx: ignore isoc DVB USB endpoints with
wMaxPacketSize = 0 bytes for all alt settings" we should not save the endpoint
number of the isoc DVB endpoint before it has been validated.
While the current code works fine, dev->dvb_ep_isoc != 0 could be interpreted
as indicator that the device provides DVB support.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---

diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c
index d2ed67825993..83bfbe4c980f 100644
--- a/drivers/media/usb/em28xx/em28xx-cards.c
+++ b/drivers/media/usb/em28xx/em28xx-cards.c
@@ -3220,9 +3220,9 @@ static int em28xx_usb_probe(struct usb_interface *interface,
 							    e->bEndpointAddress;
 					} else {
 						if (usb_endpoint_xfer_isoc(e)) {
-							dev->dvb_ep_isoc = e->bEndpointAddress;
 							if (size > dev->dvb_max_pkt_size_isoc) {
 								has_dvb = true; /* see NOTE (~) */
+								dev->dvb_ep_isoc = e->bEndpointAddress;
 								dev->dvb_max_pkt_size_isoc = size;
 								dev->dvb_alt_isoc = i;
 							}