Hi,
this is a real one. Fix included.
Regards
Oliver
You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.
===================================================================
[EMAIL PROTECTED], 2002-07-12 00:15:43+02:00, [EMAIL PROTECTED]
- missing unlock_kernel
diff -Nru a/drivers/usb/media/pwc-if.c b/drivers/usb/media/pwc-if.c
--- a/drivers/usb/media/pwc-if.c Fri Jul 12 00:16:07 2002
+++ b/drivers/usb/media/pwc-if.c Fri Jul 12 00:16:07 2002
@@ -1756,40 +1756,40 @@
pdev = (struct pwc_device *)ptr;
if (pdev == NULL) {
Err("pwc_disconnect() Called without private pointer.\n");
- return;
+ goto out_err;
}
if (pdev->udev == NULL) {
Err("pwc_disconnect() already called for %p\n", pdev);
- return;
+ goto out_err;
}
if (pdev->udev != udev) {
Err("pwc_disconnect() Woops: pointer mismatch udev/pdev.\n");
- return;
+ goto out_err;
}
#ifdef PWC_MAGIC
if (pdev->magic != PWC_MAGIC) {
Err("pwc_disconnect() Magic number failed. Consult your scrolls and
try again.\n");
- return;
+ goto out_err;
}
-#endif
-
+#endif
+
pdev->unplugged = 1;
if (pdev->vdev != NULL) {
- video_unregister_device(pdev->vdev);
+ video_unregister_device(pdev->vdev);
if (pdev->vopen) {
Info("Disconnected while device/video is open!\n");
-
+
/* Wake up any processes that might be waiting for
a frame, let them return an error condition
*/
wake_up(&pdev->frameq);
-
+
/* Wait until we get a 'go' from _close(). This used
to have a gigantic race condition, since we kfree()
- stuff here, but we have to wait until close()
- is finished.
+ stuff here, but we have to wait until close()
+ is finished.
*/
-
+
Trace(TRACE_PROBE, "Sleeping on remove_ok.\n");
add_wait_queue(&pdev->remove_ok, &wait);
set_current_state(TASK_UNINTERRUPTIBLE);
@@ -1815,6 +1815,7 @@
device_hint[hint].pdev = NULL;
pdev->udev = NULL;
+out_err:
unlock_kernel();
kfree(pdev);
}
===================================================================
This BitKeeper patch contains the following changesets:
1.670
## Wrapped with gzip_uu ##
begin 664 bkpatch4851
M'XL(`*<#+CT``[U4[VN<0!#][/X5`_F2D*J[Z[G^*!?2)J4M+32DY%O@T'4\
ME_/<X.I="_[QW5-)"%Q3FD)%?.L\Y^V;V<$3N#/8IHZNU0Y;<@*?M.GL*S:Z
M0:_26ZQ5T__P=+NVY*W6EO0/87_*\/.-V[6(QM_SD-A/;K).5F`9DSK,"QXC
MW<\'3)W;#Q_OOKZ[)62YA*LJ:];X'3M8+DF^N2QZK+U-J[/JL-OP2`^<4L88
M#VD0"A8./`Z"Q<`$S0N[+'B4E+E(R.3G\ICSYUJ<1E:-TY`'@Z`19>0:F"<B
M"I3[-/(9!TI3%J:+X)SRE%)X01K.&;B4O(=_+^"*2'!AJXQ1S1KZIM9RL]I@
MVV!-OH#@-!'DYJEKQ/W+BQ":47)QQ&G1'NHS?F]R_V$O755Z\LGT@B8L&CA+
M(C9DDD>1C&4N,1""R9=:\TQVBX7*GHG/Q\#"13!0'L3).!2_SSD^):^W3M8M
MKB\G):FW?W0K6$1#%C`ZB)#1Q3@TG+]R9@)P&?\/4S/V]1NX[7Z\[1#<O-#B
M5XS4-8O"!!CY/*/CK'6G0??="MOV[8$7P<2/>(R/9CXZSD=\XD<\QB^`CWQH
M\02;0I7D?B3B.3$>$W>J0+WJ&WOLRG38K@K<*8FG#Q;=BYU]GHUZ,9O21AR%
M8C%'Q&,DF?9,J$7'<0#`='U90H4MOH&\[V"/4&4[!.MVGZG.'DVG:I"U-GAZ
M-N<H`Z5JE*FP\`ZRR5SJB/=V%;-#4^9JTZ?_JZQ0;DR_708B+N.PH.07")[A
%.,D%````
`
end
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
PC Mods, Computing goodies, cases & more
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel