raspberrypi/linux — pull request #352 by P33M (2013-08-05 14:19:07+00:00)
Title: dwc_otg: root port and FIQ bugfixes

Predominantly on the model A, if devices were unplugged with USB activity then an OOPS would usually ensue as the driver would try to either
a) queue transfers using QHs that were no longer there
b) complete transfers using QTDs that were no longer there

In addition, there would be state leakage with the microframe scheduler and fiq_split saved registers leading to unresponsive USB after successive unplugs.

Root port unplugs should be much more reliable as a result. It is still possible to get corner cases relating to the FIQ triggering at just the wrong moment on IRQ entry (before we disable it) but these are quite rare.

Also add enforcing module parameters - it was possible to set fiq_split_enable and not fiq_fix_enable.