From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753630AbdJMDk3 (ORCPT ); Thu, 12 Oct 2017 23:40:29 -0400 Received: from mailout2.samsung.com ([203.254.224.25]:18274 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753458AbdJMDk1 (ORCPT ); Thu, 12 Oct 2017 23:40:27 -0400 X-AuditID: b6c32a4a-f8bff70000001014-28-59e035a8abcf Subject: Re: [PATCH] PCI: dwc: designware: don't sleep in atomic context To: David Laight , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" Cc: Kishon Vijay Abraham I , Bjorn Helgaas , Jingoo Han , Joao Pinto From: Pankaj Dubey Message-ID: <70cd34bd-01db-cd93-ddf7-d82114ccc61a@samsung.com> Date: Fri, 13 Oct 2017 09:10:38 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <063D6719AE5E284EB5DD2968C1650D6DD00924BC@AcuExch.aculab.com> Content-Type: text/plain; charset="windows-1252"; format="flowed" Content-Transfer-Encoding: 7bit Content-Language: en-US X-Brightmail-Tracker: H4sIAAAAAAAAA02Se0hTcRTH+e3e3d2Zi9s0PL5xVKSgpTTYH2oJBsMELQhc/+gtL1Oam2w+ 8x/fimQ+ktC5UsHMR08dPopoznSNSiVN85GKTcTKhs5M1D9yuwr773O+53vO4QuHxIR6rheZ qsxg1EpaISJc8N6hwLPB7eIl2fnle/6S1sIUSf/jHo6kfauBJ9lZHsYk4yt3CcnEax0h+fzI RFziSasa6wjpgPY7T9rcnSnVv7MhqelbH0dq6/aLJ264hCczitQsRn0uMsklpXXbQKTvHcsx z3zg5aN5fgXik0BdgIkeC68CuZBC6g2C+oVpxBabCF4Mt3HYYhuBoWieczRSPVdPsI23CEb0 KzhbWBF8sZkJu8uNksLftTGuveFOtSEoNpsduzBKh2B2QMe1uwgqGCzWh5idBVQkFFat43bG qdNQYLE6+CSVAKahJ4j1nABzg8Wh86kYaFofd+zBqCjY/2E8ZH/oW9dhLHvArKXJcRioVQL+ rC8TbIhosJVNYyy7wU+TnseyF6xVlR5yHljMv3B2uBrBq0HT4cBFMEzqcJYjYPT+7uG141C5 Zzm4Rh7oAigvFbKWM/Bv9RPGylKo2PBh5SgobqnjVqMArVM0rVMcrVMcrVOcZoR3Ik8mXZMm ZzTi9DAlkx2iodM0mUp5yC1VWjdy/FJQTD9qG401IopEIldBf/aiTMilszS5aUYEJCZyF4x7 LcmEgmQ69w6jViWqMxWMxoi8SVzkIRgZyJQJKTmdwdxmmHRGfdTlkHyvfGSMK1MY+NXPG0M5 S57aQGUt3ypbembRxXWUTD3Nuy7XJaleTvYGXCvx+Hhzhq70jejSjW/su+XMqXJ+b8UOvt9J KG++WmwKozprplyV8X7ei0pxwpXorge+BbUt/WJe4rWFUwZV5WL4zuY+s1sU0LgdNuYTa638 artc0tGOakS4JoUODcLUGvo/zQTR6UcDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupikeLIzCtJLcpLzFFi42LZdlhJXne56YNIg6X/5C2WNGVY7Fi6mcli xZeZ7BY/Hh1ltrjwtIfN4vKuOWwWZ+cdZ3Ng9+ifPYXNY+esu+weCzaVemzZ/5nR4/iN7Uwe nzfJBbBFcdmkpOZklqUW6dslcGUs+XaAreA3d8XJmyfYGxjvcHYxcnJICJhITLg9g62LkYtD SGA3o8TRyR2sEAkZicmrV0DZwhIr/z1nhyh6yyjx/GYfWEJYwEPi68vzrCAJEYFljBKPl04D G8UsMIdR4sC9W6wQLXcYJRqerGUBaWET0JV48n4uM4jNK2An0dT/FizOIqAq0fjkPZgtKhAh 8bz5PStEjaDEyZlPwOKcAl4S899eAIszC9hK3Jm7mxnClpfY/nYOlC0ucevJfKYJjEKzkLTP QtIyC0nLLCQtCxhZVjFKphYU56bnFhsWGOallusVJ+YWl+al6yXn525iBMeQluYOxstL4g8x CnAwKvHw7ii/HynEmlhWXJl7iFGCg1lJhPeC1INIId6UxMqq1KL8+KLSnNTiQ4zSHCxK4rxP 845FCgmkJ5akZqemFqQWwWSZODilGhhnJT71mrFuw8a7VwR3VjsXbDjgFy3xLuN6/9GMqc7f V/2rmtQcUrHk9ezLb3avTli+zSOqTcuGbW+XfuTeEvvL+nPO1086PK31d0TZX4Mlcevcvt7h yjsrtOF61L4tYm83J3zL/THvykam5nMzfS6Y9uputP7KuUchXnjiUq21n176OU6Z76n4W4ml OCPRUIu5qDgRAJXYNZidAgAA X-CMS-MailID: 20171013034023epcas5p3752103681198f5d227cc293e58cd9049 X-Msg-Generator: CA X-Sender-IP: 182.195.40.13 X-Local-Sender: =?UTF-8?B?7YyQ7Lm07KaIG1NTSVItRkRTIFNXG+yCvOyEseyghOyekBsu?= =?UTF-8?B?L1NlbmlvciBDaGllZiBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?UEFOS0FKIEtVTUFSIERVQkVZG1NTSVItRkRTIFNXG1NhbXN1?= =?UTF-8?B?bmcgRWxlY3Ryb25pY3MbLi9TZW5pb3IgQ2hpZWYgRW5naW5lZXI=?= X-Sender-Code: =?UTF-8?B?QzEwG1NXQUhRG0MxMElEMDdJRDAxMDk5Nw==?= X-MTR: 20171013034023epcas5p3752103681198f5d227cc293e58cd9049 CMS-TYPE: 105P X-CMS-RootMailID: 20171012075438epcas2p32599c2db4ed1512c81d1039bb1ed5607 X-RootMTR: 20171012075438epcas2p32599c2db4ed1512c81d1039bb1ed5607 References: <1507794889-11148-1-git-send-email-pankaj.dubey@samsung.com> <063D6719AE5E284EB5DD2968C1650D6DD00924BC@AcuExch.aculab.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/12/2017 04:09 PM, David Laight wrote: > From: Pankaj Dubey >> Sent: 12 October 2017 08:55 >> In pcie-designware.c many places we are calling "usleep_range" which >> are in atomic context. This patch fixes these potential BUGs and >> replaces "usleep_range" with mdelay calls. >> >> Signed-off-by: Pankaj Dubey >> --- >> drivers/pci/dwc/pcie-designware.c | 8 ++++---- >> drivers/pci/dwc/pcie-designware.h | 3 +-- >> 2 files changed, 5 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/pci/dwc/pcie-designware.c b/drivers/pci/dwc/pcie-designware.c >> index 88abddd..35d19b9 100644 >> --- a/drivers/pci/dwc/pcie-designware.c >> +++ b/drivers/pci/dwc/pcie-designware.c >> @@ -138,7 +138,7 @@ static void dw_pcie_prog_outbound_atu_unroll(struct dw_pcie *pci, int index, >> if (val & PCIE_ATU_ENABLE) >> return; >> >> - usleep_range(LINK_WAIT_IATU_MIN, LINK_WAIT_IATU_MAX); >> + mdelay(LINK_WAIT_IATU_MIN); >> } > Spinning for 9ms (possibly 10 times) isn't really a good idea. Yes. It may not be a good idea, however in our experiment it never hit maximum retry count. I just converted usleep_range to mdelay keeping min time limitation as it is, though I am not sure, how do we arrived on these numbers in original code, may be Joao Pinto from Synopsys have some idea, I will try to do few experiment and try to find out what is sufficient minimum time in our hardware for these mdelay. Thanks, Pankaj Dubey > David > > > >