diff options
author | Jean-Francois Moine <moinejf@free.fr> | 2009-12-15 03:23:04 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-02-26 13:10:27 -0500 |
commit | 47aaca961ffbe6196dd09d6b447d90d9d4598255 (patch) | |
tree | 52cc970fa90f59b3837efc67f8e0f92cd3ebff49 /drivers/media/video/gspca/gspca.c | |
parent | db870875c0e29ba051e58c848e1877df8e85b49f (diff) |
V4L/DVB (13866): gspca - main: Add the cam flag 'no_urb_create'.
This flag permits subdrivers to create specific transfer URBs.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca/gspca.c')
-rw-r--r-- | drivers/media/video/gspca/gspca.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index 0e6a4ec0fec9..61be007e8fb3 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c | |||
@@ -607,11 +607,14 @@ static int gspca_init_transfer(struct gspca_dev *gspca_dev) | |||
607 | goto out; | 607 | goto out; |
608 | } | 608 | } |
609 | for (;;) { | 609 | for (;;) { |
610 | PDEBUG(D_STREAM, "init transfer alt %d", gspca_dev->alt); | 610 | if (!gspca_dev->cam.no_urb_create) { |
611 | ret = create_urbs(gspca_dev, ep); | 611 | PDEBUG(D_STREAM, "init transfer alt %d", |
612 | if (ret < 0) { | 612 | gspca_dev->alt); |
613 | destroy_urbs(gspca_dev); | 613 | ret = create_urbs(gspca_dev, ep); |
614 | goto out; | 614 | if (ret < 0) { |
615 | destroy_urbs(gspca_dev); | ||
616 | goto out; | ||
617 | } | ||
615 | } | 618 | } |
616 | 619 | ||
617 | /* clear the bulk endpoint */ | 620 | /* clear the bulk endpoint */ |