diff options
author | Jean-Francois Moine <moinejf@free.fr> | 2009-07-28 03:38:25 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-09-12 11:18:22 -0400 |
commit | 1c8336d338099cbef6eb4bacd869c602c3988a06 (patch) | |
tree | f2862cb61117f7b6936a82a3cc2c8601207069ae | |
parent | c61fd24f2d613264d08d2cac844bdcbd754da285 (diff) |
V4L/DVB (12358): gspca - main: Memorize the current alt before setting it
This prevents a loop if a permanent error occurs in usb_set_interface().
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/gspca/gspca.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index 6ec75066597d..016599def6b5 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c | |||
@@ -486,6 +486,7 @@ static struct usb_host_endpoint *get_ep(struct gspca_dev *gspca_dev) | |||
486 | } | 486 | } |
487 | PDEBUG(D_STREAM, "use alt %d ep 0x%02x", | 487 | PDEBUG(D_STREAM, "use alt %d ep 0x%02x", |
488 | i, ep->desc.bEndpointAddress); | 488 | i, ep->desc.bEndpointAddress); |
489 | gspca_dev->alt = i; /* memorize the current alt setting */ | ||
489 | if (gspca_dev->nbalt > 1) { | 490 | if (gspca_dev->nbalt > 1) { |
490 | ret = usb_set_interface(gspca_dev->dev, gspca_dev->iface, i); | 491 | ret = usb_set_interface(gspca_dev->dev, gspca_dev->iface, i); |
491 | if (ret < 0) { | 492 | if (ret < 0) { |
@@ -493,7 +494,6 @@ static struct usb_host_endpoint *get_ep(struct gspca_dev *gspca_dev) | |||
493 | return NULL; | 494 | return NULL; |
494 | } | 495 | } |
495 | } | 496 | } |
496 | gspca_dev->alt = i; /* memorize the current alt setting */ | ||
497 | return ep; | 497 | return ep; |
498 | } | 498 | } |
499 | 499 | ||