Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4fd93e32 authored by Chandana Kishori Chiluveru's avatar Chandana Kishori Chiluveru
Browse files

usb: dwc3-msm: Fix warnings with pm_qos_update_request/remove_request



commit f0d6bd14 ("usb: dwc3-msm: Add dynamic pm_qos, clock and bus
voting in host mode") adding support for bus voting with PM_QOS_LATENCY.
With this change driver can call pm_qos_update_request or
pm_qos_remove_requests without adding the request and
printing warnings below.

pm_qos_update_request() called for unknown object
Modules linked in:
CPU: 2 PID: 406 Comm: kworker/2:2 Tainted: G W 3.18.31-gfbfce40-dirty #11
Workqueue: events dwc3_msm_otg_sm_work
Call trace:
[<ffffffc0000898a0>] dump_backtrace+0x0/0x270
[<ffffffc000089b24>] show_stack+0x14/0x1c
[<ffffffc000d81d90>] dump_stack+0x9c/0xd4
[<ffffffc0000a2cf8>] warn_slowpath_common+0x8c/0xb0
[<ffffffc0000a2d6c>] warn_slowpath_fmt+0x50/0x58
[<ffffffc0000eb32c>] pm_qos_update_request+0x34/0x5c
[<ffffffc0006a90ec>] dwc3_msm_perf_vote_update+0x19c/0x2b4
[<ffffffc0006abd90>] dwc3_otg_start_peripheral+0x1c0/0x204
[<ffffffc0006ad984>] dwc3_msm_otg_sm_work+0x590/0x878
[<ffffffc0000b8eb4>] process_one_work+0x260/0x450
[<ffffffc0000b9644>] worker_thread+0x2fc/0x418
[<ffffffc0000bd724>] kthread+0xe4/0xec
---[ end trace 9998738a22dac7cc ]---

Hence fix these warnings by adding proper check in driver for calling
pm_qos_update_request/pm_qos_remove_request.

Change-Id: I95cc2e68ce497cd2d11a4fbf783868076efb7359
Signed-off-by: default avatarChandana Kishori Chiluveru <cchiluve@codeaurora.org>
parent b46b19c7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -3257,7 +3257,7 @@ static void dwc3_pm_qos_update_latency(struct dwc3_msm *mdwc, s32 latency)
	struct dwc3 *dwc = platform_get_drvdata(mdwc->dwc3);
#endif

	if (latency == last_vote || latency == 0)
	if (latency == last_vote || !mdwc->pm_qos_latency)
		return;

	pr_debug("%s: latency updated to: %d\n", __func__, latency);