Mailinglist Archive: opensuse-commit (768 mails)

< Previous Next >
commit uvcvideo
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Tue, 03 Jun 2008 22:06:59 +0200
  • Message-id: <20080603200659.A08936780BB@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package uvcvideo
checked in at Tue Jun 3 22:06:59 CEST 2008.


--------
--- uvcvideo/uvcvideo.changes 2008-04-08 19:43:10.000000000 +0200
+++ /mounts/work_src_done/STABLE/uvcvideo/uvcvideo.changes 2008-05-30
02:31:39.770991000 +0200
@@ -1,0 +2,5 @@
+Fri May 30 02:31:06 CEST 2008 - bphilips@xxxxxxx
+
+- Add fix for bnc#387876 uvcvideo breaks suspend to ram
+
+-------------------------------------------------------------------



New:
----
uvcvideo-fix-release-interface.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ uvcvideo.spec ++++++
--- /var/tmp/diff_new_pack.Q15361/_old 2008-06-03 22:06:38.000000000 +0200
+++ /var/tmp/diff_new_pack.Q15361/_new 2008-06-03 22:06:38.000000000 +0200
@@ -18,13 +18,14 @@
AutoReqProv: on
Summary: USB Video Class (UVC) webcam driver
Version: r200
-Release: 1
+Release: 2
Source: %name-%version.tar.bz2
Source1: preamble
Url: http://linux-uvc.berlios.de/
License: GPL v2 or later
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: coreutils grep
+Patch1: %{name}-fix-release-interface.patch
Supplements: modalias(usb:v046Dp08C1d*dc*dsc*dp*icFFisc01ip00*)
Supplements: modalias(usb:v046Dp08C2d*dc*dsc*dp*icFFisc01ip00*)
Supplements: modalias(usb:v046Dp08C3d*dc*dsc*dp*icFFisc01ip00*)
@@ -63,6 +64,7 @@

%prep
%setup -q -n %name-%version
+%patch1 -p1
set -- *
mkdir source
mv "$@" source/
@@ -93,6 +95,8 @@
rm -rf $RPM_BUILD_ROOT

%changelog
+* Fri May 30 2008 bphilips@xxxxxxx
+- Add fix for bnc#387876 uvcvideo breaks suspend to ram
* Tue Apr 08 2008 bphilips@xxxxxxx
- r200 to fix reported oops with X300 laptops
- SLES-10-SP2 for FATE 303309 since we originally included this


++++++ uvcvideo-fix-release-interface.patch ++++++
Subject: [PATCH] uvc: release streaming interface to fix suspend to RAM

Bug report: https://bugzilla.novell.com/show_bug.cgi?id=387876

If probe fails the UVC driver may still be bound to a streaming interface.
This interface must be released with usb_driver_release_interface() otherwise
the interface will continue to be bound later causing suspend operations to
fail.

Tested using this little hack:
+++ uvc_video.c
@@ -870,6 +870,8 @@ int uvc_video_init(st
if ((ret = uvc_get_video_ctrl(video, probe, 1, GET_DEF)) < 0 &&
(ret = uvc_get_video_ctrl(video, probe, 1, GET_CUR)) < 0)
return ret;
+
+ return -EIO;



Signed-off-by: Brandon Philips <bphilips@xxxxxxx>

---
uvc_driver.c | 4 ++++
1 file changed, 4 insertions(+)

Index: uvc/uvc_driver.c
===================================================================
--- uvc.orig/uvc_driver.c
+++ uvc/uvc_driver.c
@@ -886,6 +886,8 @@ static int uvc_parse_control(struct uvc_

if (uvc_parse_streaming(dev, streaming) < 0) {
usb_put_intf(intf);
+
usb_driver_release_interface(&uvc_driver.driver,
+ intf);
kfree(streaming->format);
kfree(streaming->header.bmaControls);
kfree(streaming);
@@ -1511,6 +1513,8 @@ void uvc_delete(struct kref *kref)
struct uvc_streaming *streaming;
streaming = list_entry(p, struct uvc_streaming, list);
usb_put_intf(streaming->intf);
+ usb_driver_release_interface(&uvc_driver.driver,
+ streaming->intf);
kfree(streaming->format);
kfree(streaming->header.bmaControls);
kfree(streaming);

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread