diff options
-rw-r--r-- | drivers/net/bnx2.c | 22 | ||||
-rw-r--r-- | drivers/net/bnx2.h | 5 |
2 files changed, 12 insertions, 15 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 4e7b46e44874..dfe50c286d95 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -468,8 +468,7 @@ bnx2_free_mem(struct bnx2 *bp) | |||
468 | bp->stats_blk = NULL; | 468 | bp->stats_blk = NULL; |
469 | } | 469 | } |
470 | if (bp->tx_desc_ring) { | 470 | if (bp->tx_desc_ring) { |
471 | pci_free_consistent(bp->pdev, | 471 | pci_free_consistent(bp->pdev, TXBD_RING_SIZE, |
472 | sizeof(struct tx_bd) * TX_DESC_CNT, | ||
473 | bp->tx_desc_ring, bp->tx_desc_mapping); | 472 | bp->tx_desc_ring, bp->tx_desc_mapping); |
474 | bp->tx_desc_ring = NULL; | 473 | bp->tx_desc_ring = NULL; |
475 | } | 474 | } |
@@ -477,8 +476,7 @@ bnx2_free_mem(struct bnx2 *bp) | |||
477 | bp->tx_buf_ring = NULL; | 476 | bp->tx_buf_ring = NULL; |
478 | for (i = 0; i < bp->rx_max_ring; i++) { | 477 | for (i = 0; i < bp->rx_max_ring; i++) { |
479 | if (bp->rx_desc_ring[i]) | 478 | if (bp->rx_desc_ring[i]) |
480 | pci_free_consistent(bp->pdev, | 479 | pci_free_consistent(bp->pdev, RXBD_RING_SIZE, |
481 | sizeof(struct rx_bd) * RX_DESC_CNT, | ||
482 | bp->rx_desc_ring[i], | 480 | bp->rx_desc_ring[i], |
483 | bp->rx_desc_mapping[i]); | 481 | bp->rx_desc_mapping[i]); |
484 | bp->rx_desc_ring[i] = NULL; | 482 | bp->rx_desc_ring[i] = NULL; |
@@ -492,30 +490,24 @@ bnx2_alloc_mem(struct bnx2 *bp) | |||
492 | { | 490 | { |
493 | int i, status_blk_size; | 491 | int i, status_blk_size; |
494 | 492 | ||
495 | bp->tx_buf_ring = kzalloc(sizeof(struct sw_bd) * TX_DESC_CNT, | 493 | bp->tx_buf_ring = kzalloc(SW_TXBD_RING_SIZE, GFP_KERNEL); |
496 | GFP_KERNEL); | ||
497 | if (bp->tx_buf_ring == NULL) | 494 | if (bp->tx_buf_ring == NULL) |
498 | return -ENOMEM; | 495 | return -ENOMEM; |
499 | 496 | ||
500 | bp->tx_desc_ring = pci_alloc_consistent(bp->pdev, | 497 | bp->tx_desc_ring = pci_alloc_consistent(bp->pdev, TXBD_RING_SIZE, |
501 | sizeof(struct tx_bd) * | ||
502 | TX_DESC_CNT, | ||
503 | &bp->tx_desc_mapping); | 498 | &bp->tx_desc_mapping); |
504 | if (bp->tx_desc_ring == NULL) | 499 | if (bp->tx_desc_ring == NULL) |
505 | goto alloc_mem_err; | 500 | goto alloc_mem_err; |
506 | 501 | ||
507 | bp->rx_buf_ring = vmalloc(sizeof(struct sw_bd) * RX_DESC_CNT * | 502 | bp->rx_buf_ring = vmalloc(SW_RXBD_RING_SIZE * bp->rx_max_ring); |
508 | bp->rx_max_ring); | ||
509 | if (bp->rx_buf_ring == NULL) | 503 | if (bp->rx_buf_ring == NULL) |
510 | goto alloc_mem_err; | 504 | goto alloc_mem_err; |
511 | 505 | ||
512 | memset(bp->rx_buf_ring, 0, sizeof(struct sw_bd) * RX_DESC_CNT * | 506 | memset(bp->rx_buf_ring, 0, SW_RXBD_RING_SIZE * bp->rx_max_ring); |
513 | bp->rx_max_ring); | ||
514 | 507 | ||
515 | for (i = 0; i < bp->rx_max_ring; i++) { | 508 | for (i = 0; i < bp->rx_max_ring; i++) { |
516 | bp->rx_desc_ring[i] = | 509 | bp->rx_desc_ring[i] = |
517 | pci_alloc_consistent(bp->pdev, | 510 | pci_alloc_consistent(bp->pdev, RXBD_RING_SIZE, |
518 | sizeof(struct rx_bd) * RX_DESC_CNT, | ||
519 | &bp->rx_desc_mapping[i]); | 511 | &bp->rx_desc_mapping[i]); |
520 | if (bp->rx_desc_ring[i] == NULL) | 512 | if (bp->rx_desc_ring[i] == NULL) |
521 | goto alloc_mem_err; | 513 | goto alloc_mem_err; |
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index 30ba366608b0..e6a2153e8b95 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h | |||
@@ -6408,6 +6408,11 @@ struct sw_bd { | |||
6408 | DECLARE_PCI_UNMAP_ADDR(mapping) | 6408 | DECLARE_PCI_UNMAP_ADDR(mapping) |
6409 | }; | 6409 | }; |
6410 | 6410 | ||
6411 | #define SW_RXBD_RING_SIZE (sizeof(struct sw_bd) * RX_DESC_CNT) | ||
6412 | #define RXBD_RING_SIZE (sizeof(struct rx_bd) * RX_DESC_CNT) | ||
6413 | #define SW_TXBD_RING_SIZE (sizeof(struct sw_bd) * TX_DESC_CNT) | ||
6414 | #define TXBD_RING_SIZE (sizeof(struct tx_bd) * TX_DESC_CNT) | ||
6415 | |||
6411 | /* Buffered flash (Atmel: AT45DB011B) specific information */ | 6416 | /* Buffered flash (Atmel: AT45DB011B) specific information */ |
6412 | #define SEEPROM_PAGE_BITS 2 | 6417 | #define SEEPROM_PAGE_BITS 2 |
6413 | #define SEEPROM_PHY_PAGE_SIZE (1 << SEEPROM_PAGE_BITS) | 6418 | #define SEEPROM_PHY_PAGE_SIZE (1 << SEEPROM_PAGE_BITS) |