On Sun, 14 Dec 2003, Josep Comas wrote:
> Hello,
>
> Alan and Duncan, thanks for your comments.
>
> Read this interesting test about it:
> https://sourceforge.net/forum/forum.php?thread_id=987860&forum_id=287227
>
> Regards,
> Josep
It looks like the macro version of usb_settoggle() is correct. We see
printk(KERN_WARNING "Mio: %x %x {%x} %x {%x}\n"
,ep
, (ps->dev)->toggle[!(ep & USB_DIR_IN)]
,((ps->dev)->toggle[!(ep & USB_DIR_IN)] & ~( 1 << ep & 0xf )) | ((0) << ep & 0xf)
,((ps->dev)->toggle[!(ep & USB_DIR_IN)] & ~( 1 << ( ep & 0xf ) )) | ((0) << ep &
0xf)
,((ps->dev)->toggle[!(ep & USB_DIR_IN)] & ~((1 << ep )& 0xf )) | ((0) << ep &
0xf)
);
And the output in amload:
Mio: 5 0 {0} 0 {0}
Mio: 85 0 {0} 0 {0}
Mio: 5 20 {20} 0 {20} <====== Differents result as macro and as function.
usb_resetep(adsl_handle, USB_OUT_FIRM );
Mio: 85 0 {0} 0 {0}
In "Mio: 5 20 {20} 0 {20}", the 0 value is what the result should be, and
that's what you would get using the macro.
So the real problem was the call of
clear_endpoints (ads_handle, 1 );
in amload.c; probably it doesn't belong there at all. Is that your
conclusion?
Alan Stern
-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel