From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751474AbcFVV7V (ORCPT ); Wed, 22 Jun 2016 17:59:21 -0400 Received: from mail-bl2on0084.outbound.protection.outlook.com ([65.55.169.84]:8032 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751209AbcFVV7R (ORCPT ); Wed, 22 Jun 2016 17:59:17 -0400 X-Greylist: delayed 888 seconds by postgrey-1.27 at vger.kernel.org; Wed, 22 Jun 2016 17:59:17 EDT Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=nxp.com;nxp.com; dkim=none (message not signed) header.d=none; From: Stuart Yoder To: CC: , , , , , , Stuart Yoder Subject: [PATCH 09/11] staging: fsl-mc: dprc: fix ordering problem freeing resources in remove of dprc Date: Wed, 22 Jun 2016 16:40:50 -0500 Message-ID: <1466631652-25731-10-git-send-email-stuart.yoder@nxp.com> X-Mailer: git-send-email 1.9.0 In-Reply-To: <1466631652-25731-1-git-send-email-stuart.yoder@nxp.com> References: <1466631652-25731-1-git-send-email-stuart.yoder@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131111054670866572;(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)(7916002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(8666005)(85426001)(2950100001)(50466002)(7846002)(76176999)(50986999)(48376002)(36756003)(586003)(5003940100001)(81156014)(81166006)(305945005)(92566002)(189998001)(77096005)(6806005)(104016004)(356003)(8676002)(110136002)(11100500001)(2906002)(19580395003)(50226002)(229853001)(4326007)(105606002)(2351001)(47776003)(33646002)(19580405001)(106466001)(86362001)(8936002)(87936001)(97736004)(68736007)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR0301MB1619;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD033;1:WGj6gHtqZxPPhDeP6U/00arrx1deGkl0/Xv85LSn+xE+bUM8QIPmJB7KZiA16+UxXnnkxJrAzge5AE8WKXWHYIIsqfZM4RrtZ/6+K02Dn3L0+AYmn4t2/c7qBbJydVJ0Qgd6Aa0ot9jQle3uZBiv39uWc6C/GHAMyA5+r/qUpgoWj/EXW1A1v9xnYL501/586u2qlZYKIImRbRKcktHj1sO3cV4XYwtiFHh6unjl1nVAFNQ/S3a8d1SsEvSCe+p9AViR08CIPms0yzz7OlleeyTRe+jYNH9mxA4tjfLTYwufFlNuCp3k+f6X9NMQMyzlofXPXto8DVMuHZiZ8RNf9pqMI/KC9mFjrJD6k8B7exzfdHmreL7ZDJm6eHrlj10ZVkD8z83fdXn4jB+g74iGQX2HUF+WVn4d+FSkPrB5xde0a/CFD3OVeifQMEq68fNhDunD/7OUVgUjXhhngQVSMX6y8Znfv9ati4DKGxy1BunsEQBV0/tdJYaCZaNBb0rhZB8AaNvhY7hEb6t9RQfdbsJqdmaJU5Jf5QEIZEPx5EDkboLjwzgH6c7av2yUonpV2mVcSDwLkw1Kbbh6iQkb/5AK1i54bhhwmIrj6jLvcy5/9lNNVMl0xHh0q2LelU0ZxrYbvo6QU1ezxT9WFf9ZBJuB1i3Kn8mU90zLpQZ9uvqxTA0eyC5w+DW3ywyLkUbE MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 4e6bc9d3-e2e8-4146-a88c-08d39ae6623f X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1619;2:BFtTm4cQzkkpRp1H8TnVB8dtdIFmPRjKJmaOvw5e69Utx4+YkCHHnwzXpG2iivR3k9Imeww74WTwC3wqvK5f1oKIc/nPC9g6zuuuQ6W+YGuJShL+AdSBIv+V/tnXdrDveWhlpQp/5kxO6Yn6YzVSWuLgqDvhsdSlvmaaQpOwx3XKa+OaXx7YGUv8WDsewh7d;3:XEPQe10mfDj3BB/C5uogbFdXFFvfSCVrdbexQGWDIUjsW2nv8TztBp9UeBg6xqT70KKSyT0hKZExiKOtQs6sQnJPklzsGtz5/H4v9w56t1WCdsO0i3frsRk8fnqNo5dSiauR0LN0g6ewZ/8nhKug3HlBxrPSkWZgECStKUL68tE1o4s9xjQ5+LB1c5t5BjOBDLmGHd+3QZln8xXt+1Ct8y6f5VCTNaigd8DZk72TCBQ=;25:poGZl+7O7qfgK7akExFTE2WEvfctVEvtxzVcAho8o5wfwXSX+Hb755dJ+/NOtmDJEbn+y1ENVc1V3FAkWHebRwZFazVsrA/dcRLO0cf0C4M+MqyMgqO/yCSjNKFtCCwfsQCx0PKbdoEBWlmJs1uD5GRxR43Txx+JOYvd7acWccW9dQXGRBXFSU38+XCvAailsMdBpIO5gf1ocb8sUC5IpYf1PQl7McGc5BjxF/hFnC2utYAUy5P6yeYt5HvBeWXodCNereS344k+2Vv21Qi6ngCOiTrHg8SyrOVkTjwFYD7FiYmu45Ism6/dztWtYHZjioYqyvYA0HnrT7GR1qCRDxz5ybeDzgmn6tbTgmtCXPnPI/w2odBBFfIZGYIj1AkJsJYfdPZtsvlwESNctJmAMScvRioak2s8LWcyLSijOOQ= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB1619; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13018025)(13017025)(13024025)(13023025)(13015025)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:BLUPR0301MB1619;BCL:0;PCL:0;RULEID:(400006);SRVR:BLUPR0301MB1619; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1619;4:6eObmFWj+tvfX/RIhWuryWdcoGgYNZMMhNqn/s0wU5WX4dKCurtnmLtxj307Gazrjpzt0ix1GUOLIiEgGUzIgz7F8Xak/MIfKqwhECjiCKBsyAXWK9Vpg5Ji26iXf++jTvF7SV23+vwzZkK/ZuCaUvHr9q1AM+JxdaSSM43rWEyKdtRs8XThOB3hN7oT1D8FMkzUx7ypwe9qs9gCZHr2eJPVtlAnEZJ1GIwn2uLvdrKdB0S0IufwV3fa9AnJ9iKZhr/dn9cokX63nROuZcPW69S7F1n2Yv1aFlb5LFx9/LIMRveo4DdcdUCvvLtEDy9PmUiF7/kJQtLoEMLKgWuN+naqRF0thbEQUBHFnduzQI0Xm84vNUO2aFhhUrMXliUq3N5gHJSDFofRsPBoWYYH37Q9cWXECtTaNo2EdN2dogGBgYPuj4MLCV5ctuokJbP3cn505qvQTmx6OHyzLCRPub5mjEO6wKrX+0fKOCxfH++C/ii1l/clQSAcs6ZZuiDW7aalVz1JLiTigA64LURVxQ== X-Forefront-PRVS: 0981815F2F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR0301MB1619;23:dAaixDVaaOgUC9dX8cbU+JG5Ok6AAPVUC2yDiF9?= =?us-ascii?Q?W/3FW0bqOZsRle+SM3/DE9kvJFlmhuIOXMXHg+lTlu7eUwPNSqNBxCMF2arU?= =?us-ascii?Q?PI14jUZ1+0Y9nzhz5u7f9a2+2YoYyZqw9wf6yoUOFDMDVZK6sAzRfA5pfXV4?= =?us-ascii?Q?Ql2eTlap/OlSIpWlUxrebhm7j70l/gVnKffgeuTbcvY8C8WXovq0xLuvHt0o?= =?us-ascii?Q?C8LQTJmO30oSxOu01ngQr8vi/DC6EIDUqGjjbk7yHJYi+K6+dbHh74fPKYrD?= =?us-ascii?Q?D9PSSalFAWHsqDHAgG3lQ4C6oChMbAlCE+7Y7IKAITbu4CEGNhZ2KdHS2H5+?= =?us-ascii?Q?7P1i5mC+AWfGKlvxJhgpKaVIaBfg+fpd2qM9CRBYcEoE+byCh1oqwDtYhzsf?= =?us-ascii?Q?Z+Lpu13eAPxv0tdGG30vudOaeCIcCBY0uVLBrhT2CIXp21uw7D7Gy9j8C1DZ?= =?us-ascii?Q?LfCPfsoPJfqxrKI6AB4673MpaJ3Hxw8+JszxFxE/L4JWkmrltIOcilzo/Mr2?= =?us-ascii?Q?zBc+7gnJs8X364WvAnlG5uQsxhBYz4afwcvxpvHLlWWh4Cmj3gjmIRQq1vNr?= =?us-ascii?Q?dvhJbszOWFkH0+1Efem584k+YqNVxeJYaFEOY1mh2LeyZ/YNsuU1Ob8gsGG4?= =?us-ascii?Q?9UX3Mb2k3Qi0RNzkRUtq9jYopQhYlcLV2OAatMGGwCtVM3hbxYCF3OfFvAB2?= =?us-ascii?Q?ZzDqTepVrpXWjuKDQh6uBpyvCWFGy3is2/O24BrzUWDFHDNbqcd78ri4oNGT?= =?us-ascii?Q?5AeaNK1OSTdfPhTMmJFCthcZvhOZyrKTGOHQrN67bdeGB90EOe5LlpYXWblW?= =?us-ascii?Q?RiyuRvrDzTZkzU+tG2D8XGwSsvQI/TgTZDOHrCD7vM/vM1w6PmiYAO2YwcpW?= =?us-ascii?Q?dcdwp/Tyko7ayO1vPfFrnh/NrxEbILDuFddAgfUWzpC2XbgMJAYxu7/2xPAb?= =?us-ascii?Q?Lesy0DJL+dqqqnauIu8JG6YrDeDLFYqUDcgQGXkap9395ybQv14nGr5kEWMT?= =?us-ascii?Q?6evlrDdaMWJOpo2NhA0qmCqfqZuN0BHZ6uBS5Zzr491+X8+p76T9KbTineov?= =?us-ascii?Q?+D4de996Ur8TmUg1EEehKVncM7xlMQWBNHsMk1qx+7cm8608wvgIvzbbei4S?= =?us-ascii?Q?4hDXgUXViI9TJUR1kmJdAGLXxmBWaKVch?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1619;6:voTCoRwXquk0mfGyq0kI/bVG8gyuBcwmqQS65rvD2DDVyZ5JIyYaY6rbFnbvPtlKV8LrRfEOwPxvn9Hm9ByVa0FesAfKRivTg0kRsmIKxaIFodrg9DSEE3QYLoNJYmeG85GqxjAHi8HqV8VcHr+eUiG433dK57ugJHm5Kptuqblrn160QX3CYyUTZwxvcjubfsWmU/7hj5dCFJSPFj7wpz//qxCvpRsmUW4T0EQb1vXWZiNtn5ArmaZqowfG6dmmLD+LGvBrPFvFmkMDSLMywgfBtm3aZ8/aEFfzm/Ls38iY0ExANJvMdyJbfL7jocTH;5:sB/I3uPlnwG1oIm8CdhD0Neq0TnKMrC5XuMjXGIKpF4nCOTcMfu2DE4ALFUk9JryN5yJ6yAPsSXkq3BjKtOIaMdBbm7jxR0CUNvzQBMPYySFThllLxoF5ia0sIZnUsRlutvk3iw8gJ6qneEZxodleQciTdwlsY+2ScHaxynSZrI=;24:odjrzRpKBUkCVsHLmNZK+g60RnMymPEgo4mTAuPN5HhNaC9UfzZIc0ZOh8mp3Cx0feuP71pnlDjTuVYnHalPcPUwYWg9SXR8tysQ1d1HXnI=;7:LKXoiqRCIzrInmk1Omqqi3Acocw1iId3AnlR2O4K6hzXq5Hdeg1sZeNqZDZk7d0DDVcw4bmY9G5UFszG9RfiKrRFIkJeLubDGIKAtyyH6fVo1Cy/qIrRaiRGOH0OLeHwi/KuUaqvX9YaSi7a7bWyy4JvEHovCwBFptoVRulTBzI7Hu+oirlvX69VWIGPzV8q720w+zyfukQwtstG6VwPr6zadCGbz6O3LuPrAQkMeeqpsCu4NE07jqyDOQPfzgBDBlO1Cw/bkbQBSQTMdeWZXw== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2016 21:44:26.8994 (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: BLUPR0301MB1619 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When unbinding a dprc from the dprc driver the cleanup of the resource pools must happen after irq pool cleanup is done. Signed-off-by: Stuart Yoder --- drivers/staging/fsl-mc/bus/dprc-driver.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/staging/fsl-mc/bus/dprc-driver.c b/drivers/staging/fsl-mc/bus/dprc-driver.c index 96ee1b7..d2a71f1 100644 --- a/drivers/staging/fsl-mc/bus/dprc-driver.c +++ b/drivers/staging/fsl-mc/bus/dprc-driver.c @@ -796,16 +796,18 @@ static int dprc_remove(struct fsl_mc_device *mc_dev) dprc_teardown_irq(mc_dev); device_for_each_child(&mc_dev->dev, NULL, __fsl_mc_device_remove); - dprc_cleanup_all_resource_pools(mc_dev); - error = dprc_close(mc_dev->mc_io, 0, mc_dev->mc_handle); - if (error < 0) - dev_err(&mc_dev->dev, "dprc_close() failed: %d\n", error); if (dev_get_msi_domain(&mc_dev->dev)) { fsl_mc_cleanup_irq_pool(mc_bus); dev_set_msi_domain(&mc_dev->dev, NULL); } + dprc_cleanup_all_resource_pools(mc_dev); + + error = dprc_close(mc_dev->mc_io, 0, mc_dev->mc_handle); + if (error < 0) + dev_err(&mc_dev->dev, "dprc_close() failed: %d\n", error); + if (!fsl_mc_is_root_dprc(&mc_dev->dev)) { fsl_destroy_mc_io(mc_dev->mc_io); mc_dev->mc_io = NULL; -- 1.9.0