Leonardo USB -- device not accepting address, unable to enumerate.

I've found that changing USB ports works for a while. Eventually the new port will do the same thing. Moving back doesn't work, it's like the USB port gets stuck. Only solution I've found (on Fedora Linux) is to reboot.