Replaced calls to kmalloc followed by memcpy with a single call to kmemdup. Also removed a now redundant if statement.
Signed-off-by: Alexandru Gheorghiu gheorghiuandru@gmail.com --- drivers/gpu/drm/i915/intel_dp.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index f61cb79..3cf8aed 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -2335,11 +2335,8 @@ intel_dp_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter) return NULL;
size = (intel_connector->edid->extensions + 1) * EDID_LENGTH; - edid = kmalloc(size, GFP_KERNEL); - if (!edid) - return NULL; + edid = kmemdup(intel_connector->edid, size, GFP_KERNEL);
- memcpy(edid, intel_connector->edid, size); return edid; }
On Mon, 2013-03-11 at 22:39 +0200, Alexandru Gheorghiu wrote:
Replaced calls to kmalloc followed by memcpy with a single call to kmemdup. Also removed a now redundant if statement.
[]
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
[]
@@ -2335,11 +2335,8 @@ intel_dp_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter) return NULL;
size = (intel_connector->edid->extensions + 1) * EDID_LENGTH;
edid = kmalloc(size, GFP_KERNEL);
if (!edid)
return NULL;
edid = kmemdup(intel_connector->edid, size, GFP_KERNEL);
return edid; }memcpy(edid, intel_connector->edid, size);
Might as well get rid of the stack variable edid altogether. Maybe get rid of size too and use:
if (intel_connector->edid) { /* invalid edid */ if (IS_ERR(intel_connector->edid)) return NULL;
return kmemdup(intel_connector->edid, (intel_connector->edid->extensions + 1) * EDID_LENGTH, GFP_KERNEL); }
dri-devel@lists.freedesktop.org