Fix no-return warning

In theory the usb_pump_events function
never leaves the loop. Yet clang complained
that this function did not provide a return
value. This function must match the thread
function params thus it has a return type
despite having no semantic need.

So we return NULL should our infinite loop
ever end.