mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-07-14 21:43:02 +02:00
wifi: wl1251: fix memory leak in wl1251_tx_work
[ Upstream commita0f0dc96de] The skb dequeued from tx_queue is lost when wl1251_ps_elp_wakeup fails with a -ETIMEDOUT error. Fix that by queueing the skb back to tx_queue. Fixes:c5483b7193("wl12xx: check if elp wakeup failed") Signed-off-by: Abdun Nihaal <abdun.nihaal@gmail.com> Reviewed-by: Michael Nemanov <michael.nemanov@ti.com> Link: https://patch.msgid.link/20250330104532.44935-1-abdun.nihaal@gmail.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
5f6863dc40
commit
8fd4b9551a
@@ -342,8 +342,10 @@ void wl1251_tx_work(struct work_struct *work)
|
||||
while ((skb = skb_dequeue(&wl->tx_queue))) {
|
||||
if (!woken_up) {
|
||||
ret = wl1251_ps_elp_wakeup(wl);
|
||||
if (ret < 0)
|
||||
if (ret < 0) {
|
||||
skb_queue_head(&wl->tx_queue, skb);
|
||||
goto out;
|
||||
}
|
||||
woken_up = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user