diff options
author | David S. Miller <davem@davemloft.net> | 2015-08-10 17:31:59 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-10 17:31:59 -0400 |
commit | 875a74b6d6910fc754ec569388f078865f65e088 (patch) | |
tree | d978ba9920978f13282a832ba7a134a6605f2a10 | |
parent | 21a447637d28eb824a1163c1fc5f41ffa4b28e33 (diff) | |
parent | 0ea853dfa93371e651d8b7b27fd2344e973a86ed (diff) |
Merge branch 'bnx2x-fixes'
Yuval Mintz says:
====================
bnx2x: small fixes
This adds 2 small fixes, one to error flows during memory release
and the other to flash writes via ethtool API.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c index a90d7364334f..f7fbdc9d1325 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | |||
@@ -262,9 +262,9 @@ static u16 bnx2x_free_tx_pkt(struct bnx2x *bp, struct bnx2x_fp_txdata *txdata, | |||
262 | if (likely(skb)) { | 262 | if (likely(skb)) { |
263 | (*pkts_compl)++; | 263 | (*pkts_compl)++; |
264 | (*bytes_compl) += skb->len; | 264 | (*bytes_compl) += skb->len; |
265 | dev_kfree_skb_any(skb); | ||
265 | } | 266 | } |
266 | 267 | ||
267 | dev_kfree_skb_any(skb); | ||
268 | tx_buf->first_bd = 0; | 268 | tx_buf->first_bd = 0; |
269 | tx_buf->skb = NULL; | 269 | tx_buf->skb = NULL; |
270 | 270 | ||
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c index 76b9052a961c..5907c821d131 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | |||
@@ -1718,6 +1718,22 @@ static int bnx2x_nvram_write(struct bnx2x *bp, u32 offset, u8 *data_buf, | |||
1718 | offset += sizeof(u32); | 1718 | offset += sizeof(u32); |
1719 | data_buf += sizeof(u32); | 1719 | data_buf += sizeof(u32); |
1720 | written_so_far += sizeof(u32); | 1720 | written_so_far += sizeof(u32); |
1721 | |||
1722 | /* At end of each 4Kb page, release nvram lock to allow MFW | ||
1723 | * chance to take it for its own use. | ||
1724 | */ | ||
1725 | if ((cmd_flags & MCPR_NVM_COMMAND_LAST) && | ||
1726 | (written_so_far < buf_size)) { | ||
1727 | DP(BNX2X_MSG_ETHTOOL | BNX2X_MSG_NVM, | ||
1728 | "Releasing NVM lock after offset 0x%x\n", | ||
1729 | (u32)(offset - sizeof(u32))); | ||
1730 | bnx2x_release_nvram_lock(bp); | ||
1731 | usleep_range(1000, 2000); | ||
1732 | rc = bnx2x_acquire_nvram_lock(bp); | ||
1733 | if (rc) | ||
1734 | return rc; | ||
1735 | } | ||
1736 | |||
1721 | cmd_flags = 0; | 1737 | cmd_flags = 0; |
1722 | } | 1738 | } |
1723 | 1739 | ||