drm/radeon/kms: small memory leak in atom exit code
This is an unlikely memory leak, but we may as well fix it. It's easy to fix and every static checker will complain if we don't. Signed-off-by: Dan Carpenter <error27@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
ba1163de2f
commit
01a356fd2a
|
@ -1136,6 +1136,7 @@ static int atom_execute_table_locked(struct atom_context *ctx, int index, uint32
|
|||
int len, ws, ps, ptr;
|
||||
unsigned char op;
|
||||
atom_exec_context ectx;
|
||||
int ret = 0;
|
||||
|
||||
if (!base)
|
||||
return -EINVAL;
|
||||
|
@ -1168,7 +1169,8 @@ static int atom_execute_table_locked(struct atom_context *ctx, int index, uint32
|
|||
if (ectx.abort) {
|
||||
DRM_ERROR("atombios stuck executing %04X (len %d, WS %d, PS %d) @ 0x%04X\n",
|
||||
base, len, ws, ps, ptr - 1);
|
||||
return -EINVAL;
|
||||
ret = -EINVAL;
|
||||
goto free;
|
||||
}
|
||||
|
||||
if (op < ATOM_OP_CNT && op > 0)
|
||||
|
@ -1183,9 +1185,10 @@ static int atom_execute_table_locked(struct atom_context *ctx, int index, uint32
|
|||
debug_depth--;
|
||||
SDEBUG("<<\n");
|
||||
|
||||
free:
|
||||
if (ws)
|
||||
kfree(ectx.ws);
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int atom_execute_table(struct atom_context *ctx, int index, uint32_t * params)
|
||||
|
|
Loading…
Reference in New Issue