Commit 53df5271 authored by Dinghao Liu's avatar Dinghao Liu Committed by Kalle Valo
Browse files

wlcore: fix runtime pm imbalance in __wl1271_op_remove_interface



When wl12xx_cmd_role_disable() returns an error code,
a pairing runtime PM usage counter decrement is needed to
keep the counter balanced.

Signed-off-by: default avatarDinghao Liu <dinghao.liu@zju.edu.cn>
Acked-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200520130806.14789-1-dinghao.liu@zju.edu.cn
parent 3e69ed2b
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -2696,13 +2696,17 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl,

		if (!wlcore_is_p2p_mgmt(wlvif)) {
			ret = wl12xx_cmd_role_disable(wl, &wlvif->role_id);
			if (ret < 0)
			if (ret < 0) {
				pm_runtime_put_noidle(wl->dev);
				goto deinit;
			}
		} else {
			ret = wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id);
			if (ret < 0)
			if (ret < 0) {
				pm_runtime_put_noidle(wl->dev);
				goto deinit;
			}
		}

		pm_runtime_mark_last_busy(wl->dev);
		pm_runtime_put_autosuspend(wl->dev);