Message ID | 1475566379-5078-9-git-send-email-madalin.bucur@nxp.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
From: Madalin Bucur > Sent: 04 October 2016 08:33 > Subject: [net-next 08/13] fsl/fman: check pcsphy pointer before use .. > --- a/drivers/net/ethernet/freescale/fman/fman_memac.c > +++ b/drivers/net/ethernet/freescale/fman/fman_memac.c > @@ -507,6 +507,9 @@ static void setup_sgmii_internal_phy(struct fman_mac *memac, > { > u16 tmp_reg16; > > + if (WARN_ON(!memac->pcsphy)) > + return; > + Why? Either it can validly be NULL in which case you don't want the message. Or it shouldn't be NULL in which case you need to find and fix the bug. The later kernel OOPS will make the bug much easier to find. David
> -----Original Message----- > From: David Laight [mailto:David.Laight@ACULAB.COM] > Sent: Tuesday, October 04, 2016 5:44 PM > To: Madalin-Cristian Bucur <madalin.bucur@nxp.com>; > netdev@vger.kernel.org > Cc: linuxdev.baldrick@gmail.com; linuxppc-dev@lists.ozlabs.org; > davem@davemloft.net; linux-kernel@vger.kernel.org > Subject: RE: [net-next 08/13] fsl/fman: check pcsphy pointer before use > > From: Madalin Bucur > > Sent: 04 October 2016 08:33 > > Subject: [net-next 08/13] fsl/fman: check pcsphy pointer before use > .. > > --- a/drivers/net/ethernet/freescale/fman/fman_memac.c > > +++ b/drivers/net/ethernet/freescale/fman/fman_memac.c > > @@ -507,6 +507,9 @@ static void setup_sgmii_internal_phy(struct > fman_mac *memac, > > { > > u16 tmp_reg16; > > > > + if (WARN_ON(!memac->pcsphy)) > > + return; > > + > > Why? > > Either it can validly be NULL in which case you don't want the message. > Or it shouldn't be NULL in which case you need to find and fix the bug. > The later kernel OOPS will make the bug much easier to find. > > David You can get into that situation if you have a broken device tree, state into which someone may get while trying to create the device tree for a new board. Avoiding a crash here allows the user to look at the device trees as seen by the kernel / add some debug code if needed. Madalin
diff --git a/drivers/net/ethernet/freescale/fman/fman_memac.c b/drivers/net/ethernet/freescale/fman/fman_memac.c index 96dfe7e..53ef51e 100644 --- a/drivers/net/ethernet/freescale/fman/fman_memac.c +++ b/drivers/net/ethernet/freescale/fman/fman_memac.c @@ -507,6 +507,9 @@ static void setup_sgmii_internal_phy(struct fman_mac *memac, { u16 tmp_reg16; + if (WARN_ON(!memac->pcsphy)) + return; + /* SGMII mode */ tmp_reg16 = IF_MODE_SGMII_EN; if (!fixed_link)
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> --- drivers/net/ethernet/freescale/fman/fman_memac.c | 3 +++ 1 file changed, 3 insertions(+)