diff options
| author | Chris Rankin <[email protected]> | 2011-09-24 11:02:32 -0300 |
|---|---|---|
| committer | Mauro Carvalho Chehab <[email protected]> | 2011-09-24 12:12:48 -0300 |
| commit | d7222e7d6fb06ca3e7aa7a1ab07f8e6c6adb1d22 (patch) | |
| tree | 733646ed67e9d39e4cdec59f4ed1ee08d46fc63a /tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/SchedGui.py | |
| parent | bd829e9d1d7de3178d67d94043f43527213a63a0 (diff) | |
[media] em28xx: fix race on disconnect
This patch closes the race on the device and extension lists at USB disconnect
time. Previously, the device was removed from the device list during
em28xx_release_resources(), and then passed to the em28xx_close_extension()
function so that all extensions could run their fini() operations. However, this
left a (brief, theoretical, highly unlikely ;-)) window between these two calls
during which a new module could call em28xx_register_extension(). The result
would have been that the em28xx_usb_disconnect() function would also have passed
the device to the new extension's fini() function, despite never having called
the extension's init() function.
This patch also restores em28xx_close_extension()'s symmetry with
em28xx_init_extension(), and establishes the property that every device in the
device list must have been initialised for every extension in the extension list.
Signed-off-by: Chris Rankin <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/SchedGui.py')
0 files changed, 0 insertions, 0 deletions