I am using Fedora Core 4 x86_64 and a 2.6.13-based kernel (Fedora development version 2.6.13-1.1570_FC5). I am working with the spca5xx driver from http://mxhaard.free.fr/ to try and get my Logitech QuickCam Chat camera to work. However I'm running into trouble because the driver seems to be requesting an amount of isochronous bandwidth that can't be satisfied.

While debugging this I noticed a "leak ed" error from ohci_hcd that Alan Stern thought I should mention here as a possible bug in the OHCI code:

/home/rob/spca5xx-20050906/drivers/usb/spca5xx.c: USB SPCA5XX camera found.Logitech QuickCam chat (SPCA561A) /home/rob/spca5xx-20050906/drivers/usb/spca5xx.c: [spca5xx_probe:8810] Camera type GBRG /home/rob/spca5xx-20050906/drivers/usb/spca5xx.c: [spca5xx_getcapability:2555] maxw 352 maxh 288 minw 160 minh 120
usbcore: registered new driver spca5xx
/home/rob/spca5xx-20050906/drivers/usb/spca5xx.c: spca5xx driver 00.57.02 registered /home/rob/spca5xx-20050906/drivers/usb/spca561.h: [spca561_init:465] Find spca561 USB Product ID 92c /home/rob/spca5xx-20050906/drivers/usb/spca5xx.c: init isoc: usb_submit_urb(0) ret -28 /home/rob/spca5xx-20050906/drivers/usb/spca5xx.c: [spca5xx_open:4619] DEALLOC error on init_Isoc

/home/rob/spca5xx-20050906/drivers/usb/spca561.h: [spca561_init:465] Find spca561 USB Product ID 92c
ohci_hcd 0000:00:02.0: leak ed ffff81007cdc72d0 (#81) state 2
/home/rob/spca5xx-20050906/drivers/usb/spca5xx.c: init isoc: usb_submit_urb(0) ret -28 /home/rob/spca5xx-20050906/drivers/usb/spca5xx.c: [spca5xx_open:4619] DEALLOC error on init_Isoc

The "leak ed" error comes up on the second and subsequent attempts to open the device when the usb_submit_urb fails with ENOSPC. It sounds from the code like the memory for the endpoint descriptor is getting leaked when this happens.

Also, when trying to figure out why the driver couldn't get the bandwidth it wanted, I ended up changing these ohci_vdbg calls into regular ohci_dbg so that I could see what was going on without being spammed by a bunch of other debug from enabling OHCI_VERBOSE_DEBUG:

ohci_vdbg (ohci, "link %sed %p branch %d [%dus.], interval %d\n",
        (ed->hwINFO & cpu_to_hc32 (ohci, ED_ISO)) ? "iso " : "",
        ed, ed->branch, ed->load, ed->interval);

ohci_vdbg (ohci, "unlink %sed %p branch %d [%dus.], interval %d\n",
        (ed->hwINFO & cpu_to_hc32 (ohci, ED_ISO)) ? "iso " : "",
        ed, ed->branch, ed->load, ed->interval);

Is there a reason why these aren't regular ohci_dbg calls? They don't seem that noisy and it would allow one to see these with just CONFIG_USB_DEBUG which does not require hacking the code.


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to