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

Reply via email to