staging: fsl-dpaa2/eth: Reset dpbp
authorIoana Radulescu <ruxandra.radulescu@nxp.com>
Tue, 6 Jun 2017 15:00:32 +0000 (10:00 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Jun 2017 10:02:55 +0000 (12:02 +0200)
Reset the buffer pool object before using it, like we do
for the other DPAA2 objects.

Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c

index d3ec384..fd56fbd 100644 (file)
@@ -1687,6 +1687,12 @@ static int setup_dpbp(struct dpaa2_eth_priv *priv)
                goto err_open;
        }
 
+       err = dpbp_reset(priv->mc_io, 0, dpbp_dev->mc_handle);
+       if (err) {
+               dev_err(dev, "dpbp_reset() failed\n");
+               goto err_reset;
+       }
+
        err = dpbp_enable(priv->mc_io, 0, dpbp_dev->mc_handle);
        if (err) {
                dev_err(dev, "dpbp_enable() failed\n");
@@ -1705,6 +1711,7 @@ static int setup_dpbp(struct dpaa2_eth_priv *priv)
 err_get_attr:
        dpbp_disable(priv->mc_io, 0, dpbp_dev->mc_handle);
 err_enable:
+err_reset:
        dpbp_close(priv->mc_io, 0, dpbp_dev->mc_handle);
 err_open:
        fsl_mc_object_free(dpbp_dev);