From: Jean-Francois Moine Date: Tue, 21 Apr 2009 17:05:44 +0000 (-0300) Subject: V4L/DVB (11712): gspca - main: Set the current alternate setting only when needed X-Git-Tag: firefly_0821_release~13887^2~246 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8dd07ef1236356222207058ee6a83c24cc896e8d;p=firefly-linux-kernel-4.4.55.git V4L/DVB (11712): gspca - main: Set the current alternate setting only when needed Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index efa4dd349f60..ebeae6bdacc8 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c @@ -486,7 +486,7 @@ static struct usb_host_endpoint *get_ep(struct gspca_dev *gspca_dev) } PDEBUG(D_STREAM, "use alt %d ep 0x%02x", i, ep->desc.bEndpointAddress); - if (i > 0) { + if (gspca_dev->nbalt > 1) { ret = usb_set_interface(gspca_dev->dev, gspca_dev->iface, i); if (ret < 0) { err("set alt %d err %d", i, ret); @@ -653,6 +653,8 @@ static int gspca_set_alt0(struct gspca_dev *gspca_dev) { int ret; + if (gspca_dev->alt == 0) + return 0; ret = usb_set_interface(gspca_dev->dev, gspca_dev->iface, 0); if (ret < 0) PDEBUG(D_ERR|D_STREAM, "set alt 0 err %d", ret);