From patchwork Thu Dec 17 09:21:37 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sriram Dash X-Patchwork-Id: 558352 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 415D91401AF for ; Fri, 18 Dec 2015 00:39:23 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6EEE3399B; Thu, 17 Dec 2015 14:39:21 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v6RTXwU7d6Tv; Thu, 17 Dec 2015 14:39:21 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id B2C6DA754A; Thu, 17 Dec 2015 14:39:20 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id CEC0CA7517 for ; Thu, 17 Dec 2015 10:55:38 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dhfohOK6TGw2 for ; Thu, 17 Dec 2015 10:55:38 +0100 (CET) X-Greylist: delayed 1067 seconds by postgrey-1.34 at theia; Thu, 17 Dec 2015 10:55:29 CET X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0124.outbound.protection.outlook.com [207.46.100.124]) by theia.denx.de (Postfix) with ESMTPS id 08C8A4B72A for ; Thu, 17 Dec 2015 10:55:29 +0100 (CET) Received: from BLUPR03CA006.namprd03.prod.outlook.com (10.255.124.23) by BLUPR03MB1377.namprd03.prod.outlook.com (10.163.81.11) with Microsoft SMTP Server (TLS) id 15.1.361.13; Thu, 17 Dec 2015 09:21:41 +0000 Received: from BN1AFFO11FD041.protection.gbl (10.255.124.4) by BLUPR03CA006.outlook.office365.com (10.255.124.23) with Microsoft SMTP Server (TLS) id 15.1.361.13 via Frontend Transport; Thu, 17 Dec 2015 09:21:41 +0000 Authentication-Results: spf=none (sender IP is 192.88.168.50) smtp.mailfrom=lvd4224.freescale.com; lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=freescale.com; Received-SPF: None (protection.outlook.com: lvd4224.freescale.com does not designate permitted sender hosts) Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1AFFO11FD041.mail.protection.outlook.com (10.58.52.252) with Microsoft SMTP Server (TLS) id 15.1.355.15 via Frontend Transport; Thu, 17 Dec 2015 09:21:40 +0000 Received: from lvd4224.freescale.com (lvd4224.ap.freescale.net [10.232.52.224]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id tBH9Lc9l008201; Thu, 17 Dec 2015 02:21:39 -0700 Received: by lvd4224.freescale.com (Postfix, from userid 65022120) id 96C3968084; Thu, 17 Dec 2015 14:51:37 +0530 (IST) From: Sriram Dash To: Date: Thu, 17 Dec 2015 14:51:37 +0530 Message-ID: <1450344097-3816-1-git-send-email-sriram.dash@freescale.com> X-Mailer: git-send-email 1.7.7.4 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD041; 1:xtlDfNLTlaNm5nUvhrFMlLlHQ0oGga/0VqP7Hey0nQdaqCO1oV8KbyndILHbF5pspLtrPGUxJ3t8f7HMSNaR3hejUldYTeweUAzj46gUYUyOlaHBTtnFuQyfCzFbYTc8saBG+FRXlM6C2Vgicad5OiIPL0R8IuITbrxc9Ka7Q5VYhAC3KZEprgydcuYvqgSmRcvkNWZiTDqVMhZEHI+YRmwx2WI4CVL1tWGp0yLQ5qihXzyzP2E5ve3qURV5+9BiNzlDhYrwYgapwUIVcaua+aiaYgJJX3UWqRld59kilxXR19Hc6CcdEJBlpMnyWq3LqkbsvQOq8kdvdic78QvTNnjE430SSG/Tlm4eztHf9Pk= X-Forefront-Antispam-Report: CIP:192.88.168.50; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(6039001)(2980300002)(428002)(189002)(199003)(107886002)(106466001)(5001960100002)(105586002)(45336002)(110136002)(52956003)(103686003)(189998001)(33646002)(50466002)(81156007)(86372001)(87936001)(101416001)(16796002)(19580405001)(50986999)(19580395003)(42186005)(47776003)(5003940100001)(48376002)(1220700001)(11100500001)(97736004)(46386002)(36756003)(2351001)(229853001)(92566002)(6806005)(4001430100002)(90966002)(5008740100001)(1096002)(50226001)(586003); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR03MB1377; H:tx30smr01.am.freescale.net; FPR:; SPF:None; PTR:InfoDomainNonexistent; MX:1; A:0; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB1377; 2:rjCKwktAjsqFF4OUs/ERJM+vhKRhklV1cgK1s2tc4mIdBed13c/lmwLTWZV11hZpMRTw3KQ2RPoEBJSKw2sgUC0hDuzv28fYKCjKqcxNBIDzcYoMTVF6W3PFxE7OejmldyZ3OthmsoWWKgqcSzvSpg==; 3:9YFUHsCa/FoX2vwz4sBUipYcPYiJhDRFxKn+MV/LAqyM3X+IjzMvDBl/zDTxvItXRMvVJRDImfGfpNC+27JA1ATqsvCGCGE+NJLDOlEQZmMT4rxQnq5IgVXyuKGpWzm04TwHQ7JMXUZqUZKx2b6a+aihujOAsb1tz25wdBKeQXMlIbAVvZ5BtR8G/j3GDO344yPhohTp11DPZxw0khF7FMT9rG5iB6L2wbNLp/S/GpE=; 25:XfxE9BvX0VmsKhl0Si0CBoJVpgOuqm/bKN4W2tCoejbdHnIYgKSeIZcQ8tpVT4h+GsRGt2EYOqwuoWJtRQlf0dsQAF+F6J2wXbiPXzTeaD753OJAQ1F+21Oh3HdCB45G9p2LMW3nTTsBz4unJ+Jhq8BM945RKAO2aGSKxR9cN5yF2yBGiyaqo9eg7yjlYFr8t/nqe5Oul3OMl07lySQCBbLgJNUbmma2Q7StaYyKhyAXRLOG0XldW0RaaksVgX9T0BZFNKXwT30TLhWv6bXdVA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1377; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB1377; 20:FGkoRRu0YiYtEIGrnCClrzIPdmXa3YoB98FHGKRIvx7zxfvl/7HW85koWKfZlQ14/QT20nQUx8MN+mTjs/OBTSc6y8hPEaOCA3VZIG32KFEz5cPBhre+dJxlLqjIyriVJtwma9ALJwENBtxlPW7kaOip2HcB5LuSJxDFn5/J2djtVkmYZVzwYx49A0K8zua3YHfF1m9G87stDVrFfxAUP2Kny9ykEpdUNX7eVZzs/Avo3jnCd/iUwg8ht4Fpd2cKByrRLWdi6mWCT7+uG8eWLIFOVdOOp7b/pKXFHKZLQG0ztSnVUDoeHKkiYYko8k/jM4TNTSiBxAZOs89x8jLoW+DP45kkU9bgO1xGxASbvtk=; 4:zV9FoIq/1wNM/WCqCnRvxefzs/pOtId3j8Z0eKbJUWiHw05xNN/mx+PYjQAoyAsaeua5nlGFayCdzs029ZLFasMK5EMaP8YJD36ZKk7F6BRZHJnjTYlHPRR+EvFL9tLsP8pzUkQDdZVQbcohxKdYVQ3gUXvdnXphegNKlktXSGRzBtut3LrUQHaYW6On5kL6EG9AwhYnLW9i/sQuaWgbEXkgIF6a5MNtSLEGYpaOdoMvrylwvxNmPbzv3e337il/sURuI1Qpn9h0EREGachL6cdLZxqI7pmRtCI3dUaMJnSK2fZ9bKLDPTq5hYc/xVnV9L3vGP1ONO3NcfKuFR8BrwKxw3lWJn6El5ou5xvirQydZxOrUiO4mcCvkAjjhkB8HFC4X7j1DcREPLpmKyHCqd1MYJQoTJ7QH0kisXbVUcMdfuV+2T4/yQmi0y1kRvgE X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046); SRVR:BLUPR03MB1377; BCL:0; PCL:0; RULEID:; SRVR:BLUPR03MB1377; X-Forefront-PRVS: 07935ACF08 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB1377; 23:JLa+AOagGHyjiGVvfeFnUFXYrCuGsAUJnl8PK6+jq?= =?us-ascii?Q?mc6p66leSv0QjojV/+THUs8IRNggY9QzxjcKIlXEJ2PC3KJjZF9mmzuaIdzB?= =?us-ascii?Q?nOde5ZWSR5IH7lXUDuNKJgxAxbPz8SupZNMjQ0Xn8gNZLn95Lqkk1TKQHj7k?= =?us-ascii?Q?MPGer63wGwYLk31GmyrnL2QDqqIfiHpDNs69THoXFJUsDyiXZfCZdkuWYTfO?= =?us-ascii?Q?YlxoThT03QIu1EPQWBfrkzpKV+PjqJ4HltvU/dNg5MURAHA3mYGDGj+kj0Lr?= =?us-ascii?Q?btAw81XAvEH8GPeOVTs80azK7YelXzNMmGTfO0ytb0b/w5ePPuWF0b8Fdc6K?= =?us-ascii?Q?UMvRrGzcI18EdgHDyWaHdmlxFwhB4c3vyWQXZdBdSuJneJzziJbbT29aI9aq?= =?us-ascii?Q?VcVpQa0stG7JTgTx63ryVNJkfxAhoIw6g3IXGpvkuRvwsHGaFL4j/x+WsU/c?= =?us-ascii?Q?KkuiMJ+GnROucbF0MUmUULriW1tj3IxTpkN1FrI/j4iGfVExBhswNHhTe4Lj?= =?us-ascii?Q?DE9JZrwkLJbCjMaMVsIT7aRwKz61pI5rqCQeVHC9Gwu2tBqBeSpq4RPy60X3?= =?us-ascii?Q?YvxFdkPtndbXhi5yXLJMgKfHlAPBAW0wwY+zL+kXyYDxvPZfkoqYLBEkrkrL?= =?us-ascii?Q?cZnupjz1yeAMdPvfVHE4tnFdtDnne7JjIoen3yWxylK1InhwnTh663P9iSl9?= =?us-ascii?Q?wS+X2kSO7HA+aF2OvRSsHitBhejvnM9JnkfDs0tex4ya2BLEHV+K9w5E7+dr?= =?us-ascii?Q?mz3IMWhINxokoPEW0fBxLljg71MHC2mLPJ5KQDfzAi8JO3OiebmApFbC2eCw?= =?us-ascii?Q?fq2T5tXYoUgA+qp/1r70WHvm14SDl6s/Fr8TV/d4voxn2CYgaXiSGAenhjUU?= =?us-ascii?Q?q0/ipTBkNEXnLqUS7E5U/3ElENjdJU7uAuLfLicF6scexNbFOS3hBlbVlnF9?= =?us-ascii?Q?8eO3fWUgxsEaGEVyqfIGDGYEIjizgJ/p4VjQkQmS6VaUiVlNHJOpibFoMF3T?= =?us-ascii?Q?HNNpYfRlS30zEtIzbuAQNtPLBsLdPLY8RzCG+JrlyqJZe34bxG05AD3on8xd?= =?us-ascii?Q?B5Ov+XXjfxLSIdJVAAHFEtLlkVdZ83+X0wJIYamaR4DykES9Pec+syWpJfSZ?= =?us-ascii?Q?FOjVF7N3x2v0hPYlDgQ/Hp+UnV8NzNx?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB1377; 5:Qc/9I0kR09trrdYn9ZQQUw17pPMkb5zXMAiLc/pWNZobjDodDfjBGgpR5Ghxne2q+/dPXo3xoUAvWDkFm5dPT7BB2pmJ6ASYyHTRr1rKz7XERRfq4ahY5azSXjvp7ZkiB9sOFsJRVeNaEjuMrkKdTg==; 24:fUvjTnjxgtdWlZkUVytmIw7Lb4vAec0uR9fd0JT3OLMiq2L4QNgPPaFoLAcuC4Xas0EaSGMQ5k6/pkcEeYDpm4IZ+0Z2UW8bBYdLBefaYB4= X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Dec 2015 09:21:40.8035 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1377 X-Mailman-Approved-At: Thu, 17 Dec 2015 14:39:19 +0100 Cc: marex@denx.de, Sriram Dash Subject: [U-Boot] [PATCH] common: usb: Adding delay after set configuration to support legacy devices X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" We faced random enumeration failure issue for USB sticks on XHCI driver, specifically the legacy i.e. USB 2.0 storage devices. It seems they do not respond to a USB string descriptor submission within the allowed U-Boot timeout, which is just after sending set configuration. USB stick where this this problem has been noticed are: SanDisk U3 Cruzer Micro 0875530C9FC38749 (Vendor: 0x0781, Product 0x5406) This problem has been reproduced on the Freescale LS2080A, and expected to be hit for any platform with XHCI controller using legacy USB 2.0 devices. This patch solves the above problem by: Adding 10 ms delay after set configuration and let the device to settle down Signed-off-by: Sriram Dash Signed-off-by: Rajesh Bhagat --- common/usb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/common/usb.c b/common/usb.c index 700bfc3..c624a88 100644 --- a/common/usb.c +++ b/common/usb.c @@ -1104,6 +1104,7 @@ int usb_select_config(struct usb_device *dev) "len %d, status %lX\n", dev->act_len, dev->status); return err; } + mdelay(10); /* Let the SET_CONFIGURATION settle */ debug("new device strings: Mfr=%d, Product=%d, SerialNumber=%d\n", dev->descriptor.iManufacturer, dev->descriptor.iProduct, dev->descriptor.iSerialNumber);