Technically it worked as it was before, only because it was using the
_safe version of the iterator. But it is sloppy practice to leave
dangling pointers.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/507017/
Link: https://lore.kernel.org/r/20221013225520.371226-4-robdclark@gmail.com
if (a6xx_state->gmu_debug)
kvfree(a6xx_state->gmu_debug->data);
- list_for_each_entry_safe(obj, tmp, &a6xx_state->objs, node)
+ list_for_each_entry_safe(obj, tmp, &a6xx_state->objs, node) {
+ list_del(&obj->node);
kvfree(obj);
+ }
adreno_gpu_state_destroy(state);
kfree(a6xx_state);