OSDN Git Service

drm/i915: Initialise entry in intel_ppat_get() for older compilers
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 15 Nov 2017 13:17:05 +0000 (13:17 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 15 Nov 2017 17:12:49 +0000 (17:12 +0000)
gcc-4.7.3 is confused by the guards inside intel_ppat_get() and reports:

drivers/gpu/drm/i915/i915_gem_gtt.c: In function ‘intel_ppat_get’:
drivers/gpu/drm/i915/i915_gem_gtt.c:3044:27: warning: ‘entry’ may be used uninitialized in this function [-Wmaybe-uninitialized]

Forgive the compiler this once, and rearrange the code so that entry is
always initialised.

v2: Flavour with a bit of NULL (instead of ERR_PTR(-ENOSPC))

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Zhi Wang <zhi.a.wang@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171115131705.16341-1-chris@chris-wilson.co.uk
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
drivers/gpu/drm/i915/i915_gem_gtt.c

index 3c3a699..f92a39f 100644 (file)
@@ -3076,7 +3076,7 @@ const struct intel_ppat_entry *
 intel_ppat_get(struct drm_i915_private *i915, u8 value)
 {
        struct intel_ppat *ppat = &i915->ppat;
-       struct intel_ppat_entry *entry;
+       struct intel_ppat_entry *entry = NULL;
        unsigned int scanned, best_score;
        int i;
 
@@ -3099,7 +3099,7 @@ intel_ppat_get(struct drm_i915_private *i915, u8 value)
        }
 
        if (scanned == ppat->max_entries) {
-               if (!best_score)
+               if (!entry)
                        return ERR_PTR(-ENOSPC);
 
                kref_get(&entry->ref);