A quick update - it turned out to be a combination of just about everyone's
ideas.
I was running multiple URBs at the same time, in the same URB memory. Bad. For
now, I am just dropping the extra interrrupts. I will probably end up going to
a one-shot interrupt, and switching between interrupt mode and pure bulk mode
(as suggested for 2.5 interrupt handling in networks).
I have also fixed the alignment problem, using some code I lifted from
Petkan's code.
I commented out the spinlocks for now. They were the next problem after I
fixed the multiple URB problem. I have yet to debug this properly.
Now I can ping the interface from another machine (and get responses - about
1% packet loss on a very lightly loaded ethernet). I can't ping out, nor can I
"ifconfig ethX down" (unless I want it to hang), but a definate improvement :)
Thanks to all those who helped me. Truly appreciated.
Brad
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel