fix for MIPS architecture

replaced all usb data parameters with kmalloc'ed memory

on certain MIPS architectures supplying stack memory as data argument to the usb functions is prohibited (the kernel needs this memory to be aligned correctly) otherwise a "kernel oops" happens and the system gets more or less unstable.

This fixes this issue. Tested it on a small embedded device (MIPS) and my laptop (x86).