So the only thing we need is to fix the braindamaged firmware
interfaces. We need caching, and we need to replace (or at least
extend) "load_firware()" with "[get|put]_firmware()".
So at what moment after a resume does a firmware that was in use with a
device go away and what do we do about devices inserted while suspended ?
Remembering that
- there is no moment when USB says 'we have finished re-enumeration'.
There is no point at which you can say 'we have finished
re-enumeration, we are now starting on enumeration of new stuff'. New
stuff wanting firmware will pop up on resume mixed in with old stuff.
- we don't seem to have any device or bus infrastructure for doing a
'post resume' purge of such data if we could decide when that moment
is ?
Alan