Revert "net: axienet: Wait for PhyRstCmplt after core reset"
authorGuillaume Bertholon <guillaume.bertholon@ens.fr>
Fri, 11 Feb 2022 13:33:01 +0000 (14:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Feb 2022 11:43:52 +0000 (12:43 +0100)
This reverts commit 9f1a3c13342b4d96b9baa337ec5fb7d453828709.

The upstream commit b400c2f4f4c5 ("net: axienet: Wait for PhyRstCmplt
after core reset") add new instructions in the `__axienet_device_reset`
function to wait until PhyRstCmplt bit is set, and return a non zero-exit
value if this exceeds a timeout.

However, its backported version in 4.9 (commit 9f1a3c13342b ("net:
axienet: Wait for PhyRstCmplt after core reset")) insert these
instructions in `axienet_dma_bd_init` instead.

Unlike upstream, the version of `__axienet_device_reset` currently present
in branch stable/linux-4.9.y does not return an integer for error codes.
Therefore fixing the backport cannot be as simple as moving the inserted
instructions in the right place, and we simply revert it instead.

Fixes: 9f1a3c13342b ("net: axienet: Wait for PhyRstCmplt after core reset")
Signed-off-by: Guillaume Bertholon <guillaume.bertholon@ens.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/xilinx/xilinx_axienet_main.c

index 46998a58e3d96ea430476f7c1588e12e76698c3d..467dc0c60759f83cdd3108c85d2fef45a1fad456 100644 (file)
@@ -278,16 +278,6 @@ static int axienet_dma_bd_init(struct net_device *ndev)
        axienet_dma_out32(lp, XAXIDMA_TX_CR_OFFSET,
                          cr | XAXIDMA_CR_RUNSTOP_MASK);
 
-       /* Wait for PhyRstCmplt bit to be set, indicating the PHY reset has finished */
-       ret = read_poll_timeout(axienet_ior, value,
-                               value & XAE_INT_PHYRSTCMPLT_MASK,
-                               DELAY_OF_ONE_MILLISEC, 50000, false, lp,
-                               XAE_IS_OFFSET);
-       if (ret) {
-               dev_err(lp->dev, "%s: timeout waiting for PhyRstCmplt\n", __func__);
-               return ret;
-       }
-
        return 0;
 out:
        axienet_dma_bd_release(ndev);