From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751477AbeAEJgb (ORCPT + 1 other); Fri, 5 Jan 2018 04:36:31 -0500 Received: from mail-bl2nam02on0052.outbound.protection.outlook.com ([104.47.38.52]:7616 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751262AbeAEJg1 (ORCPT ); Fri, 5 Jan 2018 04:36:27 -0500 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=fail action=none header.from=nxp.com; From: Madalin Bucur To: , , CC: , , , , , , Madalin Bucur Subject: [PATCH net] of_mdio: avoid MDIO bus removal when a PHY is missing Date: Fri, 5 Jan 2018 11:36:14 +0200 Message-ID: <1515144974-31377-1-git-send-email-madalin.bucur@nxp.com> X-Mailer: git-send-email 2.1.0 Reply-To: X-EOPAttributedMessage: 0 X-Matching-Connectors: 131596185575033298;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(346002)(396003)(39380400002)(39860400002)(376002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(47776003)(85426001)(356003)(2201001)(53936002)(81166006)(8676002)(81156014)(39060400002)(8656006)(36756003)(43066004)(110136005)(104016004)(16586007)(8936002)(50226002)(3450700001)(54906003)(305945005)(68736007)(316002)(2906002)(51416003)(50466002)(97736004)(48376002)(77096006)(106466001)(7416002)(5660300001)(4326008)(105606002)(86362001)(6666003)(498600001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB2361;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD033;1:QJ0dI+eyXkQIuckwvKsycuehwQZ9xr15SnnYDo7kZCatgFeljywi+/RssZARjDI9aqbW2Iajhnd0t+CumQonZabDGT8Dko1rfWS/RPhIs3FDLWqUOdo2pGGKP4/6n+c+ MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ed86131a-aad2-41da-09d2-08d5541fb976 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603307);SRVR:CY1PR03MB2361; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB2361;3:SXOiRkTDMEPiOQqkr2LXq3S++XzcNdsLjyRo2ULkcnRpMZ7nCRJ/VbyvOwqwYaZkzgNvld3a7CBEKJrWMWKbakesNgQeHQaoCoSEsECgFwv8d5i/rcXD8iOqqSsDuxx65uEA0mbMm2+XLvMtKuktYQ487nOdEfAyWUKlNw0EfFb6seLCpRzJqBv5YFnnkjLkgf169U1xsQH45C7fTLNV7ZYXUnWUD4rJrt2yDA2f6xdwIzu3xaZvaccxJJgBjGlTjM903xNGGvTu7S/FF6tqEnk+pLeA8UYYe+r1oonktK3O4uurE4axNaHjUXRaJCKBA+3t/9TJrYfkodZ0qI1SsUO1qZsuBPWiQsQ5loqJ91A=;25:Hgr1BRvd28JElWie8A2ZZydGfI6V3BUyuqP5/HbOypFx/1XF3/ftNHgF9Prplnfn6UDqTSBWEfGc3gip/vHmlLtVES4ThUMNIYuGFCVa0q6S4mn0GVR1XltwOzt/8maLS7sgpv2ggV7vz1P+y5gb/FNkbx48AC2cSjyf9fVG0XKc4weYvSPgSQd8cWDeY+v7iFMiRZa1lGO8wbl2GFsuexDmQzvAM2NJmZvO2nwt61JSG37qRniARVlUhr3dONVd2xeiqLM0xsEad3XhkeC7YdFUiggpuuihfg6BZiPfNJu8TEpujRtwAqJe/IfIq6AnxjlYZ1vCHUp9Vet3lje0Lg== X-MS-TrafficTypeDiagnostic: CY1PR03MB2361: X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB2361;31:669QHU8Ge7jVOe9RIKhT2LUYwFY4bePe0LYaQQczTg5NxdYL3d74GQJjk3GtYnXwInqfkes0Y0QCzakXfZfK4LXyJqjeSP7lxxeA7bLIXLHf56942gd8rPZuVK8uZD+XZlecNa85fR4Tn4P22UtcCBkQ+WuUJuMi09RQg0a2oSHrwXETBRkEkR6MQ+Mw6MlDXyikNvLFjhdFaZyD+1wou2UU7U+soJ3anQPH1DutUyU=;4:Xd2P7rBGERwXUX/UwoHr+lQiDKagU2nSINJk0mj2WTCYa0k8W1oLtmNPKiXudXlK4lknBf6IkpQ8HyD7IOIkz+xBfxPTGjZz6gzkGB+Z+6lcy9BU4OIl9zxUxoEsTsGygZBGaJtdyQhB8rkOD/gVL9suOILeGBblSgtJJgh2hL+qjRJOszuHmkZLI22Pk0PCwLdQq+k9Ag7UNE/5B4+QP3crXqpk2NmLSx/kf2zouSrSThfM2i9vqkcFpqvEtLTGVXmg//+O/MG39HdwcqGo4vyeyxKkpQI0dFty290Yfn5W9+3EH733u6ur+xumu8BD X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231023)(944510075)(944921075)(946801075)(946901075)(6055026)(6096035)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123565025)(20161123556025)(20161123561025)(20161123563025)(20161123559100)(201708071742011);SRVR:CY1PR03MB2361;BCL:0;PCL:0;RULEID:(100000803101)(100110400095)(400006);SRVR:CY1PR03MB2361; X-Forefront-PRVS: 05437568AA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR03MB2361;23:u/m9/BFcvVbp7SbP8s3j0NzzxPIVnxvJu3WmNMfwh?= =?us-ascii?Q?ckcgGNRrVFQeL5oou3IYeu2MvzstjYaZ+kHHBsGqocVKVVkuSe7VnTOc3iM1?= =?us-ascii?Q?qMJR2NP1HNkQm3RwJBHz7Vuf9HsOuAoD4vu+SRI1Cn9Jb0iQWtFiM3IaLZej?= =?us-ascii?Q?9Pcer28W+/EZodBI1iUg8hDjaWSoPnnPWukaZzYnJKFQ5AsBHDw4JH+D1a19?= =?us-ascii?Q?GNam001yYCpMP7Qq4mTzSNye1HgJ5qV8gG+XDRY8jC04LVezWJsISPLSwqws?= =?us-ascii?Q?zcPmKNCFzMKzFHEuveZiQtMX9ShsWZ896usMRCcQB/fJW2o5UXuVyCb1r3/K?= =?us-ascii?Q?ak65PQgbqZpjuyE36mHrFb6CBmIEnJm3L/Mvx8CAerQRv/7ecSXKf6ixionv?= =?us-ascii?Q?4QFrXOolp6cYBATnvej8GWANOL2lCWiAAoz1tjpfgQz3NlQCwmLrISSoW6I+?= =?us-ascii?Q?0A1r51waEzKu7vvMLITVEym+EprmgIGt9jrPwrX52kK0N6xBsPq4MVZ+UV45?= =?us-ascii?Q?eWha0xHhqbyMw7TvJhc2whuCZ3Knc0VB9MmDUF/nNyaX0xKip+5cJFp+yKb3?= =?us-ascii?Q?5lGIa/nrWiWrNqeCtkl/QPU5tXDnduFOenK3267V7KfnzXhhBrxdz1o+zsde?= =?us-ascii?Q?Mdg3s2Q/oJeTs+gQOp1zrVsOzjmXYNymyX37KOrVEF1wrRt9LA3roxokY6x6?= =?us-ascii?Q?5H9LwQPub63oW+e+40DqW3GoBx0c6eO2XhlWu1W/Ksrs+v6/flsv2zP2cshh?= =?us-ascii?Q?ifeeu4Od1GAIcDqyZZgYZKH9hi/95rmZY1oY/Gc7f84x9MhpC/zMLGQZJ/mL?= =?us-ascii?Q?NDrmzitkZ3jRUNFe7YoM2ljzkXt1IfN1PJq2hIQVRWDtuRq0/d1vIygvxdlf?= =?us-ascii?Q?dtj6M9hpN/FGM2kI/X3YybrUBECEYdfOkijepgWoeyocy1EiHAo21FP/dJvX?= =?us-ascii?Q?2MwulvILPkNRZy2AB2H8IM68lzzOBVIa5m31D7StxsXx4eQw8zlPsVFtGzda?= =?us-ascii?Q?SjSa7aUFVaTGCxzKf23iQDtkeltQw6B5yuHETdGJupiT0l8GK6tyCPfngtZm?= =?us-ascii?Q?5p/UhQThh7c5BcyKxfmM3u8UxgdKku6CYHcQwxoaDImrYTu/2Y4XBg6zy+S6?= =?us-ascii?Q?+79EcTyP9Y=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB2361;6:G2k+PxQDtzI135x0wFulgvZu/xhlEbMSTYHq3QVgC9rPqVFcFJk0+YilwI1O+0ba4zFfO/PaF5+dSis1QiPQcI1p+m9Uo8NjMPJAZQ0rbxjU5+rWAIowOsa3MiTABn6uMIV6VwHcyI7D+7dRhviV65WpBU3uq9m6zTTy9wUPi+PcbOUJ8QGzhMv/sLk8Dhwc/woovOpp7UzuNtwSxtvw/DaOhVLfhZKTW1w9Fe4E8BVzUw9YHlVxWLfeQ6bzFj+XufB8OUQmEe5EZ1dQucIBP6I8mfDZpnOi0rRoZEEaUCkKgQ4vj55fqcbGOyS7TArkODS66/8v4gqoxOSF6bBU4rjMP7yMs62tEcq7fgI05gk=;5:hWY5h1ilNe/PsXzTyKRcs9rGnjcfwJJ6AH8BDfAMGS/XZr0PwCNyB4K2JC6LXfszm00XdEBGlnX3lWbdneieRHNs1JfO21iC2PncchDW6Sd/LMTuYe0QzKbVYerFWFX2ygx7w2AX9B64RAkvq7SY3J4Ya1N2vresNFaQATccKIA=;24:9KUjMVbtzOOZtmCfip+kmEnTjaGf3n/OfLnhW5s9dBfVGPLkTpm1PxjIOcEoRt4mNHHqyKx6AgLq3nm5kQtZlPvkz0oKDhqDQu/K0MC/RrY=;7:/vOk1xlIKMG8DhT/jYabnb0OTjqsp4NZHoQosyW5a5TtC8D3/gXWATnq6F+W9ECr60f3c9weKts3p408egskgjbcQ/mSpmKfo2tixmvzdDIRGwSA98mo5fet8Baf4FOvb3IEeVg34mvegwXg+mo3LRf9zbm2/GHS1pNNtHTDIqnMm3s5SjDtU58ngJjTGXUz/KgSI4CculAzIXUrgFy/nONvMVhieZy5DArTQrmH05ERcBP0ZUvJe46acD68HUA7 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2018 09:35:53.7905 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ed86131a-aad2-41da-09d2-08d5541fb976 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: CY1PR03MB2361 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: If one of the child devices is missing the of_mdiobus_register_phy() call will return -ENODEV. When a missing device is encountered the registration of the remaining PHYs is stopped and the MDIO bus will fail to register. Propagate all errors except ENODEV to avoid it. Signed-off-by: Madalin Bucur --- drivers/of/of_mdio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c index 3481e69..93d41275 100644 --- a/drivers/of/of_mdio.c +++ b/drivers/of/of_mdio.c @@ -231,7 +231,7 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) rc = of_mdiobus_register_phy(mdio, child, addr); else rc = of_mdiobus_register_device(mdio, child, addr); - if (rc) + if (rc && rc != -ENODEV) goto unregister; } @@ -255,7 +255,7 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) if (of_mdiobus_child_is_phy(child)) { rc = of_mdiobus_register_phy(mdio, child, addr); - if (rc) + if (rc && rc != -ENODEV) goto unregister; } } -- 2.1.0