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