Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2437700imj; Mon, 18 Feb 2019 06:05:14 -0800 (PST) X-Google-Smtp-Source: AHgI3IYr2SUwWn1Wb9QXkFdMMTXEDAxRLw+lp/rQvfP/qwHf4MX+igeLQ3gQY7E+rBEHkvJZKsKp X-Received: by 2002:a17:902:9a98:: with SMTP id w24mr22374228plp.247.1550498714399; Mon, 18 Feb 2019 06:05:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550498714; cv=none; d=google.com; s=arc-20160816; b=SWVHFvHnCYaDhAdq4qhBMBYByqk6TapK1u1kdcuTRqkrcm+auukqFB9+teE33IEapM eAM4XQvoz6dUVfN3gcf7rT7SnR8GoMznn3kLksnhJWB4HLHOHht1euc+CPCeQR9o70lg f6SmYMWQdFfgj4NZ7/DrK+vFAFc4X/MmjMobxmgRBM4qIEUIR4jMfgk6TKOZCulK8Gbn ojJgZWzJk3r9neznMWIlRHDu6VxgbispAVrUPhkKhhlz+pUonINEzhQC8sSdrCDRqLQy PQ7YyBAIRQSweHIiuOc3XcULoncyPc4OrGe7Xnlq4MwZmh2XaG3F6M+LU/FL8GdnDRXE ueRA== 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=/RN2SY5c6e0lcBUPS+GfCKJgBKrBcyXurua8kpd16n0=; b=X7wss+1w/h+AK/PnUFQQi6G6S181KDj2NTP4jC1R9eHFDHo9M8E41X7RxcxLWYaJJd hkqj4zEAIcdACZUvaOjwA22Kckp3v40ezY0FH5h8WqykULuFXxlRcM0NnFcpcUgGXOK8 5WGjvW3FAyNQygF/r0Ll0MuF7yylSQC+6J/rhrM7gQuyW4gEP5knYJ+5Io53VY2kioDv DxoDlPABnyUpBrjEkccpPDbY+EaJynKoJqGoW+l9ENVzKnWD2RzWFHzMmaFnnlbK3/wY iLE04kumim+zZ4iNk51qRxhuAEhYJUTXcSDgGoiuPXizZNFLywpKgmJFJ5U9s3b7tok6 SSqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=aUgRlGma; 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 y14si11988979plr.78.2019.02.18.06.04.58; Mon, 18 Feb 2019 06:05:14 -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=aUgRlGma; 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 S2389506AbfBROCo (ORCPT + 99 others); Mon, 18 Feb 2019 09:02:44 -0500 Received: from mail.kernel.org ([198.145.29.99]:44556 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389486AbfBROCn (ORCPT ); Mon, 18 Feb 2019 09:02:43 -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 A56F320842; Mon, 18 Feb 2019 14:02:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550498563; bh=8MM1SJvvo1Y80iyN0O0dwq4GjKxoYEO1VRb2giv7PYA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aUgRlGmaEqX/ktLZFOl2nTN2QRmTq+IGeshgIeIfccOQqjRK5iPbXljfpp3Meo7VK 3wPg77s+NHeN0hrY/nZtCrxOrU0Qm6ih+OS7wkqKrs8VCAKtL1yQyL8BrnUJ0Yk1Gz QHJ79VEzb0o6KKpDSRKt0dGm3i1isFE89Y1ZYQ90= 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.4 026/143] usb: hub: delay hub autosuspend if USB3 port is still link training Date: Mon, 18 Feb 2019 14:42:34 +0100 Message-Id: <20190218133530.107708512@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190218133529.099444112@linuxfoundation.org> References: <20190218133529.099444112@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.4-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 be63db142d3f..3a6978458d95 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -1092,6 +1092,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