diff options
author | Mandy Lavi <mandy.lavi@freescale.com> | 2014-09-02 05:32:37 (GMT) |
---|---|---|
committer | Mandy Lavi <mandy.lavi@freescale.com> | 2014-10-19 13:34:40 (GMT) |
commit | f27de8069a3e433d78a587cf7ff2a75b8fcbe1d1 (patch) | |
tree | a6ee2d170fe76e3c034474d60917e29a104217c5 /drivers | |
parent | 1fe7175e735bb3099379218220f4ee74e1d54b8a (diff) | |
download | linux-fsl-qoriq-f27de8069a3e433d78a587cf7ff2a75b8fcbe1d1.tar.xz |
fmd: force port down when qbmi busy
Change-Id: I17411cd51bb88c5294bbdf97b8bd18609a00a7f6
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/17708
Reviewed-by: Igal Liberman <Igal.Liberman@freescale.com>
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Tested-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c | 5 | ||||
-rwxr-xr-x | drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fman_port.c | 6 |
2 files changed, 3 insertions, 8 deletions
diff --git a/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c b/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c index 1f3ae53..d2008bf 100644 --- a/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c +++ b/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c @@ -3152,8 +3152,9 @@ t_Error FM_PORT_Disable(t_Handle h_FmPort) err = fman_port_disable(&p_FmPort->port); if (err == -EBUSY) { - fman_port_enable(&p_FmPort->port); - RETURN_ERROR(MINOR, E_BUSY, ("%s: can't disable! BMI or QMI is Busy", p_FmPort->name)); + DBG(WARNING, ("%s: BMI or QMI is Busy. Port forced down", + p_FmPort->name)); + err = E_OK; } else if (err != 0) { diff --git a/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fman_port.c b/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fman_port.c index ec261c4..54e796c 100755 --- a/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fman_port.c +++ b/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fman_port.c @@ -856,8 +856,6 @@ int fman_port_disable(const struct fman_port *port) if (count == 0) { /* Timeout */ - iowrite32be(ioread32be(&port->qmi_regs->fmqm_pnc) | - QMI_PORT_CFG_EN, &port->qmi_regs->fmqm_pnc); failure = TRUE; } } @@ -876,10 +874,6 @@ int fman_port_disable(const struct fman_port *port) if (count == 0) { /* Timeout */ - iowrite32be(ioread32be(&port->qmi_regs->fmqm_pnc) | - QMI_PORT_CFG_EN, &port->qmi_regs->fmqm_pnc); - iowrite32be(ioread32be(bmi_cfg_reg) | BMI_PORT_CFG_EN, - bmi_cfg_reg); failure = TRUE; } |