lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 012/757] net: ipa: skip suspend/resume activities if not set up
    Date
    From: Alex Elder <elder@linaro.org>

    [ Upstream commit d1704382821032fede445b816f4296fd379baacf ]

    When processing a system suspend request we suspend modem endpoints
    if they are enabled, and call ipa_cmd_tag_process() (which issues
    IPA commands) to ensure the IPA pipeline is cleared. It is an error
    to attempt to issue an IPA command before setup is complete, so this
    is clearly a bug. But we also shouldn't suspend or resume any
    endpoints that have not been set up.

    Have ipa_endpoint_suspend() and ipa_endpoint_resume() immediately
    return if setup hasn't completed, to avoid any attempt to configure
    endpoints or issue IPA commands in that case.

    Fixes: 84f9bd12d46d ("soc: qcom: ipa: IPA endpoints")
    Tested-by: Matthias Kaehlcke <mka@chromium.org>
    Signed-off-by: Alex Elder <elder@linaro.org>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ipa/ipa_endpoint.c | 6 ++++++
    1 file changed, 6 insertions(+)

    --- a/drivers/net/ipa/ipa_endpoint.c
    +++ b/drivers/net/ipa/ipa_endpoint.c
    @@ -1471,6 +1471,9 @@ void ipa_endpoint_resume_one(struct ipa_

    void ipa_endpoint_suspend(struct ipa *ipa)
    {
    + if (!ipa->setup_complete)
    + return;
    +
    if (ipa->modem_netdev)
    ipa_modem_suspend(ipa->modem_netdev);

    @@ -1482,6 +1485,9 @@ void ipa_endpoint_suspend(struct ipa *ip

    void ipa_endpoint_resume(struct ipa *ipa)
    {
    + if (!ipa->setup_complete)
    + return;
    +
    ipa_endpoint_resume_one(ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]);
    ipa_endpoint_resume_one(ipa->name_map[IPA_ENDPOINT_AP_LAN_RX]);


    \
     
     \ /
      Last update: 2020-10-27 16:22    [W:3.000 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site