Hi,
the included change sets fix a disconnect bug on stv680.
It took a little interactive debugging to get it to work.
Therefor it's in four change sets against the 2.4 tree.
2.5 would need the fix, too, but I am too lazy.
Thanks to Ian for testing.
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-06-11 23:40:21+02:00, [EMAIL PROTECTED]
fix disconnect bug
diff -Nru a/drivers/usb/stv680.c b/drivers/usb/stv680.c
--- a/drivers/usb/stv680.c Tue Jun 11 23:44:26 2002
+++ b/drivers/usb/stv680.c Tue Jun 11 23:44:26 2002
@@ -1578,6 +1578,7 @@
static void stv680_disconnect (struct usb_device *dev, void *ptr)
{
struct usb_stv *stv680 = (struct usb_stv *) ptr;
+ int i;
lock_kernel ();
/* We don't want people trying to open up the device */
@@ -1586,6 +1587,8 @@
usb_stv680_remove_disconnected (stv680);
} else {
stv680->removed = 1;
+ for( i < 0; i < STV680_NUMSBUF; i++)
+ usb_unlink_urb(stv680->urb[i]);
}
unlock_kernel ();
}
===================================================================
This BitKeeper patch contains the following changesets:
1.714
## Wrapped with gzip_uu ##
begin 664 bkpatch2835
M'XL(`#IO!CT``ZV4VVZ;0!"&K]FG&"DWB2S#[(&CZ\A-VK153Y9=]Z:JK`46
M@^R`Q4*22CQ\%RPE;>6>@Y!@9I:9?W\^[0FLM*HCJ]H5-ZHF)_"RTHT)55F5
MRLZK:[4KRO;.KNJ-*2ZJRA2=/NT<OG#B[;BIE=+.+1/$+)G+)LG!5'1D49O?
M9YHO>Q59B^<O5F^>+@B93N$RE^5&+54#TRF)M[.T53M[6U<R[Z=U]^6.(5)T
MD3(N/&0=^DC=SO-3Z0N.H>N*E"I*XES6J9[%Q69?E:E=JL:6[?==&'H4:>!Z
M+G:"\E"09T!MGPI`YJ#G4`J,1P(C1D?((D0X;')VS`X841@CN8#_EWY)$LB*
M.T@+G51EJ9(&XG9#7H-@(@C)_,$J,O[+BQ"42,YAW_^$'W6F=;\[[;0Z=G1S
MXP5H)X-DRIAG?.+&)^I3Y%T6R%3)+#%)7X9A\BMC?MJVMY\RXSO'#ET>B`&#
M8ZM[(AY9,<E-MZ+,ZCZ=_D:GR]!T"07K#"H>&S`Q<'Q+"0\CCG]""7],2J[E
M5H%N:P5RMX.VCC5($[2E&;A5J4%F\/4]C.O;X38$S(]:_`\DO:)N@$")590-
M%),A#H`1R\JJ^A0*>`(X&1[+#Q_-D/6[U=OEQ>K*Y$:C,[/,,@+6!ZUKH_WT
CH&5\;MX_%9_/)@_G1Y*K9*O;ZVF&+.:!B^0KCR?=#ZD$````
`
end
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-06-12 08:38:32+02:00, [EMAIL PROTECTED]
fix most stupid typo
diff -Nru a/drivers/usb/stv680.c b/drivers/usb/stv680.c
--- a/drivers/usb/stv680.c Wed Jun 12 08:39:53 2002
+++ b/drivers/usb/stv680.c Wed Jun 12 08:39:53 2002
@@ -1587,7 +1587,7 @@
usb_stv680_remove_disconnected (stv680);
} else {
stv680->removed = 1;
- for( i < 0; i < STV680_NUMSBUF; i++)
+ for( i = 0; i < STV680_NUMSBUF; i++)
usb_unlink_urb(stv680->urb[i]);
}
unlock_kernel ();
===================================================================
This BitKeeper patch contains the following changesets:
1.715
## Wrapped with gzip_uu ##
begin 664 bkpatch2348
M'XL(`+GL!CT``[64VVZ<,!"&K_%3C)2;5JN%&1MS:JG2)#VII]5NM[<5"R:@
M/7B%(4DE'KZ&5(D:;5<](B/+,V;\^Y]/G,#2J"9Q]*:^4@T[@=?:M':I=GJG
MW$IOU:;>=3>N;BYM<JZU37I#V+O]PENMIVVCE/&NN<_LEEG6YA78C$D<<L5=
MI/VZ5XDS?_%J^>[YG+$TA?,JVUVJA6HA3=EJ?5IT:N.N&YU5PVG]7;KGB(02
MB0L_0-YCB"3[("RRT!<82^D7I(C=ZCD]I/S'6AP#(DX^<NI][D<QNP!R0Y*`
MW,/`(PX8)<(./D&>(,*1TC`AF"([@[^_P#G+H:QO8&L[`*;M]G4QN*;96[`R
M8Y_-[BUCT]]\&,,,V3/8#\UXJ+1HAOL9KS,KS[17081N/HHFS@.*I)#84T@H
M^C+*"I65N0V&61SGQZSY:=FA`?85D:`>I8CDB,.AW0,9_UCQ44Z.*;;(B%C@
MJ-@?D1E`>4`,_2(Q]+^)&6W]"-/F>AP6@-E!A_\`I`N2,0*Q-]]GQREU\PAJ
M2`&?V.DI+#Y]ML6_?%B^7YPM7]K89/+X_M^05RI?FVZ;(JZ(EXCL&^^,!Z^%
#!```
`
end
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-06-12 20:07:13+02:00, [EMAIL PROTECTED]
further cleanup of disconnect()
diff -Nru a/drivers/usb/stv680.c b/drivers/usb/stv680.c
--- a/drivers/usb/stv680.c Wed Jun 12 20:07:48 2002
+++ b/drivers/usb/stv680.c Wed Jun 12 20:07:48 2002
@@ -1072,6 +1072,9 @@
errors++;
}
wait_event_interruptible (stv680->wq,
(stv680->scratch[stv680->scratch_use].state == BUFFER_READY));
+
+ if (stv680->removed)
+ return -ENODEV;
if (stv680->nullpackets > STV680_MAX_NULLPACKETS) {
stv680->nullpackets = 0;
@@ -1140,10 +1143,10 @@
for (i = 0; i < STV680_NUMFRAMES; i++)
stv680->frame[i].grabstate = FRAME_UNUSED;
- if (stv680->streaming)
+ if (stv680->streaming && !stv680->removed)
stv680_stop_stream (stv680);
- if ((i = stv_stop_video (stv680)) < 0)
+ if ((!stv680->removed) && (i = stv_stop_video (stv680)) < 0)
PDEBUG (1, "STV(e): stop_video failed in stv_close");
rvfree (stv680->fbuf, stv680->maxframesize * STV680_NUMFRAMES);
@@ -1589,6 +1592,7 @@
stv680->removed = 1;
for( i = 0; i < STV680_NUMSBUF; i++)
usb_unlink_urb(stv680->urb[i]);
+ wake_up_interruptible (&stv680->wq);
}
unlock_kernel ();
}
===================================================================
This BitKeeper patch contains the following changesets:
1.716
## Wrapped with gzip_uu ##
begin 664 bkpatch8765
M'XL(`/2-!ST``[U4;6O;,!#^;/V*&X424QS?27Y-E]*M"=O86$-']S7X16E,
M$BN3[:0#__C)R=K2M0NL&Q,2QG?W/'IT>M`17%=2#RRU+#92LR-XKZK:_,I2
ME;(_5RNY+,KFMJ_TC4E>*662;A=V]P@W73BUEK)RM]QCIF22U-D<3*8:6-07
M]Y'Z^UH.K*OQN^M/;ZX8&P[A8IZ4-_*+K&$X9.GB/&_DLK_0*IEWN[7WZ98C
M$OI(7'@!\A9#)+\-PCP)/8&Q[WLY26)[/>?/*7_,Q3$@LT0D>.MQ+_;8"*@?
M4@#(70Q<XL!Q@.&`Q`GR`2(<H(83`@?96_C[`URP#&:-KN=20[:42=FL0<T@
M+ZI,E:7,ZI[-/H)1',5L\M`]YOSA8`P39&>P[N[E5]&Y[HY:N4V5NE6]"2+L
M9SO]Q'E`D2]\;"DD%.TL2G*9S#(3#),XS@YUZ;>TN[N@"$,2+7FQP)TSGJON
M3/*/%1^TS$'%._=0B[Z(_)U[2+S,/`$X_#^:9]_B2W#T=C>-&2;/=OL%IOI`
M&'H@F&696<R@M^=RSK1<J8W,;1.VM*P;78(S_GPY&G\]92,B3P`9\/[["%B9
MAR59%>4-'!_#JR=T'3;XB0WNL+TG=1VX5\`03&):U6H]W12Y5'?;V#:\!K0-
MBQ]3QV)MDX6<-NMI4=92ZV9=%^E20N_XCGC[S3Y]>.FRN<P65;,:!BG-@C1,
*V0^^!(?-4P4`````
`
end
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-06-12 21:07:48+02:00, [EMAIL PROTECTED]
check for removed device in ioctl
diff -Nru a/drivers/usb/stv680.c b/drivers/usb/stv680.c
--- a/drivers/usb/stv680.c Wed Jun 12 21:08:31 2002
+++ b/drivers/usb/stv680.c Wed Jun 12 21:08:31 2002
@@ -1172,6 +1172,9 @@
if (!stv680->udev)
return -EIO;
+
+ if (stv680->removed)
+ return -ENODEV;
switch (cmd) {
case VIDIOCGCAP:{
===================================================================
This BitKeeper patch contains the following changesets:
1.717
## Wrapped with gzip_uu ##
begin 664 bkpatch9088
M'XL(`"^<!ST``[V46V^;0!"%G]E?,5)>6D7`S+*P0$64-K':JE5BN4K?,2P!
MV6:C!9Q4XL>72Y2HK6OUIB)>F+,<SLQ\X@1N&F5B2V^KO3+L!-[IIAT>5:UK
MY91ZI[95W3TXVMP.XDKK073'LCN_X:XW=FN4:MQ[+MAP9)FV60F#TL06.=Y3
MI?URIV)KM7A[\_'UBK$D@8LRK6_5)]5"DK#UYCSOU-;9&)V6X]?Z)[GGB(0^
M$O=$@+Q'B>3W@<Q3*3R,?%_DI(C-><X/)?_6BV-`G$*4Y/6"BS!BET".)`G(
M70Q<XL`I1AF+\!1YC`A'K.&4P$;V!OZ^@0N605:J;`.%-F#43N]5#KG:5YF"
MJH9*9^V6?0#!?>1L^3P_9O_FQ1BFR,[@;MS,][%S,S;;N%VS=IMV'X3H9%,'
MQ'E`H>_YV),D]/HB3'.5%ME0E&D49<?F]%/;>1L12B$'V\C'B8U#IT=,_G'B
MH]`<3SSS0R+R<.*'Q`_XR%_!Q_O?^,Q#O@;;W$_W@,/RX+S_`*OW1%*`QRR+
M654!+V8K^^PQS<M!,*KM3`WVXNKZ<O'YU?,O8\K>=+MD/6S)B[!@7P%"J/BG
$G`0`````
`
end
_______________________________________________________________
Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -
http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel