diff options
author | Benjamin Li <benli@broadcom.com> | 2008-10-09 15:26:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-10-09 15:26:41 -0400 |
commit | 3d16af8665504c89f9ef3aae56f54fb93e48da61 (patch) | |
tree | 465889b9ddae41530e7203d0eb97e7661fb2db93 /drivers/net/bnx2.h | |
parent | a1efb4b686babf38e5e63add8b990f18e38becc4 (diff) |
bnx2: Handle DMA mapping errors.
Before, the driver would not care about the return codes from pci_map_*
functions. This could be potentially dangerous if a mapping failed.
Now, we will check all pci_map_* calls. On the transmit side, we switch
to use the new function skb_dma_map(). On the receive side, we add
pci_dma_mapping_error().
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2.h')
-rw-r--r-- | drivers/net/bnx2.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index edc7774f2f21..617d95340160 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h | |||
@@ -6526,10 +6526,14 @@ struct sw_pg { | |||
6526 | DECLARE_PCI_UNMAP_ADDR(mapping) | 6526 | DECLARE_PCI_UNMAP_ADDR(mapping) |
6527 | }; | 6527 | }; |
6528 | 6528 | ||
6529 | struct sw_tx_bd { | ||
6530 | struct sk_buff *skb; | ||
6531 | }; | ||
6532 | |||
6529 | #define SW_RXBD_RING_SIZE (sizeof(struct sw_bd) * RX_DESC_CNT) | 6533 | #define SW_RXBD_RING_SIZE (sizeof(struct sw_bd) * RX_DESC_CNT) |
6530 | #define SW_RXPG_RING_SIZE (sizeof(struct sw_pg) * RX_DESC_CNT) | 6534 | #define SW_RXPG_RING_SIZE (sizeof(struct sw_pg) * RX_DESC_CNT) |
6531 | #define RXBD_RING_SIZE (sizeof(struct rx_bd) * RX_DESC_CNT) | 6535 | #define RXBD_RING_SIZE (sizeof(struct rx_bd) * RX_DESC_CNT) |
6532 | #define SW_TXBD_RING_SIZE (sizeof(struct sw_bd) * TX_DESC_CNT) | 6536 | #define SW_TXBD_RING_SIZE (sizeof(struct sw_tx_bd) * TX_DESC_CNT) |
6533 | #define TXBD_RING_SIZE (sizeof(struct tx_bd) * TX_DESC_CNT) | 6537 | #define TXBD_RING_SIZE (sizeof(struct tx_bd) * TX_DESC_CNT) |
6534 | 6538 | ||
6535 | /* Buffered flash (Atmel: AT45DB011B) specific information */ | 6539 | /* Buffered flash (Atmel: AT45DB011B) specific information */ |
@@ -6609,7 +6613,7 @@ struct bnx2_tx_ring_info { | |||
6609 | u32 tx_bseq_addr; | 6613 | u32 tx_bseq_addr; |
6610 | 6614 | ||
6611 | struct tx_bd *tx_desc_ring; | 6615 | struct tx_bd *tx_desc_ring; |
6612 | struct sw_bd *tx_buf_ring; | 6616 | struct sw_tx_bd *tx_buf_ring; |
6613 | 6617 | ||
6614 | u16 tx_cons; | 6618 | u16 tx_cons; |
6615 | u16 hw_tx_cons; | 6619 | u16 hw_tx_cons; |