On Mon, 23 Jan 2006, Arsene Hanssens wrote: > Hi, > > I don't know who I'm supposed to contact but I think I found a problem > somewhere in the kernel 2.4.31. > Let me explain why. I was writing a USB 2.0 driver for a asynchronous > scanner, i.e, paper can be fed through the scanner at any time (similar to > a lottery scanner or ATM). This scanner, developed by PDI, has three bulk > endpoints and no interrupt endpoint. One endpoint is for sending commands, > such as DPI, color, .... One other endpoint is used to retrieve the image > data as soon is the image is fed through the scanner while the other > endpoint while the other endpoint is used by the scanner to send any other > significant data. The scanner driver I developed was initially developed on > the kernel 2.6.11 and everything functioned properly. However, when one of > the company's customer indicated that they need this driver to work on > Slackware 10.2 with kernel 2.4.31, I had to port this driver for that > kernel. The driver is ported and works properly in normal circumstances. > However, when I remove the USB cable from the scanner, it is impossible to > reconnect to that scanner until the next reboot. Naturally, I thought that > I had a bug in the driver and I started investigating. I found that kernel > was looping forever in the following module: > > static void ehci_free_config (struct usb_hcd *hcd, struct usb_device > *udev) > and more specifically in > > > f (qh->qh_state == QH_STATE_LINKED) > art_unlink_async (ehci, qh); > while (qh->qh_state != QH_STATE_IDLE > && ehci->hcd.state != USB_STATE_HALT) { > spin_unlock_irqrestore (&ehci->lock, flags); > wait_ms (1); > spin_lock_irqsave (&ehci->lock, flags); > } > > qh->qh_state value remains at the value 2 and > ehci->hcd.state remains at the value 1 > > and that is why I can never reconnect to my driver when I reconnect the USB > cable.
If you think there's a problem in the EHCI driver, the person to contact is the maintainer for that driver. > I hope that you are the correct person to report this problem because > I'm > at a total loss on how to proceed next. Who do you hope is the correct person? You emailed your message to linux-usb-users. That's not a person at all, it's a mailing list. > I know PDI wants this driver to > work for this kernel since their customer had some special drivers > developed for this kernel and they cannot (or will not) upgrade to the 2.6 > kernel > > If you are not the person I need to report this problem to, can you > tell > where I have to report this anomaly. There was a patch for the 2.6 version of ehci-hcd posted recently, and it looks like it might be relevant to the problem you're encountering. I don't know if it will apply directly to the 2.4.31 version of the driver, but you can try it: http://marc.theaimsgroup.com/?l=linux-usb-devel&m=113780678524619&w=2 Alan Stern ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users