From: Jayachandran C. Fix an issue reported in drivers/char/drm/via_irq.c by Coverity. Error reported: CID: 3444 Checker: REVERSE_INULL (help) File: /export2/p4-coverity/mc2/linux26/drivers/char/drm/via_irq.c Function: via_driver_irq_wait Description: Pointer "dev_priv" dereferenced before NULL check Move de-referencing dev_priv to after the NULL check. Signed-off-by: Jayachandran C. Cc: Dave Airlie Signed-off-by: Andrew Morton --- drivers/char/drm/via_irq.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -puN drivers/char/drm/via_irq.c~drm-fix-issue-reported-by-coverity-in-drivers-char-drm-via_irqc drivers/char/drm/via_irq.c --- 25/drivers/char/drm/via_irq.c~drm-fix-issue-reported-by-coverity-in-drivers-char-drm-via_irqc Mon Apr 3 16:45:41 2006 +++ 25-akpm/drivers/char/drm/via_irq.c Mon Apr 3 16:45:41 2006 @@ -198,7 +198,7 @@ via_driver_irq_wait(drm_device_t * dev, unsigned int cur_irq_sequence; drm_via_irq_t *cur_irq = dev_priv->via_irqs; int ret = 0; - maskarray_t *masks = dev_priv->irq_masks; + maskarray_t *masks; int real_irq; DRM_DEBUG("%s\n", __FUNCTION__); @@ -222,6 +222,7 @@ via_driver_irq_wait(drm_device_t * dev, return DRM_ERR(EINVAL); } + masks = dev_priv->irq_masks; cur_irq += real_irq; if (masks[real_irq][2] && !force_sequence) { _