diff options
author | Ariel Elior <ariele@broadcom.com> | 2013-10-20 16:51:32 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-10-21 18:31:35 -0400 |
commit | 32316a46f2bbd4a898acf86547197cff8476f442 (patch) | |
tree | 815a114bcc30968e82c73e3b8b534f722ed00969 /drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c | |
parent | 6b991c3763e15a0884095fc0c133980c5577e9c7 (diff) | |
download | linux-32316a46f2bbd4a898acf86547197cff8476f442.tar.gz linux-32316a46f2bbd4a898acf86547197cff8476f442.tar.bz2 linux-32316a46f2bbd4a898acf86547197cff8476f442.zip |
bnx2x: Lock DMAE when used by statistic flow
bnx2x has several clients to its DMAE machines - all of them with the exception
of the statistics flow used the same locking mechanisms to synchronize the DMAE
machines' usage.
Since statistics (which are periodically entered) use DMAE without taking the
locks, they may erase the commands which were previously set -
e.g., it may cause a VF to timeout while waiting for a PF answer on the VF-PF
channel as that command header would have been overwritten by the statistics'
header.
This patch makes certain that all flows utilizing DMAE will use the same
API, assuring that the locking scheme will be kept by all said flows.
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c index 86436c77af03..3b75070411aa 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c @@ -196,7 +196,7 @@ static void bnx2x_hw_stats_post(struct bnx2x *bp) } else if (bp->func_stx) { *stats_comp = 0; - bnx2x_post_dmae(bp, dmae, INIT_DMAE_C(bp)); + bnx2x_issue_dmae_with_comp(bp, dmae, stats_comp); } } |