diff --git a/[refs] b/[refs] index 89bac22dc25e..7f8f47ada883 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 27b12023d72207b2d0b38bb9ef4fdb0a3325b682 +refs/heads/master: 4274d84ce801b763615152b276e2a341a30c3a82 diff --git a/trunk/drivers/media/video/gspca/gspca.c b/trunk/drivers/media/video/gspca/gspca.c index ee9544894e8b..e41dfe254803 100644 --- a/trunk/drivers/media/video/gspca/gspca.c +++ b/trunk/drivers/media/video/gspca/gspca.c @@ -887,6 +887,8 @@ static int gspca_init_transfer(struct gspca_dev *gspca_dev) gspca_dev->iface, alt); if (ret < 0) { + if (ret == -ENOSPC) + goto retry; /*fixme: ugly*/ pr_err("set alt %d err %d\n", alt, ret); goto out; } @@ -942,6 +944,7 @@ static int gspca_init_transfer(struct gspca_dev *gspca_dev) /* the bandwidth is not wide enough * negotiate or try a lower alternate setting */ +retry: PDEBUG(D_ERR|D_STREAM, "alt %d - bandwidth not wide enough - trying again", alt);