From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B5AFAC54EBE for ; Mon, 16 Jan 2023 15:35:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229871AbjAPPfY (ORCPT ); Mon, 16 Jan 2023 10:35:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230458AbjAPPem (ORCPT ); Mon, 16 Jan 2023 10:34:42 -0500 Received: from vps0.lunn.ch (vps0.lunn.ch [156.67.10.101]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 098244EF9; Mon, 16 Jan 2023 07:32:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lunn.ch; s=20171124; h=In-Reply-To:Content-Transfer-Encoding:Content-Disposition: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:From: Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Content-Disposition: In-Reply-To:References; bh=QajF265tJ0WvkwuQz9gjguYri6Y5RnP6Kr8WpdzadyU=; b=o1 Ao0LKkB6DMZq2hTu7weiDdpyHpNYITfKyZdvoTFXZfUrOO6GQSOhkvpJ5kP6RkdBhsxoE4BLlyGIS mI93lhuZ+e1U6pH7ldMxn8DIQWvPBd71xnCnF4yZeO8MHDxFArDaXpEmfVG/tekmKWOxn1xb6K+lj Q8ecZ/ibyw3Gboc=; Received: from andrew by vps0.lunn.ch with local (Exim 4.94.2) (envelope-from ) id 1pHRTB-002F0G-7T; Mon, 16 Jan 2023 16:32:21 +0100 Date: Mon, 16 Jan 2023 16:32:21 +0100 From: Andrew Lunn To: Pierluigi Passaro Cc: Pierluigi Passaro , "wei.fang@nxp.com" , "shenwei.wang@nxp.com" , "xiaoning.wang@nxp.com" , "linux-imx@nxp.com" , "davem@davemloft.net" , "edumazet@google.com" , "kuba@kernel.org" , "pabeni@redhat.com" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Eran Matityahu , Nate Drude , Francesco Ferraro Subject: Re: [PATCH v2] net: fec: manage corner deferred probe condition Message-ID: References: <20230115213804.26650-1-pierluigi.p@variscite.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > This is the setup of the corner case: > - FEC0 is the owner of MDIO bus, but its own PHY rely on a "delayed" GPIO > - FEC1 rely on FEC0 for MDIO communications > The sequence is something like this > - FEC0 probe start, but being the reset GPIO "delayed" it return EPROBE_DEFERRED > - FEC1 is successfully probed: being the MDIO bus still not owned, the driver assume >   that the ownership must be assigned to the 1st one successfully probed, but no >   MDIO node is actually present and no communication takes place. So semantics of a phandle is that you expect what it points to, to exists. So if phy-handle points to a PHY, when you follow that pointer and find it missing, you should defer the probe. So this step should not succeed. > - FEC0 is successfully probed, but MDIO bus is now assigned to FEC1 > and cannot  and no communication takes place Andrew