diff options
| author | Bernie Thompson <bernie@plugable.com> | 2012-03-01 20:35:48 -0500 |
|---|---|---|
| committer | Bernie Thompson <bernie@plugable.com> | 2012-03-01 20:46:27 -0500 |
| commit | 8d21547d3c9c3bc653261f26d554cfabc4a083de (patch) | |
| tree | 3b7751c777f42aab86c4433736b30234eb72cda0 /include/video | |
| parent | 9daee73c81d21f9f07f236f106da5d93c40f7a92 (diff) | |
udlfb: fix hcd_buffer_free panic on unplug/replug
Fix race conditions with unplug/replug behavior, in particular
take care not to hold up USB probe/disconnect for long-running
framebuffer operations and rely on usb to handle teardown.
Fix for kernel panic reported with new F17 multiseat support.
Reported-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Bernie Thompson <bernie@plugable.com>
Diffstat (limited to 'include/video')
| -rw-r--r-- | include/video/udlfb.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/video/udlfb.h b/include/video/udlfb.h index c41f308c9636..f9466fa54ba4 100644 --- a/include/video/udlfb.h +++ b/include/video/udlfb.h | |||
| @@ -41,6 +41,7 @@ struct dlfb_data { | |||
| 41 | char *backing_buffer; | 41 | char *backing_buffer; |
| 42 | int fb_count; | 42 | int fb_count; |
| 43 | bool virtualized; /* true when physical usb device not present */ | 43 | bool virtualized; /* true when physical usb device not present */ |
| 44 | struct delayed_work init_framebuffer_work; | ||
| 44 | struct delayed_work free_framebuffer_work; | 45 | struct delayed_work free_framebuffer_work; |
| 45 | atomic_t usb_active; /* 0 = update virtual buffer, but no usb traffic */ | 46 | atomic_t usb_active; /* 0 = update virtual buffer, but no usb traffic */ |
| 46 | atomic_t lost_pixels; /* 1 = a render op failed. Need screen refresh */ | 47 | atomic_t lost_pixels; /* 1 = a render op failed. Need screen refresh */ |
