Hi,
the driver is registering the device too early, so that open may
see a partially initialised device.
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], 2003-07-16 20:54:53+02:00, [EMAIL PROTECTED]
- make sure only fully initialised devices are registered
dabusb.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff -Nru a/drivers/usb/media/dabusb.c b/drivers/usb/media/dabusb.c
--- a/drivers/usb/media/dabusb.c Wed Jul 16 20:55:43 2003
+++ b/drivers/usb/media/dabusb.c Wed Jul 16 20:55:43 2003
@@ -721,7 +721,7 @@
/* --------------------------------------------------------------------- */
-static int dabusb_probe (struct usb_interface *intf,
+static int dabusb_probe (struct usb_interface *intf,
const struct usb_device_id *id)
{
struct usb_device *usbdev = interface_to_usbdev(intf);
@@ -738,9 +738,7 @@
if (intf->altsetting->desc.bInterfaceNumber != _DABUSB_IF &&
usbdev->descriptor.idProduct == 0x9999)
return -ENODEV;
- retval = usb_register_dev(intf, &dabusb_class);
- if (retval)
- return -ENOMEM;
+
s = &dabusb[intf->minor];
@@ -766,8 +764,15 @@
}
}
dbg("bound to interface: %d", ifnum);
- up (&s->mutex);
usb_set_intfdata (intf, s);
+ up (&s->mutex);
+
+ retval = usb_register_dev(intf, &dabusb_class);
+ if (retval) {
+ usb_set_intfdata (intf, NULL);
+ return -ENOMEM;
+ }
+
return 0;
reject:
===================================================================
This BitKeeper patch contains the following changesets:
1.2139
## Wrapped with gzip_uu ##
begin 664 bkpatch30459
M'XL(`*^?%3\``\V4;6_3,!#'7\>?XJ1)4\=(8\?.(^HTV"I`[$F#O4.:W.32
M1DV:RG8&$^&[XS1CT\0V8+PABF+'=_>[\_DO;\&%1I4Z355>H2);\*[1)G7L
MO&YS7(U7V"[;>MRHN;6=-XVU>8NF1F\(\#XI1.TMUJV>^0&Q/F?29`NP)ITZ
M;,QO5\SU&E/G?/KVXNCU.2&3"1PLY&J.']'`9$)FR_V\Q6J\5(U<].FZ6W/G
M4\H8\P/[EMAIL PROTECTED])<4L3,A0T/X#E=]'<1JQD,5<^%&/"@4Y
M!#;V&4^`<H]&'@[EMAIL PROTECTED]'PRX#EY(W\._U'Y`,7*CE$D&W"J%9
M5==0M)7]EJO2E+(J->:0XU69H09I713.2VU084X^@)^$`25G=VTE[E\^A%!)
MR=X#>\E5WP#MV5/V<CFSPSB[VY:@"0L[&O)8=%D<%J+`(BFDS)G(GNC=/6J-
M>2GOL6_.*1`![0*1^'PCFL=C'E;1\RLG<]O>_8&4-?5OJPTM*^(1B[J`)33:
MJ$KXOVB*_HFF*+C!?R&JH?&GX*HOF]>*Y.R),WB&Y`XC7P`C[X=!&VG*S-9F
M8&!>KE4S0QAIH]K,0+]BC:@*F2&\L-/BI44(!MPB!+>(S_8_3#;(B$),G'8-
MHVWM[M6MP:\[KZR#H]!<R0HF&][/#5_:+HPV1-B^29Y54FL;XI0%C(:@'?A&
M'*<W:C1]+44NC82;P).+HZ/>O\_0JA6XTY/3X^FQ7?EN\]Y>AMD"LZ5NZTF"
[EMAIL PROTECTED],?KM>[EMAIL PROTECTED]
`
end
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel