On Mon, May 13, 2002, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>     > The next step is making this device actually do something.
>     
>     Well, if you need to talk to that endpoint, then you'll need to kludge
>     it by hacking the core to ignore the wMaxPacketSize value and hardcoding
>     it to another value.
> 
> It is not wMaxPacketSize that is zero, it is dev->epmaxpacketin/out
> that is zero. So, the bug is perhaps more in kernel code than in
> the device. Must read some more code to see who is responsible
> for setting dev->epmaxpacketin/out.
> 
> T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
> D:  Ver= 1.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
> P:  Vendor=07cc ProdID=0003 Rev= 0.00
> C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
> I:  If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=usb-storage
> I:  If#= 0 Alt= 1 #EPs=13 Cls=ff(vend.) Sub=ff Prot=ff Driver=usb-storage
> E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=10ms
> E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=84(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=86(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=06(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=88(I) Atr=01(Isoc) MxPS=  16 Ivl=1ms
> E:  Ad=08(O) Atr=01(Isoc) MxPS=  16 Ivl=1ms
> E:  Ad=89(I) Atr=01(Isoc) MxPS=  16 Ivl=1ms
> E:  Ad=09(O) Atr=01(Isoc) MxPS=  16 Ivl=1ms
> E:  Ad=8a(I) Atr=01(Isoc) MxPS=  16 Ivl=1ms
> E:  Ad=0a(O) Atr=01(Isoc) MxPS=  16 Ivl=1ms
> I:  If#= 0 Alt= 2 #EPs=13 Cls=ff(vend.) Sub=ff Prot=ff Driver=usb-storage
> E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=10ms
> E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=84(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=86(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=06(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=88(I) Atr=01(Isoc) MxPS= 256 Ivl=1ms
> E:  Ad=08(O) Atr=01(Isoc) MxPS= 256 Ivl=1ms
> E:  Ad=89(I) Atr=01(Isoc) MxPS=  16 Ivl=1ms
> E:  Ad=09(O) Atr=01(Isoc) MxPS=  16 Ivl=1ms
> E:  Ad=8a(I) Atr=01(Isoc) MxPS=  16 Ivl=1ms
> E:  Ad=0a(O) Atr=01(Isoc) MxPS=  16 Ivl=1ms

Are you using an invalid endpoint? You're right, MxPS is not zero in
any of those, but since it parsed alright, there's no reason why
dev->exmaxpacketin/out should be 0.

If you're trying to use an endpoint that's not in the list of
descriptors, I can imagine that it'll have a 0 endpoint size.

>     > Also, your patch on 2.5 would cause urbs to leak if that if () call was
>     > ever true.
> 
>     How so?
> 
> You made the return follow
> 
>         /* increment the reference count of the urb */
>         urb = usb_get_urb(urb);
> 
> without decrementing.

The patch won't even apply to 2.5 because of that change.

Hmm, I wonder what else has changed in the 2.5 version.

JE


_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to