Driver fix attempt #1

*sigh*... here we go again.
So, we can't clean the urb in the urb callback. That's a no no.
So, I would think we just kill the urb, free the buffer, free the urb.
I implemented this in a generic way so I can't fuck it up.

Alas, I doubt this bandaid will hold up... I might have to look
into other side effects caused by soft_unbind...