diff --git a/drivers/soc/qcom/rpm-smd.c b/drivers/soc/qcom/rpm-smd.c index 193dfee8d1ea..9eef7bd06676 100644 --- a/drivers/soc/qcom/rpm-smd.c +++ b/drivers/soc/qcom/rpm-smd.c @@ -915,8 +915,10 @@ static void msm_rpm_process_ack(uint32_t msg_id, int errno) elem->errno = errno; elem->ack_recd = true; complete(&elem->ack); - if (elem->delete_on_ack) + if (elem->delete_on_ack) { list_del(&elem->list); + kfree(elem); + } break; } elem = NULL;