summaryrefslogtreecommitdiffstats
path: root/include/video/udlfb.h
diff options
context:
space:
mode:
authorBernie Thompson <bernie@plugable.com>2012-03-01 17:35:48 -0800
committerBernie Thompson <bernie@plugable.com>2012-03-01 17:46:27 -0800
commit8d21547d3c9c3bc653261f26d554cfabc4a083de (patch)
tree3b7751c777f42aab86c4433736b30234eb72cda0 /include/video/udlfb.h
parent9daee73c81d21f9f07f236f106da5d93c40f7a92 (diff)
downloadop-kernel-dev-8d21547d3c9c3bc653261f26d554cfabc4a083de.zip
op-kernel-dev-8d21547d3c9c3bc653261f26d554cfabc4a083de.tar.gz
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/udlfb.h')
-rw-r--r--include/video/udlfb.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/video/udlfb.h b/include/video/udlfb.h
index c41f308..f9466fa 100644
--- a/include/video/udlfb.h
+++ b/include/video/udlfb.h
@@ -41,6 +41,7 @@ struct dlfb_data {
char *backing_buffer;
int fb_count;
bool virtualized; /* true when physical usb device not present */
+ struct delayed_work init_framebuffer_work;
struct delayed_work free_framebuffer_work;
atomic_t usb_active; /* 0 = update virtual buffer, but no usb traffic */
atomic_t lost_pixels; /* 1 = a render op failed. Need screen refresh */
OpenPOWER on IntegriCloud