Message ID | 42ed0fb7ef99101d6fd8b799bccb6e2d746939c2.1576520432.git.richardcochran@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: axienet: Fix random driver issues. | expand |
> -----Original Message----- > From: Richard Cochran <richardcochran@gmail.com> > Sent: Tuesday, December 17, 2019 12:03 AM > To: netdev@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org; David Miller > <davem@davemloft.net>; Michal Simek <michals@xilinx.com>; Radhey > Shyam Pandey <radheys@xilinx.com> > Subject: [PATCH net-next 1/3] net: axienet: Propagate registration errors > during probe. > > The function, axienet_mdio_setup(), calls of_mdiobus_register() which > might return EDEFER_PROBE. However, this error is not propagated to EPROBE_DEFER. In which scenario we are hitting probe_defer? > the driver's probe method, and so deferred registration cannot happen. > This patch fixes the issue by handling the error code properly. > > Signed-off-by: Richard Cochran <richardcochran@gmail.com> > --- > drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c > b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c > index 20746b801959..53644abe52da 100644 > --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c > +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c > @@ -1835,9 +1835,10 @@ static int axienet_probe(struct platform_device > *pdev) > } > > ret = axienet_mdio_setup(lp); > - if (ret) > - dev_warn(&pdev->dev, > - "error registering MDIO bus: %d\n", ret); > + if (ret) { > + dev_err(&pdev->dev, "error registering MDIO > bus\n"); Error handling for _mdio_setup failure seems ok. Minor nit- skip printing message " error registering MDIO bus" for defer case. > + goto free_netdev; > + } > } > > lp->phylink_config.dev = &ndev->dev; > -- > 2.20.1
On Tue, Dec 17, 2019 at 06:19:47AM +0000, Radhey Shyam Pandey wrote: > > -----Original Message----- > > From: Richard Cochran <richardcochran@gmail.com> > > Sent: Tuesday, December 17, 2019 12:03 AM > > To: netdev@vger.kernel.org > > Cc: linux-arm-kernel@lists.infradead.org; David Miller > > <davem@davemloft.net>; Michal Simek <michals@xilinx.com>; Radhey > > Shyam Pandey <radheys@xilinx.com> > > Subject: [PATCH net-next 1/3] net: axienet: Propagate registration errors > > during probe. > > > > The function, axienet_mdio_setup(), calls of_mdiobus_register() which > > might return EDEFER_PROBE. However, this error is not propagated to > EPROBE_DEFER. In which scenario we are hitting probe_defer? Did you see the cover letter? I am referring to this series: 16.Dec'19 [PATCH V6 net-next 00/11] Peer to Peer One-Step time stamping Thanks, Richard
> -----Original Message----- > From: Richard Cochran <richardcochran@gmail.com> > Sent: Tuesday, December 17, 2019 9:20 PM > To: Radhey Shyam Pandey <radheys@xilinx.com> > Cc: netdev@vger.kernel.org; linux-arm-kernel@lists.infradead.org; David > Miller <davem@davemloft.net>; Michal Simek <michals@xilinx.com> > Subject: Re: [PATCH net-next 1/3] net: axienet: Propagate registration errors > during probe. > > On Tue, Dec 17, 2019 at 06:19:47AM +0000, Radhey Shyam Pandey wrote: > > > -----Original Message----- > > > From: Richard Cochran <richardcochran@gmail.com> > > > Sent: Tuesday, December 17, 2019 12:03 AM > > > To: netdev@vger.kernel.org > > > Cc: linux-arm-kernel@lists.infradead.org; David Miller > > > <davem@davemloft.net>; Michal Simek <michals@xilinx.com>; Radhey > > > Shyam Pandey <radheys@xilinx.com> > > > Subject: [PATCH net-next 1/3] net: axienet: Propagate registration errors > > > during probe. > > > > > > The function, axienet_mdio_setup(), calls of_mdiobus_register() which > > > might return EDEFER_PROBE. However, this error is not propagated to > > EPROBE_DEFER. In which scenario we are hitting probe_defer? > > Did you see the cover letter? I am referring to this series: I mean in which scenario we are hitting of_mdiobus_register defer? The series you mentioned talks about one-step TS. > > 16.Dec'19 [PATCH V6 net-next 00/11] Peer to Peer One-Step time stamping > > Thanks, > Richard
On Thu, Dec 19, 2019 at 06:13:34PM +0000, Radhey Shyam Pandey wrote:
> I mean in which scenario we are hitting of_mdiobus_register defer?
of_mdiobus_register_phy() returns EPROBE_DEFER.
Thanks,
Richard
> -----Original Message----- > From: Richard Cochran <richardcochran@gmail.com> > Sent: Friday, December 20, 2019 10:50 AM > To: Radhey Shyam Pandey <radheys@xilinx.com> > Cc: netdev@vger.kernel.org; linux-arm-kernel@lists.infradead.org; David > Miller <davem@davemloft.net>; Michal Simek <michals@xilinx.com> > Subject: Re: [PATCH net-next 1/3] net: axienet: Propagate registration errors > during probe. > > On Thu, Dec 19, 2019 at 06:13:34PM +0000, Radhey Shyam Pandey wrote: > > I mean in which scenario we are hitting of_mdiobus_register defer? > > of_mdiobus_register_phy() returns EPROBE_DEFER. Thanks. For defer we can skip "error registering MDIO bus" reporting. > > Thanks, > Richard
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index 20746b801959..53644abe52da 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -1835,9 +1835,10 @@ static int axienet_probe(struct platform_device *pdev) } ret = axienet_mdio_setup(lp); - if (ret) - dev_warn(&pdev->dev, - "error registering MDIO bus: %d\n", ret); + if (ret) { + dev_err(&pdev->dev, "error registering MDIO bus\n"); + goto free_netdev; + } } lp->phylink_config.dev = &ndev->dev;
The function, axienet_mdio_setup(), calls of_mdiobus_register() which might return EDEFER_PROBE. However, this error is not propagated to the driver's probe method, and so deferred registration cannot happen. This patch fixes the issue by handling the error code properly. Signed-off-by: Richard Cochran <richardcochran@gmail.com> --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)