drm/i915: initialize the parity work only once
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 31 May 2012 12:57:42 +0000 (14:57 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 1 Jun 2012 08:00:47 +0000 (10:00 +0200)
commit98fd81cd64674545a30a4f95388f086a626d37d2
tree24307a4cbc9ab6763d4383e3802df4143f89fac5
parentd2ba8470ccfc90e0966c802632f8bb552f11143a
drm/i915: initialize the parity work only once

This fixes an (albeit really hard to hit) race resulting in an oops:
- The parity work get scheduled.
- We re-init the irq state and call INIT_WORK again.
- The workqueue code tries to run the work item and stumbles over a
  work item that should be on it's runlist.

Also initiliaze the work item unconditionally like all the others,
it's simpler.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_irq.c