Re: 2.6.30-rc2-git2: Reported regressions from 2.6.29

leiming
2009-04-18T02:32:26Z

ÓÚ Fri, 17 Apr 2009 23:36:11 +0200
"Rafael J. Wysocki" <rjw@sisk.pl> Ð´µÀ:

> On Friday 17 April 2009, Ming Lei wrote:
> > 2009/4/17 Rafael J. Wysocki <rjw@sisk.pl>:
> > >
> > > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=13125
> > > Subject : active uvcvideo breaks over suspend
> > > Submitter : Alan Jenkins <alan-jenkins@tuffmail.co.uk>
> > > Date : 2009-04-15 10:12 (2 days old)
> > > References :
> > > http://marc.info/?l=linux-kernel&m=123979009508840&w=4
> > >
> >
> > It is a bug in resume path of uvcvideo driver, and I have sent a
> > patch to laurent.pinchart@skynet.be,
> > mchehab@infradead.org and video4linux-list@redhat.com to fix it,
> > but still no echo from them.
> >
> > The patch title is V4L/DVB:usbvideo:fix uvc resume failed.
> >
> > Rafael J.
> > If you would like to apply it ,I can resend to you. Thanks!
>
> Please resend.
>
> Rafael

From 5715e310a939f3f7cd3e88eae8f25fedbb28def4 Mon Sep 17 00:00:00 2001
From: Ming Lei <tom.leiming@gmail.com>
Date: Wed, 15 Apr 2009 22:32:51 +0800
Subject: [PATCH] V4L/DVB:usbvideo:fix uvc resume failed

Now urb buffers is not freed before suspend, so uvc_alloc_urb_buffers
should return packet counts allocated originally during uvc resume
, instead of zero.

This patch is against v2.6.30-rc2.

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
---
drivers/media/video/uvc/uvc_video.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c
index a95e173..c050b22 100644
--- a/drivers/media/video/uvc/uvc_video.c
+++ b/drivers/media/video/uvc/uvc_video.c
@@ -742,7 +742,7 @@ static int uvc_alloc_urb_buffers(struct uvc_video_device *video,

/* Buffers are already allocated, bail out. */
if (video->urb_size)
- return 0;
+ return DIV_ROUND_UP(video->urb_size, psize);

/* Compute the number of packets. Bulk endpoints might transfer UVC
* payloads accross multiple URBs.
--
1.6.0.GIT

--
Lei Ming