From patchwork Thu Oct 29 09:09:37 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: shaohui xie X-Patchwork-Id: 537761 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 6B14F14016A for ; Thu, 29 Oct 2015 20:48:51 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751491AbbJ2Jsr (ORCPT ); Thu, 29 Oct 2015 05:48:47 -0400 Received: from mail-by2on0078.outbound.protection.outlook.com ([207.46.100.78]:34006 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750927AbbJ2Jsp (ORCPT ); Thu, 29 Oct 2015 05:48:45 -0400 X-Greylist: delayed 1026 seconds by postgrey-1.27 at vger.kernel.org; Thu, 29 Oct 2015 05:48:45 EDT Received: from CH1PR03CA006.namprd03.prod.outlook.com (10.255.156.151) by CY1PR0301MB1273.namprd03.prod.outlook.com (10.161.214.21) with Microsoft SMTP Server (TLS) id 15.1.306.13; Thu, 29 Oct 2015 09:16:21 +0000 Received: from BL2FFO11FD048.protection.gbl (10.255.156.132) by CH1PR03CA006.outlook.office365.com (10.255.156.151) with Microsoft SMTP Server (TLS) id 15.1.306.13 via Frontend Transport; Thu, 29 Oct 2015 09:16:21 +0000 Authentication-Results: spf=softfail (sender IP is 192.88.168.50) smtp.mailfrom=gmail.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=fail action=none header.from=gmail.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning gmail.com discourages use of 192.88.168.50 as permitted sender) Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD048.mail.protection.outlook.com (10.173.161.210) with Microsoft SMTP Server (TLS) id 15.1.306.13 via Frontend Transport; Thu, 29 Oct 2015 09:16:21 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id t9T9GI11024091; Thu, 29 Oct 2015 02:16:18 -0700 From: To: , CC: , Shaohui Xie Subject: [PATCH] net: phy: fix a bug in get_phy_c45_ids Date: Thu, 29 Oct 2015 17:09:37 +0800 Message-ID: <1446109777-14846-1-git-send-email-shh.xie@gmail.com> X-Mailer: git-send-email 2.1.0.27.g96db324 X-EOPAttributedMessage: 0 X-Matching-Connectors: 130905837815436542; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD048; 1:27OIYfndUxcHFzCwMqTwoKrx3pCid6I5kXBB1RFx8usRMV9s89Wgd8rVeqmguL38trj3wA2oFrqPJTu24dkLPEFJImyPE8m14zPsMkhpXoE2ulM6AbcoK2GV5wYEzwmourIHfQxbYN2pOAo8wfTXn4yqeXUl1Y+9KKQwDgkmIlLe7OIlJ38AbvZcLgfOMB8hConcoc6g5prTaQr8cHaL5KZ5X6bJDzp5RCJcxSh4a4gyfm+FunO9XKxR/r6aco6V4TxE02aEBkc9A/QU1vMUcBZiEkZB2n03X9YxZeDAJa+TfIbOVW+mnZpDaGN1mMLLluR17RVl+CCp9iMAGB0M3q4hUnTnUgKlqEzdDaFOr7aTc3SeQjppmV4hxxDjtPhaKPre3ryLoa3GYyjmoN6rNkmDqyY8181xIxzA3KBCo4EbpgaUDzJl3AAR7K1/yE6F X-Forefront-Antispam-Report: CIP:192.88.168.50; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(199003)(189002)(19580405001)(77096005)(5007970100001)(19580395003)(105596002)(104016004)(5008740100001)(83322999)(50466002)(4001430100002)(6260500002)(36756003)(189998001)(5001770100001)(55446002)(11100500001)(82202001)(61266001)(50226001)(86362001)(5003940100001)(107886002)(92566002)(47776003)(229853001)(33646002)(97736004)(5001960100002)(76482005)(106466001)(50986999)(6806005)(86152002)(81156007)(73392002)(87936001)(87572001)(81442002)(73972006)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB1273; H:tx30smr01.am.freescale.net; FPR:; SPF:SoftFail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1273; 2:JK/ZaRO0ATqXyz/xWNbQgB9oAbUVuz68YYZFVeOjUeHhQtYTijG5A7QQiPT+O6R20BbEtvNdPbNmIthsa3PrF/n0d0L0iCwyuiD/x3lnrKyuO4SZ741A/jDofZzhAVxvrMN9nDLI6Ryd9UR7r0H4lEFeps1Bo7CqSRWT6B14ge4=; 3:VIxlLgbJ46Vq+OWuqGUNRKTy0P+r+TUlu20tHD2gjO8Y2yWGRFd0H4bl668+ClgwuVyTsMF0SkgYrmzMKYe4lQJjfc8bChOIlz0T9JBLDltzbOHJM18UhVn2gd2LLafuELRW9b2RnIR+pWs0tJ1ljz4CFtvCzjuy6KFFr4Vo16kfxOyN7GLyiOvXSdNR4F+kUPCl2AcRvXCHoFs6+DE+29VwFemicdCAxigw1PSo53k=; 25:eiNT4YNYpvZm923B+Kx8Zw/xEHpFtyuqGKrtKHud9vvzZbBh4f7oGw0zGpcc2ffaOIBJv5RLcgDrExQrNa3GVkgs2BQpv81Nc6kosDex+if4ewd6XQlAGG1hzWjQQtH7t6QD2ypLEc6t/nt1sx+n78VtngsiUyCPNt0aM+9aDTuVqggDJJpXXPzLOsPSO8yHI01GriZhh+SiYqMvYhdbHX1J5Haqu3L4QQspuA/VqP0utQqv525Xutwcj3x8jffikmyGRQGptYd+CL99Td/6AQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1273; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001)(102215026); SRVR:CY1PR0301MB1273; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR0301MB1273; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1273; 4:0jIOeDaDLVsZj0yUargXkm1ylR1zbsB6VYmxlpZkFrcnn6NfnyK+dnBFXIiTC8u4phXA3tb7p4qA/IpJe0BXxQdEvZ9SRk23qZYkUQ1bMGKztwbYMjLJ+PS8M6DLMRjXA/Pt5GnR/9RneCa8GP2t0ZLigHnd8UNAQtKJpfMb/1ShrnhdljtKP8yypt8Hbqf0RDUFCI6+FFe6fnT5mN13lLq+O3jVZsBm6dnTPdtp2nqNp8TpgAafQ2nUSphU8karOHMLt4p2fVln5AT2G/UkXC/PmVskiXsyLn/XOyJ+gPT7XlGVxaEdyyfPwgSAnIY96qzD5kfZjHFV4wsM4P4ThylXc1SiocGrOPoIiQKuzOzefnFXilVi/j7ehyORHdX0/nP4MpUNE/DS3BBDJERjIA== X-Forefront-PRVS: 0744CFB5E8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB1273; 23:fIDOLe5m05D4A0mwDBlQD1MDDoRaBuC+GOG4c0o?= =?us-ascii?Q?RjFEZPm3svHvc+V8ImlymYt0RcS1sNo1NnepgMO+y4EYrQ94W1dZs5Bs9G17?= =?us-ascii?Q?PyYUsWFDYu7APCQsIfMrlLus/c1PbGRFR13pHabGN8oZIui2ThaTGduU/vKB?= =?us-ascii?Q?+DngWdHzv1RU7RV5plx9pFTNMCE/isuFwP2bmRpAMuUZO/z67htYxgg4chd3?= =?us-ascii?Q?A+kbtKK2mlhpNbogG4VPMG4EL217B/ZlW1Rj5+JonsoyhyNMhGbL8TgPdUPz?= =?us-ascii?Q?hYwV7ta60C5e2i9uwlkzxj8eoDeJdOxaw7KVZXFS2Dk05AMedq9urCECM+pM?= =?us-ascii?Q?7BpuoUO037EszsQiKz8Fmrcw677O+sEtjcL7xUcNwTVrGd6rVSA7mj1Ywfr6?= =?us-ascii?Q?iZU8m4CnAigojYFqj6/HPzZof+DCOk4sT+EdghC89lzd/fenhY0ZbQE/iQg5?= =?us-ascii?Q?Py2zvXmjoscNkeOZ/iaeP2btz1pFU7IpJ9Xqf9Shac+/6LTXhrS9vUP/PrgZ?= =?us-ascii?Q?cqddBUcFQk/6F/7ox5yVWi/qpU3LuOEE8UojOZHEo1iooi24wOB88fEba3fv?= =?us-ascii?Q?ai3ZZNSLXCcfAszAofnSIy7//IbakVAi2NckxUdxIB9P6oZTahQNgTXQR5qQ?= =?us-ascii?Q?LIFBeo3foH0gSY+qxZ2XK3iEpzgCykgVnx2jFadUhvN+s7JZZad6LDtOgoyS?= =?us-ascii?Q?iFLyHLXv1pjW7zrwY33/D0ZLZTIG0upsCHVe5UD8tvDiJjj9EnnqHj511z40?= =?us-ascii?Q?4NbxxS4wBYDBsonWkY/wlJ1Sh3LWmOx5rfgo/VdNLzH6WqX0GKhZYq+We5Rt?= =?us-ascii?Q?3urDik9z/AndUyNri0RVgxDrwvYgxabwBSDRxkEbrNgizYZxlLnQJqY2AX9D?= =?us-ascii?Q?0oulMVk/pXywCEaBoJBHHdMOW8ooLISMDxMTKe4p1rmYvo0BORWt7R35xudK?= =?us-ascii?Q?NeCsgqKY0Yfqas6ySYw6wiol7ZlNgluzeT2AgVKMk+lkGPJ+YnKHA5aRkwuk?= =?us-ascii?Q?oj0Ngw0Jt4MIbO0STe6D3dMuJ9O/hkxlD5l8kS+KjJEoZA8HwHuYrqAQ9Nh5?= =?us-ascii?Q?7AqBUxbOUBuYWgsyXu4SU45s+Rh0olJuAicUoIzDJMF9MHJuLHiCgVhCHAel?= =?us-ascii?Q?pHpgISG7mBFJjIuzjj4pcAZ2aY16xNDR2vxfYkp1435stQjIajy1MWkk84fi?= =?us-ascii?Q?yQvbixYqFVz1wsIE=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1273; 5:nZcfmtd3XH+b/18niWMWsN4rD9hl1PgPl2Q0NCOn36SpMLRzus9OT+KK95D2/kIbhQp6oEDBDQ3zA5erGUIJ9UlG2eSFPj5sibefGHJgzExrz72z9xCHwn8c4UXFiWmyfxH6EacWfS53L8lAQjYGthxlqGU/LoJf8UTDNt50T7I=; 24:oPRRE346MywAXzsxFSJ2cKboBJEz8boQvLQROMu15kpZKs7/TV5y7TMi4/VMvYDdB+2GFYCI5EqH/VcI9z2ttOM4UprOhJBbhBCaNVzhWMg= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2015 09:16:21.2316 (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: CY1PR0301MB1273 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Shaohui Xie When probing devices-in-package for a c45 phy, device zero is the last device to probe, in a rare situation which driver can read a '0' from the device zero, thus c45_ids->devices_in_package is set to '0', so the loop condition of probing is matched, see codes below: for (i = 1;i < num_ids && c45_ids->devices_in_package == 0;i++) driver will run in a dead loop. So after probing the device zero, driver should stop the probing loop. Signed-off-by: Shaohui Xie --- drivers/net/phy/phy_device.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 3833891..065d6d3 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -257,6 +257,10 @@ retry: reg_addr = MII_ADDR_C45 | i << 16 | MDIO_DEVS2; return 0; } } + + /* stop probe when device zero was probed. */ + if (!i) + break; } /* Now probe Device Identifiers for each device present. */