[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1457896483-7942-1-git-send-email-igal.liberman@freescale.com>
Date: Sun, 13 Mar 2016 21:14:43 +0200
From: <igal.liberman@...escale.com>
To: <netdev@...r.kernel.org>
CC: <scottwood@...escale.com>, <madalin.bucur@...escale.com>,
Igal Liberman <igal.liberman@...escale.com>
Subject: [PATCH] fsl/fman: fix dtsec_set_tx_pause_frames
From: Igal Liberman <igal.liberman@...escale.com>
Fix a bug introduced in e06a03b (fsl/fman: fix the pause_time test)
When pause_time is set to '0' - pause frames are disabled and
there's no need to apply dTSEC-A003 Errata workaround.
Signed-off-by: Igal Liberman <igal.liberman@...escale.com>
---
drivers/net/ethernet/freescale/fman/fman_dtsec.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/freescale/fman/fman_dtsec.c b/drivers/net/ethernet/freescale/fman/fman_dtsec.c
index 7c92eb8..c88918c 100644
--- a/drivers/net/ethernet/freescale/fman/fman_dtsec.c
+++ b/drivers/net/ethernet/freescale/fman/fman_dtsec.c
@@ -932,15 +932,14 @@ int dtsec_set_tx_pause_frames(struct fman_mac *dtsec,
if (!is_init_done(dtsec->dtsec_drv_param))
return -EINVAL;
- /* FM_BAD_TX_TS_IN_B_2_B_ERRATA_DTSEC_A003 Errata workaround */
- if (dtsec->fm_rev_info.major == 2)
- if (pause_time <= 320) {
+ if (pause_time) {
+ /* FM_BAD_TX_TS_IN_B_2_B_ERRATA_DTSEC_A003 Errata workaround */
+ if (dtsec->fm_rev_info.major == 2 && pause_time <= 320) {
pr_warn("pause-time: %d illegal.Should be > 320\n",
pause_time);
return -EINVAL;
}
- if (pause_time) {
ptv = ioread32be(®s->ptv);
ptv &= PTV_PTE_MASK;
ptv |= pause_time & PTV_PT_MASK;
--
1.7.9.5
Powered by blists - more mailing lists