瀏覽代碼

drm/omap: reorganize locking in mgr_fld_write

Fix sparse warning:

drivers/gpu/drm/omapdrm/dss/dispc.c:387:9: warning: context imbalance in 'mgr_fld_write' - different lock contexts for basic block

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen 7 年之前
父節點
當前提交
fe6b503910
共有 1 個文件被更改,包括 5 次插入5 次删除
  1. 5 5
      drivers/gpu/drm/omapdrm/dss/dispc.c

+ 5 - 5
drivers/gpu/drm/omapdrm/dss/dispc.c

@@ -396,13 +396,13 @@ static void mgr_fld_write(struct dispc_device *dispc, enum omap_channel channel,
 	const bool need_lock = rfld.reg == DISPC_CONTROL || rfld.reg == DISPC_CONFIG;
 	unsigned long flags;
 
-	if (need_lock)
+	if (need_lock) {
 		spin_lock_irqsave(&dispc->control_lock, flags);
-
-	REG_FLD_MOD(dispc, rfld.reg, val, rfld.high, rfld.low);
-
-	if (need_lock)
+		REG_FLD_MOD(dispc, rfld.reg, val, rfld.high, rfld.low);
 		spin_unlock_irqrestore(&dispc->control_lock, flags);
+	} else {
+		REG_FLD_MOD(dispc, rfld.reg, val, rfld.high, rfld.low);
+	}
 }
 
 static int dispc_get_num_ovls(struct dispc_device *dispc)