From: Johan Hovold <johan@kernel.org>
To: Udipto Goswami <quic_ugoswami@quicinc.com>
Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Pratham Pratap <quic_ppratap@quicinc.com>,
Jack Pham <quic_jackp@quicinc.com>,
Johan Hovold <johan+linaro@kernel.org>,
Oliver Neukum <oneukum@suse.com>,
linux-usb@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH v10] usb: dwc3: debugfs: Resume dwc3 before accessing registers
Date: Tue, 9 May 2023 17:05:45 +0200 [thread overview]
Message-ID: <ZFphSUFrUT6dMsQN@hovoldconsulting.com> (raw)
In-Reply-To: <20230509144836.6803-1-quic_ugoswami@quicinc.com>
On Tue, May 09, 2023 at 08:18:36PM +0530, Udipto Goswami wrote:
> When the dwc3 device is runtime suspended, various required clocks are in
> disabled state and it is not guaranteed that access to any registers would
> work. Depending on the SoC glue, a register read could be as benign as
> returning 0 or be fatal enough to hang the system.
>
> In order to prevent such scenarios of fatal errors, make sure to resume
> dwc3 then allow the function to proceed.
>
> Fixes: 72246da40f37 ("usb: Introduce DesignWare USB3 DRD Driver")
> Cc: stable@vger.kernel.org #3.2: 30332eeefec8: debugfs: regset32: Add Runtime PM support
> Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
> ---
> v10: Re-wrote the subject & the commit text along with the dependency.
> v9: Fixed function dwc3_rx_fifo_size_show & return values in function
> dwc3_link_state_write along with minor changes for code symmetry.
> v8: Replace pm_runtime_get_sync with pm_runtime_resume_and get.
> v7: Replaced pm_runtime_put with pm_runtime_put_sync & returned proper values.
> v6: Added changes to handle get_dync failure appropriately.
> v5: Reworked the patch to resume dwc3 while accessing the registers.
> v4: Introduced pm_runtime_get_if_in_use in order to make sure dwc3 isn't
> suspended while accessing the registers.
> v3: Replace pr_err to dev_err.
> v2: Replaced return 0 with -EINVAL & seq_puts with pr_err.
I've verified that this prevents the system from hanging when accessing
the debugfs interface while the controller is runtime suspended on the
ThinkPad X13s (sc8280xp):
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Johan
next prev parent reply other threads:[~2023-05-09 15:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-09 14:48 [PATCH v10] usb: dwc3: debugfs: Resume dwc3 before accessing registers Udipto Goswami
2023-05-09 15:05 ` Johan Hovold [this message]
2023-05-09 21:37 ` Thinh Nguyen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZFphSUFrUT6dMsQN@hovoldconsulting.com \
--to=johan@kernel.org \
--cc=Thinh.Nguyen@synopsys.com \
--cc=gregkh@linuxfoundation.org \
--cc=johan+linaro@kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=oneukum@suse.com \
--cc=quic_jackp@quicinc.com \
--cc=quic_ppratap@quicinc.com \
--cc=quic_ugoswami@quicinc.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.