* [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.