Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp3904846pxb; Tue, 19 Apr 2022 12:12:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx15gw5t4ZqPpxkpk7Blpy0AWeuXBMxrerXHhQLK6jWZvh1ysySG1YKW+isHsjtSeSARczd X-Received: by 2002:a17:902:e890:b0:15a:161a:16a with SMTP id w16-20020a170902e89000b0015a161a016amr3580082plg.39.1650395564628; Tue, 19 Apr 2022 12:12:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650395564; cv=none; d=google.com; s=arc-20160816; b=PTF9zeb1h9W4s7zDOhrV9oRTfD9fCgR7MLQDu/bYQlviPpvatodzY3CAXgP6qaKp/x b4MKFTGInpupucKXXPZJ3xN3Y2yacgWpWqsMJivoWkyFNzK0KbMQW7GGrTlHNubPwhRM +U9HxifLusGTHuMypwRxiCmijNmIW6XN/p9A3It75Ds6r3mzaAmT/EZH9cYILk+v80gJ Dkk1bLd6N7AdI20OJqk/jVjcw+4Zwo9+JKj8K5nxVZiqABrmpndAQbNADJQmiQFx7+Ie EjaLRZNdqQ9LpLVCd7w4wkfhcIgCdWQWCqmVxbeCN1yHPooIpi52267m4NqtBSpBZEAj Nctg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:subject:from :references:cc:to:dkim-signature; bh=tQ9ZWU6ojNRSC8o4YsBl+j8r56holOBTtv+f0aG5eHI=; b=iQyN+90BzGQ7LGkDQI4MuthHzwvtazkO5xcf7AfOQkws6Qm4G74xHLJPofNDfse/vu kGiWHeyT/znX9Hre/Z7njbtgUFZYHPf3yXfSiSg5pd0Kgq9I8bpVmV/PN3pXSKK3zKzr c0ZYAGItFfr24UntvuOhyPvGXX8WCns0MRkadycPMdBWSPxtfYW7D7BZW0uTH5oxe8r8 aqtZ0yyo4545dL8zTJqel4V1SgUkgMZ4WV0TBXnXLsI0ZmPuYJCHalBXj7E1/9QrfOj4 sEWZJbuH75EX66BWOpcV7OyRlSMwLKO2mGMaQ0Utd+CgguHtB9NRAqhyRbl1BTndEZ58 nyfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=CSi6jZFA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f16-20020a056a0022d000b0050a984b9a15si2336237pfj.221.2022.04.19.12.12.05; Tue, 19 Apr 2022 12:12:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=CSi6jZFA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353631AbiDSOrI (ORCPT + 99 others); Tue, 19 Apr 2022 10:47:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34464 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352966AbiDSOq4 (ORCPT ); Tue, 19 Apr 2022 10:46:56 -0400 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EC9233AA41; Tue, 19 Apr 2022 07:43:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650379434; x=1681915434; h=to:cc:references:from:subject:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=GwM+DgH8oZbX2+k4dVfjkTJ+j6PIjW/gXCWsMBhCD78=; b=CSi6jZFAAqwe4eSgfcVFWhKFG/eiOQuovTKtaMn2kusSx5APg055CkM8 WjYBvDmfn6f0/1jzK1KqCsSlVNSuuGEUq1PDfKcvCxdxACcAQoP7t2yrV qHNb3MA9zjaufoFbZtCz2KqTAi5S1iij6OTrxBC0rRj4f1wK3YrOWfWK5 Y+EppsUeEQVImqOibpeozRy7iSGNfLWxZLSCFv7TXSdwYaGroGU2k5Q6n mHDbbKv1nQkr1RrbAjDMDS2tCsfe7iyEzzl7WmKmvl/tCdHiVzBbTBkWC JiP0gKwwXqB7L/atPSEFVkmvzvA7fvxqsC0BtfsgyfX6IK8EONLlAiPml w==; X-IronPort-AV: E=McAfee;i="6400,9594,10322"; a="243713020" X-IronPort-AV: E=Sophos;i="5.90,272,1643702400"; d="scan'208";a="243713020" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Apr 2022 07:43:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,272,1643702400"; d="scan'208";a="727090766" Received: from mattu-haswell.fi.intel.com (HELO [10.237.72.199]) ([10.237.72.199]) by orsmga005.jf.intel.com with ESMTP; 19 Apr 2022 07:43:52 -0700 To: Surong Pang , mathias.nyman@intel.com, gregkh@linuxfoundation.org Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org References: <20220412122524.26966-1-surong.pang@gmail.com> From: Mathias Nyman Subject: Re: [PATCH V1 1/1] usb/host: Let usb phy shutdown later Message-ID: <610871b2-1707-dfba-868f-4ddecc4d554d@linux.intel.com> Date: Tue, 19 Apr 2022 17:45:49 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <20220412122524.26966-1-surong.pang@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12.4.2022 15.25, Surong Pang wrote: > From: Surong Pang > > Let usb phy shutdown later in xhci_plat_remove function. > Some phy driver doesn't divide 3.0/2.0 very clear. > If calls usb_phy_shutdown earlier than usb_remove_hcd(hcd), > It will case 10s cmd timeout issue. > > Call usb phy shutdown later has better compatibility. > > Signed-off-by: Surong Pang > --- > drivers/usb/host/xhci-plat.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c > index 649ffd861b44..dc73a81cbe9b 100644 > --- a/drivers/usb/host/xhci-plat.c > +++ b/drivers/usb/host/xhci-plat.c > @@ -390,7 +390,6 @@ static int xhci_plat_remove(struct platform_device *dev) > > usb_remove_hcd(shared_hcd); > xhci->shared_hcd = NULL; > - usb_phy_shutdown(hcd->usb_phy); > > usb_remove_hcd(hcd); > usb_put_hcd(shared_hcd); > @@ -398,6 +397,7 @@ static int xhci_plat_remove(struct platform_device *dev) > clk_disable_unprepare(clk); > clk_disable_unprepare(reg_clk); > usb_put_hcd(hcd); > + usb_phy_shutdown(hcd->usb_phy); hcd might be freed already here. maybe call usb_phy_shutdown(hcd->usb_phy) before usb_put_hcd(hcd) -Mathias