diff options
author | Jean-Francois Moine <moinejf@free.fr> | 2008-10-22 14:51:56 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-29 17:53:28 -0200 |
commit | 8fe2f1d522bb599eccfff6ef4fc55f7b7abbaeec (patch) | |
tree | aa96c504359dc7b8c68d23f1431ca910e32810ee | |
parent | 5017c7bde46abc859e0a350bcd591f502442d6af (diff) |
V4L/DVB (9544): gspca: Clear the bulk endpoint at starting time when bulk transfer.
- usb_clear_halt() added in gspca and removed in finepix.
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/finepix.c | 3 | ||||
-rw-r--r-- | drivers/media/video/gspca/gspca.c | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/video/gspca/finepix.c b/drivers/media/video/gspca/finepix.c index 607942fd797..03cb9446632 100644 --- a/drivers/media/video/gspca/finepix.c +++ b/drivers/media/video/gspca/finepix.c @@ -314,9 +314,6 @@ static int sd_start(struct gspca_dev *gspca_dev) int ret; int size_ret; - /* Reset bulk in endpoint */ - usb_clear_halt(gspca_dev->dev, gspca_dev->cam.epaddr); - /* Init the device */ memset(gspca_dev->usb_buf, 0, 12); gspca_dev->usb_buf[0] = 0xc6; diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index 6e23fd4a203..afddb18024a 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c @@ -597,6 +597,12 @@ static int gspca_init_transfer(struct gspca_dev *gspca_dev) if (ret < 0) goto out; + /* clear the bulk endpoint */ + if (gspca_dev->alt == 0) /* if bulk transfer */ + usb_clear_halt(gspca_dev->dev, + usb_rcvintpipe(gspca_dev->dev, + gspca_dev->cam.epaddr)); + /* start the cam */ ret = gspca_dev->sd_desc->start(gspca_dev); if (ret < 0) { |