If the USB controller firmware is stored externally then just replacing the USB controller would presumably be sufficient (presuming, that is, that the USB controller is faulty in the first place. It's not at all clear that this is the case).
That said, the symptoms you had don't sound like a problem with the internals of the controller, which I would expect would always yield a hard and consistent failure irrespective of the firmware, but rather like a faulty connection somewhere. So the first order of business is probably to test the connections from the USB connector all the way to the controller. And again, note that the service manual claims that the USB subsystem runs off of a separate voltage regulator, so you certainly should test that as well. If you've got a microscope, it probably wouldn't be a bad idea to pull the board with the USB controller out of the scope and examine it thoroughly under the microscope to see if there's any damage. It would also be a good opportunity to get some DeOxit and clean the connectors to the board, most especially the one through which the USB signals pass.
If you detect any dodgy-looking solder connections, then you'd obviously want to re-flow them.