All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug report] net: fec: add phy_reset_after_clk_enable() support
@ 2018-06-27 13:29 Dan Carpenter
  0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2018-06-27 13:29 UTC (permalink / raw)
  To: kernel-janitors

Hello Richard Leitner,

This is a semi-automatic email about new static checker warnings.

The patch 1b0a83ac04e3: "net: fec: add phy_reset_after_clk_enable() 
support" from Dec 11, 2017, leads to the following Smatch complaint:

    drivers/net/ethernet/freescale/fec_main.c:2892 fec_enet_open()
     error: we previously assumed 'ndev->phydev' could be null (see line 2861)

drivers/net/ethernet/freescale/fec_main.c
  2860		 */
  2861		if (ndev->phydev && ndev->phydev->drv)
                    ^^^^^^^^^^^^
The patch introduces a new test for NULL.

  2862			reset_again = false;
  2863		else
  2864			reset_again = true;
  2865	
  2866		/* I should reset the ring buffers here, but I don't yet know
  2867		 * a simple way to do that.
  2868		 */
  2869	
  2870		ret = fec_enet_alloc_buffers(ndev);
  2871		if (ret)
  2872			goto err_enet_alloc;
  2873	
  2874		/* Init MAC prior to mii bus probe */
  2875		fec_restart(ndev);
  2876	
  2877		/* Probe and connect to PHY when open the interface */
  2878		ret = fec_enet_mii_probe(ndev);
  2879		if (ret)
  2880			goto err_enet_mii_probe;
  2881	
  2882		/* Call phy_reset_after_clk_enable() again if it failed during
  2883		 * phy_reset_after_clk_enable() before because the PHY wasn't probed.
  2884		 */
  2885		if (reset_again)
  2886			phy_reset_after_clk_enable(ndev->phydev);
  2887	
  2888		if (fep->quirks & FEC_QUIRK_ERR006687)
  2889			imx6q_cpuidle_fec_irqs_used();
  2890	
  2891		napi_enable(&fep->napi);
  2892		phy_start(ndev->phydev);
                          ^^^^^^^^^^^^
But the old code dereferences it unconditionally inside the function.

  2893		netif_tx_start_all_queues(ndev);
  2894	

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [bug report] net: fec: add phy_reset_after_clk_enable() support
@ 2018-03-13 12:44 Dan Carpenter
  0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2018-03-13 12:44 UTC (permalink / raw)
  To: kernel-janitors

Hello Richard Leitner,

This is a semi-automatic email about new static checker warnings.

The patch 1b0a83ac04e3: "net: fec: add phy_reset_after_clk_enable() 
support" from Dec 11, 2017, leads to the following Smatch complaint:

    drivers/net/ethernet/freescale/fec_main.c:2895 fec_enet_open()
    error: we previously assumed 'ndev->phydev' could be null (see line 2864)

drivers/net/ethernet/freescale/fec_main.c
  2863		 */
  2864		if (ndev->phydev && ndev->phydev->drv)
                    ^^^^^^^^^^^^
Patch introduced a new check.

  2865			reset_again = false;
  2866		else
  2867			reset_again = true;
  2868	
  2869		/* I should reset the ring buffers here, but I don't yet know
  2870		 * a simple way to do that.
  2871		 */
  2872	
  2873		ret = fec_enet_alloc_buffers(ndev);
  2874		if (ret)
  2875			goto err_enet_alloc;
  2876	
  2877		/* Init MAC prior to mii bus probe */
  2878		fec_restart(ndev);
  2879	
  2880		/* Probe and connect to PHY when open the interface */
  2881		ret = fec_enet_mii_probe(ndev);
  2882		if (ret)
  2883			goto err_enet_mii_probe;
  2884	
  2885		/* Call phy_reset_after_clk_enable() again if it failed during
  2886		 * phy_reset_after_clk_enable() before because the PHY wasn't probed.
  2887		 */
  2888		if (reset_again)
  2889			phy_reset_after_clk_enable(ndev->phydev);
  2890	
  2891		if (fep->quirks & FEC_QUIRK_ERR006687)
  2892			imx6q_cpuidle_fec_irqs_used();
  2893	
  2894		napi_enable(&fep->napi);
  2895		phy_start(ndev->phydev);
                          ^^^^^^^^^^^^
Unchecked dereference inside function.

  2896		netif_tx_start_all_queues(ndev);
  2897	

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-06-27 13:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-27 13:29 [bug report] net: fec: add phy_reset_after_clk_enable() support Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2018-03-13 12:44 Dan Carpenter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.