Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2741160imj; Mon, 11 Feb 2019 07:48:20 -0800 (PST) X-Google-Smtp-Source: AHgI3IYzz/HfAZzkLBzaGN7caEg5bdfn0odTq3t1UhNPHrmUgWzz9PAXpQGfPrsxTKuty0yLLHcd X-Received: by 2002:a65:520a:: with SMTP id o10mr35041499pgp.276.1549900100263; Mon, 11 Feb 2019 07:48:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549900100; cv=none; d=google.com; s=arc-20160816; b=GrYYajyANBkSvC1ApZW9QTbt6L/N1n8lOiNpvb0t1Yagufm0mw6Ih6IVxwi1/6HS9M xbyfGA+dQGDTPFzPy6RaSbNDdUkfkjIUwtrTC5FGlr4CWNQXkRATGRXEuAT6wzZNdST4 K5UNxGO/XZUVnqmHE+IJy56f0k49JQs6uy8pBJNoDiEGA1Buk67QCARqQ+jssPBL4a+8 3fIrIraUVKrTAHdtkbRLjGLDFyL7D0diYktPMSC476uw/pdOTwHOUz8noYqPSKnm5mPZ 2y54UIgokrtc9E9hJg6N0M/eKWoTM5AAlkdpSTg2NNZe7OeAbvMap3I07mAlV2P0enRb CuXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=SOR1UWdsX1m5MCiPUoKel/E+tzug1tA1bqFb1rR7fWw=; b=uPbvOVeA+nYTj7A4FUvTlfSVnY/N+JoaZFpUAmRDKv0zTAsAd5by1UGorWsSxHGZs3 PS3uWlsvnH4QdNeh6zHhZKB/7JDDNH9DBk5HmBzfxwWRFnkfsXd2P3QU7ciUzLMmz38I QCqZyu0Wk2HjnJgo7nCb7EY6EHDS/LGjUQhnVn6ppgIIFN/ax54hFV5b/3Ti6WzlfGeJ EH9quRwtrUymAcFkkT5wYZxi5WwcRqdtIXWJkH/6wtx74gSpVWa6tL8rsYTt1G9v0lIN HL7QEhj7G5my761EussZv4uIuJacM+HQp/fW3t3jEDaUc5+Crhx8i3chaurRyod6MMaS V0ng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="gsyQ/20P"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r27si9637447pgl.494.2019.02.11.07.48.04; Mon, 11 Feb 2019 07:48:20 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="gsyQ/20P"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732534AbfBKOm4 (ORCPT + 99 others); Mon, 11 Feb 2019 09:42:56 -0500 Received: from mail.kernel.org ([198.145.29.99]:54976 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732094AbfBKOmx (ORCPT ); Mon, 11 Feb 2019 09:42:53 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4F61C20838; Mon, 11 Feb 2019 14:42:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1549896172; bh=fVc5N152l5UBjIOlr39O5G1tc9Fg0HvHRgovcz1DccU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gsyQ/20PWPaao2I7MOQ+S2YklBk6YUj/H+mOOykxtTx+5l2vyu9pxmT3sAHxYFW96 O8ktysXNX+HklL/RKEVBUgKA4R/wgN6H2ENmw4gxfESQT4C8wvVvZuBoSdfWdTvHxk SJKxsQKZlZ+d2AqVWarL31Z1WoPMm2EQJFMFP1jM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mathias Nyman , Alan Stern , Sasha Levin Subject: [PATCH 4.19 097/313] usb: hub: delay hub autosuspend if USB3 port is still link training Date: Mon, 11 Feb 2019 15:16:17 +0100 Message-Id: <20190211141900.326438284@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190211141852.749630980@linuxfoundation.org> References: <20190211141852.749630980@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit e86108940e541febf35813402ff29fa6f4a9ac0b ] When initializing a hub we want to give a USB3 port in link training the same debounce delay time before autosuspening the hub as already trained, connected enabled ports. USB3 ports won't reach the enabled state with "current connect status" and "connect status change" bits set until the USB3 link training finishes. Catching the port in link training (polling) and adding the debounce delay prevents unnecessary failed attempts to autosuspend the hub. Signed-off-by: Mathias Nyman Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/usb/core/hub.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index cc62707c0251..3adff4da2ee1 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -1111,6 +1111,16 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type) USB_PORT_FEAT_ENABLE); } + /* + * Add debounce if USB3 link is in polling/link training state. + * Link will automatically transition to Enabled state after + * link training completes. + */ + if (hub_is_superspeed(hdev) && + ((portstatus & USB_PORT_STAT_LINK_STATE) == + USB_SS_PORT_LS_POLLING)) + need_debounce_delay = true; + /* Clear status-change flags; we'll debounce later */ if (portchange & USB_PORT_STAT_C_CONNECTION) { need_debounce_delay = true; -- 2.19.1