Hello Olav, thank you for your support. I've applied your patch (with some minor changes to make it compile). I've also placed the "early out" code into the packet trace functions. The bad think was that I can't even detect the device in question when packet tracing is enabled...... I than made some other tests with a hub connected and various other USB devices (memory, wlan, BT). The good news: everything worked fine but the ACM device I need to connect. I also figured out that the ACM device suffers from detection problems when you with a normal PC. So my current opinion is that there may is something wrong with the ACM device (which is a prototype also, but not under our control).
I will get back to you as soon as I got some usable debug output with packet trace. Thank you for your time and best regards, Peter On Tue, 14 Feb 2006, Olav Kongas wrote: > > > On Mon, 13 Feb 2006, Peter Wippich wrote: > > thank you for your response. Trying to actualy run the driver with > > PTD_TRACE enabled is not realy possible. As soon as I open my device I get > > flooded with repeated messages: > > > > [ 122.480000] td: f 8i2 0,64,64 0 101 > > ..................... > > You can cut the amount of log very much down by adding to > the beginning of dump_ptd() in isp116x.h the following > check: > > if (PTD_GET_CC(ptd) == 0xf) > return; > > > > > I will try to set up some other debugging environment on Wendesday (I'm > > out off office tomorrow) and than get back to you. > > I thought a little bit more about it. It would be good to > print out some more info right before the BUG() is hit. > Could you please apply the patch below (I didn't test it, > hopefully it is clean). > > Olav > > PS! I am wondering whether the driver in newer kernels might > work better. > > > --- linux-2.6.14-or/drivers/usb/host/isp116x-hcd.c.or 2006-02-14 > 10:09:23.000000000 +0200 > +++ linux-2.6.14-or/drivers/usb/host/isp116x-hcd.c 2006-02-14 > 10:41:56.000000000 +0200 > @@ -532,11 +532,13 @@ static void start_atl_transfers(struct i > } else if (ep->nextpid == USB_PID_ACK) { > len = 0; > } else { > + int len1, len2, len3 = -77777, len4 = -77777; > + > /* Find current free length ... */ > - len = (MAX_LOAD_LIMIT - load) / byte_time; > + len1 = len = (MAX_LOAD_LIMIT - load) / byte_time; > > /* ... then limit it to configured max size ... */ > - len = min(len, speed == USB_SPEED_LOW ? > + len2 = len = min(len, speed == USB_SPEED_LOW ? > MAX_TRANSFER_SIZE_LOWSPEED : > MAX_TRANSFER_SIZE_FULLSPEED); > > @@ -546,11 +548,25 @@ static void start_atl_transfers(struct i > (urb->transfer_buffer_length - > urb->actual_length)) { > len -= len % ep->maxpacket; > + len3 = len; > if (!len) > continue; > } else > - len = urb->transfer_buffer_length - > + len4 = len = urb->transfer_buffer_length - > urb->actual_length; > + if (len < 0) > + printk("-- len: %d %d %d %d\n" > + "load %d byte_time %d speed %d\n" > + "transfer_buffer_length %d " > + "actual_length %d\n" > + "ep: %d %d %d %d %d\n" > + len1, len2, len3, len4, > + (int)load, byte_time, speed, > + urb->transfer_buffer_length, > + urb->actual_length, > + (int)ep->maxpacket, (int)ep->epnum, > + (int)ep->nextpid, (int)ep->error_count, > + (int)ep->length); > BUG_ON(len < 0); > } > > | Peter Wippich Voice: +49 30 46776411 | | G&W Instruments GmbH fax: +49 30 46776419 | | Gustav-Meyer-Allee 25, Geb. 12 Email: [EMAIL PROTECTED] | | D-13355 Berlin / Germany | ------------------------------------------------------- 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-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel