diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index 26a6a4d0d07..d172e987313 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -444,13 +444,16 @@ static bool intel_sdvo_write_cmd(struct intel_sdvo *intel_sdvo, u8 cmd,  	struct i2c_msg *msgs;  	int i, ret = true; +        /* Would be simpler to allocate both in one go ? */          	buf = (u8 *)kzalloc(args_len * 2 + 2, GFP_KERNEL);  	if (!buf)  		return false;  	msgs = kcalloc(args_len + 3, sizeof(*msgs), GFP_KERNEL); -	if (!msgs) +	if (!msgs) { +	        kfree(buf);  		return false; +        }  	intel_sdvo_debug_write(intel_sdvo, cmd, args, args_len);  |