Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 23167
b: refs/heads/master
c: 0f31f99
h: refs/heads/master
i:
  23165: ab77a8c
  23163: 59f9a4a
  23159: 6e097a7
  23151: 08866f3
  23135: 920fefc
  23103: 668d324
  23039: 54509ae
v: v3
  • Loading branch information
Michael Chan authored and David S. Miller committed Mar 23, 2006
1 parent 96a894e commit 03c9085
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bf5295bba804a6aead9bc1c0d5970173a9d4e08e
refs/heads/master: 0f31f99446270e66c6f18c7d87aadd7db1dad214
34 changes: 15 additions & 19 deletions trunk/drivers/net/bnx2.c
Original file line number Diff line number Diff line change
Expand Up @@ -359,15 +359,11 @@ bnx2_free_mem(struct bnx2 *bp)
{
int i;

if (bp->stats_blk) {
pci_free_consistent(bp->pdev, sizeof(struct statistics_block),
bp->stats_blk, bp->stats_blk_mapping);
bp->stats_blk = NULL;
}
if (bp->status_blk) {
pci_free_consistent(bp->pdev, sizeof(struct status_block),
pci_free_consistent(bp->pdev, bp->status_stats_size,
bp->status_blk, bp->status_blk_mapping);
bp->status_blk = NULL;
bp->stats_blk = NULL;
}
if (bp->tx_desc_ring) {
pci_free_consistent(bp->pdev,
Expand All @@ -392,14 +388,13 @@ bnx2_free_mem(struct bnx2 *bp)
static int
bnx2_alloc_mem(struct bnx2 *bp)
{
int i;
int i, status_blk_size;

bp->tx_buf_ring = kmalloc(sizeof(struct sw_bd) * TX_DESC_CNT,
GFP_KERNEL);
bp->tx_buf_ring = kzalloc(sizeof(struct sw_bd) * TX_DESC_CNT,
GFP_KERNEL);
if (bp->tx_buf_ring == NULL)
return -ENOMEM;

memset(bp->tx_buf_ring, 0, sizeof(struct sw_bd) * TX_DESC_CNT);
bp->tx_desc_ring = pci_alloc_consistent(bp->pdev,
sizeof(struct tx_bd) *
TX_DESC_CNT,
Expand All @@ -425,21 +420,22 @@ bnx2_alloc_mem(struct bnx2 *bp)

}

bp->status_blk = pci_alloc_consistent(bp->pdev,
sizeof(struct status_block),
/* Combine status and statistics blocks into one allocation. */
status_blk_size = L1_CACHE_ALIGN(sizeof(struct status_block));
bp->status_stats_size = status_blk_size +
sizeof(struct statistics_block);

bp->status_blk = pci_alloc_consistent(bp->pdev, bp->status_stats_size,
&bp->status_blk_mapping);
if (bp->status_blk == NULL)
goto alloc_mem_err;

memset(bp->status_blk, 0, sizeof(struct status_block));
memset(bp->status_blk, 0, bp->status_stats_size);

bp->stats_blk = pci_alloc_consistent(bp->pdev,
sizeof(struct statistics_block),
&bp->stats_blk_mapping);
if (bp->stats_blk == NULL)
goto alloc_mem_err;
bp->stats_blk = (void *) ((unsigned long) bp->status_blk +
status_blk_size);

memset(bp->stats_blk, 0, sizeof(struct statistics_block));
bp->stats_blk_mapping = bp->status_blk_mapping + status_blk_size;

return 0;

Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/net/bnx2.h
Original file line number Diff line number Diff line change
Expand Up @@ -4083,6 +4083,8 @@ struct bnx2 {

struct flash_spec *flash_info;
u32 flash_size;

int status_stats_size;
};

static u32 bnx2_reg_rd_ind(struct bnx2 *bp, u32 offset);
Expand Down

0 comments on commit 03c9085

Please sign in to comment.