Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751285AbdFFBcb (ORCPT ); Mon, 5 Jun 2017 21:32:31 -0400 Received: from mail-by2nam03on0052.outbound.protection.outlook.com ([104.47.42.52]:21728 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751107AbdFFBc1 (ORCPT ); Mon, 5 Jun 2017 21:32:27 -0400 Authentication-Results: spf=softfail (sender IP is 192.88.168.50) smtp.mailfrom=gmail.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=gmail.com; Date: Tue, 6 Jun 2017 09:32:17 +0800 From: Peter Chen To: Alan Stern CC: Peter Chen , , , , , , , "Rafael J. Wysocki" , , , , , , , , , , , , , , , , Linux-pm mailing list , , , , , , USB list , Kernel development list , , Subject: Re: [PATCH v14 4/7] usb: core: add power sequence handling for USB devices Message-ID: <20170606013217.GA26189@b29397-desktop> References: <20170605065537.GE20014@b29397-desktop> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-EOPAttributedMessage: 0 X-Matching-Connectors: 131411863453307646;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(336005)(39380400002)(39410400002)(39400400002)(39850400002)(39860400002)(39840400002)(39450400003)(2980300002)(189002)(199003)(24454002)(9170700003)(73972006)(39060400002)(498600001)(2171002)(5660300001)(46406003)(6246003)(106466001)(7406005)(356003)(105596002)(1076002)(6260500002)(76482006)(8656002)(9686003)(55016002)(189998001)(305945005)(97756001)(8936002)(110136004)(86362001)(47776003)(54906002)(7416002)(33656002)(4001350100001)(53936002)(33716001)(50466002)(2906002)(87572001)(104016004)(229853002)(82202002)(8676002)(83322999)(6916009)(73392002)(54356999)(38730400002)(2950100002)(23726003)(4326008)(77096006)(83506001)(76176999)(81442002)(50986999)(81166006)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR03MB2811;H:tx30smr01.am.freescale.net;FPR:;SPF:SoftFail;MLV:ovrnspm;MX:1;A:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD046;1:3LfnorZjyqJ7C707H6kWtGQM8JOzY27Jn7jHvTjySQ+nz0CHZqBuj571qDmNYdHsHfl0RmPTdFMKEz2Vyu/IjT9/tSXqQziSCwygSFzy5WdmJwWv4DJNFkqjxROFFsnyrIAkHMNjlXgeq1qLDieXoV3ghhkIgh6Tt15c88U+vOQ2lW0TbUYHDV51HTr9eXk1lW22wibuE3L6zbgDQoCIalPssq/vyXXohP4RS6Mmy3dGYYK2SR94ZftwQdm9AcfCfUZOrmz17URYrXUF+nyzBWUuydbMTTuePk1ScAUN+66F2DSd2SPZg+E/rGaN30OfD1DqNZYirc+SyqUwyGT3twCgrmAg1bzfcGFuRiakdJ8iRe0mNddsT0LGyvSsgakmUsxbU5sl6Qafoz7t570P5EnjCGtunpD7f3yX3Gjl3wW5lWa2Ra2f3WejTiRmQZOInzLARQ8VA7OajSaKkfVJAXrsxkTqrZdaJULN+llIw1qUFNTI+8SfSfDMZFhpH3WcYErApTk28Xr6PJEeZ+Tk1ZF/r8fUM2SP34tqcqedEnJkIWwlp1Va+BP5f2IVqNv2coItAk5N94qwocRAq/6IITjf+uMjnhUKvhZ4gXDqSUQ= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR03MB2811: X-MS-Office365-Filtering-Correlation-Id: 8a1b5462-1b3d-455e-0806-08d4ac7be2cc X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131430075)(201703131517081);SRVR:DM5PR03MB2811; X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB2811;3:y5LU3j0x/c3cxji1/soIdvrJmpquYqFzfc2kNG3R4ugDfby2g2Ww9cSD5XgUUMmoXzQepm51kUMqmowsBp2vpmEmGObFudaXUY6yHZ4EIGMdJ7If8zlhDFgWQHMk+cLgI+zJvpNE4B5jsyfecL3E30TMeBz2i/avNZBl3mo0HovKJsk7KQh4y65SGuGzi0/NkJqsFVUGuq5LS6OdD4ILX2XpEHWjw9NLD2gn1BwoyaD6uz4YltLrfzN6o40aJLT5gwRxEkVih4dc1DbvJCXWnFQUP9NE53QTMC0ly2/SoDYFxTRzSgczt+SXbdvfrum3pu1ZtO+TphHtd6Ejx/IrliPIPgeUBNGiCu8KDlvZ3KweiFJDOPQG9fk7W5VuiO4BnNLcKdcUgbwCgcFLfOZb347b3n8E0KiGiAwY3hc0cMVJbdNA/HRE74XIR49r7LGP;25:EvjUhQw2iwIGnVtqoTROV+WRggp4gV72vbJQEhlQY22w8iqagZ9k95kr1wrxpM4iMMuBgZo2IEJcEtfW4SIzU/AECXn26hICHAiby+xls/CTD/etAWhq8jjA27mKlF3f40IzObLAC3SBzbozKlU1D5b/vdY6MtOjwNWHa+jlywniW2kMz1wT1YhqbJRiSixm4Ec0IOte6/2pDfKqyz++B4+tjfRFOsQPU9fWNh+InN5TCKQtNR5xvPuFCr5+06cpqUvwAW43+gcs2Msz2EiXjF2AqCCHIu5tnS4szDomqibdtFtCPc0kN9yluJgUnDAxNkiQ+M2EnwTdtgOweA3jIqP5ALKJctsWFE5+owV0M1UTqyRhJOS1hWH+pkGpoCIjdxLrO0KRpzFgqMZjuol+yLLgGXdv7HXycDJnInGAlyj1GYqdWo8dmsqU82lmZ2cIeJbdKMCNLjbHSH2R9XC1wWQyhLjWkm6bCDOnjtU3BME= X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB2811;31:VeZiHV2B7unyrgCdEtIYsJ0QuzYbgQPYwIsM6KOSMjaxQ1V8fkoB616AAAQLhP7lCi8eu5RzyYboCbL26SV33OOpIPiDS10wNLiK4TGrGkfHnOosmoB6iJL8g7/A5x/gS8kJnGoG083bYLf5FCM3bGsQq6uhp7yjcLiPWiBpWPO9h8uqH2ewD3qbW2NM01MR1UeGSFENdEdipIgT4qOdZ1i+Co/1J0TvDLG7+pCpkoU7wQJZWT300cMjBLTSR0O7ACTWfzw+O5Zqgv9j9DmyXQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(35762410373642); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(13016025)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(20161123565025)(20161123559100)(20161123556025)(20161123563025)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR03MB2811;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR03MB2811; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR03MB2811;4:/+TzyhRsvCT73g6oRegLrzpTFPxON+cdOh/qnojFeJ?= =?us-ascii?Q?9xgfbBOcpERCFCJ1ycGuHiOi/6W0AiL6UQnEgceLcGJLJSj78czHW8kG8C97?= =?us-ascii?Q?AWhOUWrF2d2/P26Ch25qf0OsQ5rQK39y5R1Ou3RlrnodsVVZo9r2y2LaCsVk?= =?us-ascii?Q?avtIHLbBXCmH5XLCaMl5yUVK35Ye7Ijyy0TWj4/cdQvAfywIEy++Pp4sUyss?= =?us-ascii?Q?7U/0O3AQ8I+QPFblMKYSfWfHxUP8MIsOFGvtr81NDggGZ4bbGE58+2GRXURv?= =?us-ascii?Q?Sh4aVFXm/4xAHVYm5FCimSx8zgLrJj3cDDEQsXn216nsWgUCdpTv47kTh5wW?= =?us-ascii?Q?x5gMT7o/nCet9/diZtHMVbePumLXzB+3lg15nIVAWH1h86kHgOKo1422tsID?= =?us-ascii?Q?rSgRapaB1n7GuvG2wTl2QcyVdJ9mB7K/pMr7b4M6h8XmRrlaW+4jQOlFyJjk?= =?us-ascii?Q?WJNrSwbUCJ4A6hAe6D2GISLu2nOG5o4HjT8J8lMbeBQHiAhMpC959BaLEEm7?= =?us-ascii?Q?3s23VTJTAM/xejGgc7BlJqMSm6Ku3Hh84Iy9EAy0yJwCZD29dYMnS7wXzgAG?= =?us-ascii?Q?x/oi9Z7y638vxKlS2uzKGW6Mp5pY4oeZC2lEpSfiTAtjhYI66FHzJ1+s0TwT?= =?us-ascii?Q?TIqL4FBCF9aOcli8KP/V5iNwuD1KKgQwZLrypXoicNCVdYJviFaDwfOqxYkY?= =?us-ascii?Q?urPFeaNI4K3ZMd/D+srLmWQj0zo+zlMBB2JKk1x4umC0jolPthcnIdqk+gdG?= =?us-ascii?Q?7+k4JY8HkvymrBKismwoHf5wYO7LTxLMWr5BmSA7CbGkP34NgtVBN2SbYJ0m?= =?us-ascii?Q?3LQwQ5+lHVbtvpLJfGt36ytjp9Z9/7hoktJqRk/ZTGsp3in6LblFaZgt3rGl?= =?us-ascii?Q?qQSY4Uh+lftbmMZ4ERnUFG3lJ1BLtrUAdN8DaAN5myND3a1DbD8yYwNZPH9m?= =?us-ascii?Q?FifXnV/ZB6NTiDsd281LiHO8RNbnI9EGU2GhG+wiDhc5RpvoFB3zR+4SjPXf?= =?us-ascii?Q?rMOKg0uxK1jCTmTkYh0X6BP9n6cpWxpyJMw1btX8qT1/dtbkuZ2lo51n5rct?= =?us-ascii?Q?J3pAnLsGCwZhuqPbhCH4Va6ekvWbaO7oh83KS4xJj34caIknw3LNIefZqFDX?= =?us-ascii?Q?5ORLJWG9c9tN7TKETLPFJKDURH36SDXKfd4YgECYCqshVKiv7c9S/Tq0o0pL?= =?us-ascii?Q?KYdTcRWI4qDwLDotBuKYZEwqA+LjJObyRaC9K8rQtJTedMil3QeTt6nsmqAa?= =?us-ascii?Q?t+yt5P/bgGgGpHmCdPAO74I7i9hguXUYF/2IPBn1hHZWI5WiiNXUWQrx3aDw?= =?us-ascii?Q?=3D=3D?= X-Forefront-PRVS: 033054F29A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR03MB2811;23:znsAJjfBuRl1w13xSN3mH2LPfdWKRi0PhBAS+Hmv+?= =?us-ascii?Q?ktT1dYcobR6xjnLq06xDXxNCwk/3gwNXijhIyVZcahFW4BOMNmT4y6426Aue?= =?us-ascii?Q?MLZs60Xz+Z95W2wIgrFFsMNfqgt16Y121awVJIKM66ZRArmttVlSQ9YLKwUr?= =?us-ascii?Q?+UVDjUf1bM+SvyiCuiPT/cZv3/x5MDn3Uy3OFjVzwXORZCqKmGrtNv25W6Dr?= =?us-ascii?Q?DZsruJqkHpXsPRjU2Z5AFnvnfuTknM2LxqDmUiK/yKFjqkdzz59UowESxm9l?= =?us-ascii?Q?rdFjnub6jZ0FJX8zFEjZPs1GnDZ+vKAjGtaSW3VAtf1tmR7ynA2DuX/kl5+v?= =?us-ascii?Q?YpffGLjKf58I1QyUhDJs4+OaluS6UGrZJOqw5DfmR3GrOpKLePRkUWi5z7Ko?= =?us-ascii?Q?26FxjFkJuZrJZjtbIzjs5qCpkvrsRLUebWPsUtIjqKwMrXR3h9Mg8qT/63/X?= =?us-ascii?Q?nlUYeTl9STavKRyagIL8fgfZiKIz0CvhHGLcMOJ8y5LnsyHsV4+FSkDcri4/?= =?us-ascii?Q?DArsdNCXdcs3SHfvd1SLyee2n9d1FxAS/kyvtdghiD31eyCaglOaqbVBtBTT?= =?us-ascii?Q?D6tWvbNMtzzILWSxyBXmEJILe0RXD0k0PMMckke37UveyvLyUKBCDUb5el2D?= =?us-ascii?Q?qJHpD1Dj0/Q/nqXyZ6WbnvplWT3epxuFHTVrrTbjryD+xms+bkP18gvG7bxL?= =?us-ascii?Q?jBDCqxtDOKj3uU4zIa45DTOjYeq6uE5CPDm/X2NOlW4zVGIvHMEzSDMHtH32?= =?us-ascii?Q?hYuTfKX3C2sEEhhDCy6hj+I8zjEjHn/3de+l6ubDfamKUuSc09khQeBEz3qx?= =?us-ascii?Q?eiQgfSrolQK07iRcdDFIDk+WMRM3I3mZFM9EApRu1v9RvXpPOyxFUDWPGcHC?= =?us-ascii?Q?MHOknguTg0r9NajR7S0CcGgsUOlB3WQxLXGoxtYfVxkWf3IrJ4bgB0ktSmYF?= =?us-ascii?Q?H177+Kpj+mYJExRFP4Q7fRRA20OWP2US+vo3vn5WtLsYvVOwwFLWU7iePBf2?= =?us-ascii?Q?jUsj6S6mRL6YzC7XZoZtnTjoEkh83IWNtmO29zAjeoRXvztJNgxw8IuBEwQY?= =?us-ascii?Q?iyQzmcbLMHcwJk8aGlUA23H3GDBsoJdqamjSAcVrSfkk3zVbApSPTk0GPMpQ?= =?us-ascii?Q?XFrrdBVVZxqasizOdXvNY07p6pY9snjCERD379aQGAt2y4Zmg+qVLG9NAj/c?= =?us-ascii?Q?GRd+T0DViIFLUppZ6pW4y0h7aJ8aXeoGYWbTH/+cRaMhwS51PFMyeuYAACLc?= =?us-ascii?Q?l7Id5qtzgXKdEHc74LXdkqR/OW8BxVhUiJPlR6OzEg7/dlYyrSri9BePquqS?= =?us-ascii?Q?0FA+w1pbZmoQPXpJtO5nZyeYP69p2ATITXcUh/qkPzWmm7T+9jZfy01uI4QR?= =?us-ascii?Q?C6K2JopxnJZbmAYXa4c0UiMpCbg88PD7DOGkBiYnKkbdOoZXu/0mLzfXn1R2?= =?us-ascii?Q?PoOMJqNBsvP/W+OW+o6PIsDfBF+xGJoVyTdqSdSPQOKozjdP9IR7VxPiLiuu?= =?us-ascii?Q?dtA3fXzlIKvBtv3atSE+kGMQF81P2jdq7lUwbK1leEc561OjTLWT7Gj1c3q+?= =?us-ascii?Q?tfjFUvJVG5+r1EMsmgV8MhC+EseWpAwZDkansJqd0KKDRUvghQ02gVutEVz?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB2811;6:NG9LuLsRQdO6un/qdSyVMC91n8dSXPgyXOAbCJDH2b3mEiC6T9nisZV6PilqXjayvQAhbZ4upqfs6cA/wA9rs3/iBpgJ8PJYeNNfjK3ksiqG8RD739ZOG3KOiBou3LoJIHX3fkvK69rIpR9L3wvcXpwrCM2TiqsRsUqiMKEQSVrze1J5L83oY3LEG3OQUyTQLvekIm9T83zuEUW6vZuGRnEXSJxLGjAul0HTMbH2jPxWLRp4sfqqELq/cMZlKOgJK5xUlJnEFkidK00P5kttsqO09l8HPMD4Fzsd5c8QkpdN2MLsvHQbxS8c1bLUSDLcE3gi/jpIL8XZlc6kVQigx/fiHXDcW+WozBFvm9nAcoV9YOEVazqwUxm4+V4njcLY25RJqDKvCoWxYLNnzf4szuHYCYHgEogtUrQ01Dome7yX8F9xxxXCsbYnghLu1UfRr7AbnxhNTAsrv68JH/SBtBSoLgGMUYErbR2xatqIoE+R2i9GGhkRfgjj/n752hhQaYqrgiUmAjdpiNeUslfcNA== X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB2811;5:PruCrs2F0lnPLPh/GRYHbHslvXeISN4ew7TlUtCNxCI7ZeSNN83DPIkmAou6078GRyeKKw/P6V7nF9Xm/cHHvG91PdrzuQto5rjorbjTU+ZmoWuABAuM8i3nSJbbqZv/+HyGQV+8dd4DgXjN8SH16i/8u7OkyZ3zVYqadvE4dT5/2jkaNYZsJAoUst8x7MJBEs8oWaNVtxNLiYc8EifPgmi7QW8pJOWXMLlBtH3PW9ccghTlOaxewUR9L2pdD+N65eJgh5L5hD0G4QlmLixO3vup/ErrSNXe8cB4EN9kTOoGaJ0s9TimcbDmOeEzN6g1CiJrPmeSmerbtrPH9u4mndHOLM1tw9Bz7jY2FQUkrP2ocGDctS3Y1eUo1y7z8ZEdKca/rDhEYdBaKIppLuHBfFREMQET1/c3ZEYdON8xnskPQaHQL3dGwww0/OedsGzsw4VfUU1v+qjI+T6W8x/vPchaw3Foax31apdj35shwhMtdTploopD57SHmSfJ9u9tIM8PfviJO5HJU8aOCy31sQ==;24:87znpY3joULp/2ndi8Wb06j1fv2jV5/AZKg8hSCvv/ihXJmG14lHBIUQOqnufvNXE5siKpqBLSHV5r6JpUgWA4Jk9cPtejOE3XdIxFxAqFI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB2811;7:rvAwYDWMVoxt5o/ufCeVpnybbOfuB94+vnpCLItvASpJRfRudDefHWBrtkzHRCgxQ2srQvvnhjkAFOV1VatJo8FijF9RGaoLLFC7DKtu4jzD9xQm7o0zyb+OSBxDCAvBgDGGTvtZMnKQeZXbJApWiAe833MZ9/l/tmFQRx5GPQYwA3/aa9vpaXW60DRa/452SEe7nMXWj1M+ajOjkvo+rIMiMnVQDJhV4QK4BcxSz21NFs+hLZvrdNnFM+xT6Uo9K47gml+944nJhlUWYrx9L5jOoaT1qQ/y1827KZoNzaTr80OH5eALz4HRBc5/i5pD/7TSpTm7O/37J2LFLA24sg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2017 01:32:24.8471 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2811 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2908 Lines: 78 On Mon, Jun 05, 2017 at 10:16:34AM -0400, Alan Stern wrote: > On Mon, 5 Jun 2017, Peter Chen wrote: > > > On Thu, May 18, 2017 at 08:49:00AM +0800, Peter Chen wrote: > > > Some hard-wired USB devices need to do power sequence to let the > > > device work normally, the typical power sequence like: enable USB > > > PHY clock, toggle reset pin, etc. But current Linux USB driver > > > lacks of such code to do it, it may cause some hard-wired USB devices > > > works abnormal or can't be recognized by controller at all. > > > > > > In this patch, it calls power sequence library APIs to finish > > > the power sequence events. It will do power on sequence at hub's > > > probe for all devices under this hub (includes root hub). > > > At hub_disconnect, it will do power off sequence which is at powered > > > on list. > > > > > > > Greg, Alan, would you please help on reviewing it? It seems Rafael > > is waiting for USB MAINTAINERS's comments or ack. It resolves some > > USB HUB issues for several persons. > > > > Peter > > > > > Signed-off-by: Peter Chen > > > Tested-by Joshua Clayton > > > Tested-by: Maciej S. Szmigiero > > > Reviewed-by: Vaibhav Hiremath > > Acked-by: Alan Stern > > > > --- > > > drivers/usb/Kconfig | 1 + > > > drivers/usb/core/hub.c | 49 +++++++++++++++++++++++++++++++++++++++++++++---- > > > drivers/usb/core/hub.h | 1 + > > > 3 files changed, 47 insertions(+), 4 deletions(-) > > > > > > diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig > > > index 939a63b..b6f626e 100644 > > > --- a/drivers/usb/Kconfig > > > +++ b/drivers/usb/Kconfig > > > @@ -39,6 +39,7 @@ config USB > > > tristate "Support for Host-side USB" > > > depends on USB_ARCH_HAS_HCD > > > select USB_COMMON > > > + select POWER_SEQUENCE > > > select NLS # for UTF-8 strings > > > ---help--- > > > Universal Serial Bus (USB) is a specification for a serial bus > > > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > > > index 9dca59e..7a67296 100644 > > > --- a/drivers/usb/core/hub.c > > > +++ b/drivers/usb/core/hub.c > > > @@ -28,6 +28,7 @@ > > > #include > > > #include > > > #include > > > +#include > > > > > > #include > > > #include > > > @@ -1619,6 +1620,7 @@ static void hub_disconnect(struct usb_interface *intf) > > > hub->error = 0; > > > hub_quiesce(hub, HUB_DISCONNECT); > > > > > > + of_pwrseq_off_list(&hub->pwrseq_on_list); > > Things like this look a little peculiar -- you are passing an "on_list" > to a function named "...off_list". > > How about naming the new field hub->pwrseq_list instead? > Thanks, Alan. I will change it at next revision. -- Best Regards, Peter Chen