Re: [PATCH v1 1/2] drm/i915: Contain the WA_REG macro

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/08/15 15:44, Arun Siluvery wrote:
From: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>

Prevent leaking the if scoping by containing the WA_REG
macro inside its own scope.

Reported-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx>
Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
---
  drivers/gpu/drm/i915/intel_ringbuffer.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 1c14233..cf61262 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -780,11 +780,11 @@ static int wa_add(struct drm_i915_private *dev_priv,
  	return 0;
  }

-#define WA_REG(addr, mask, val) { \
+#define WA_REG(addr, mask, val) do { \
  		const int r = wa_add(dev_priv, (addr), (mask), (val)); \
  		if (r) \
  			return r; \
-	}
+	} while(0)

  #define WA_SET_BIT_MASKED(addr, mask) \
  	WA_REG(addr, (mask), _MASKED_BIT_ENABLE(mask))

On the one hand, yes, this definitely needs the do-while wrapper.

OTOH, hiding a conditional 'return' inside a macro is an abomination :( At least it's only local to this file ...

So, on the grounds that this makes it more correct if no less ugly:

Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx>

.Dave.

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux