[PATCH] net: ll_temac: stop phy when request_irq() failed in temac_open()

shaozhengchao shaozhengchao at huawei.com
Sun Nov 20 17:05:39 PST 2022


Sorry to interrupt, please ignore this patch.

On 2022/11/21 9:06, Zhengchao Shao wrote:
> When request_irq() failed in temac_open(), phy is not stopped. Compiled
> test only.
> 
> Fixes: 92744989533c ("net: add Xilinx ll_temac device driver")
> Signed-off-by: Zhengchao Shao <shaozhengchao at huawei.com>
> ---
>   drivers/net/ethernet/xilinx/ll_temac_main.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c
> index 1066420d6a83..2b61fa2c04a2 100644
> --- a/drivers/net/ethernet/xilinx/ll_temac_main.c
> +++ b/drivers/net/ethernet/xilinx/ll_temac_main.c
> @@ -1193,8 +1193,10 @@ static int temac_open(struct net_device *ndev)
>    err_rx_irq:
>   	free_irq(lp->tx_irq, ndev);
>    err_tx_irq:
> -	if (phydev)
> +	if (phydev) {
> +		phy_stop(phydev);
>   		phy_disconnect(phydev);
> +	}
>   	dev_err(lp->dev, "request_irq() failed\n");
>   	return rc;
>   }
> @@ -1211,8 +1213,10 @@ static int temac_stop(struct net_device *ndev)
>   	free_irq(lp->tx_irq, ndev);
>   	free_irq(lp->rx_irq, ndev);
>   
> -	if (phydev)
> +	if (phydev) {
> +		phy_stop(phydev);
>   		phy_disconnect(phydev);
> +	}
>   
>   	temac_dma_bd_release(ndev);
>   



More information about the linux-arm-kernel mailing list