vxge: use pci_dma_mapping_error to test return value
Subsystems (2)
PATCH 1/1 vxge: use pci_dma_mapping_error to test return value
pci_dma_mapping_error should be used to test return value of pci_map_single or pci_map_page.
---
drivers/net/vxge/vxge-main.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/vxge/vxge-main.c +2 -2
@@ -310,7 +310,7 @@ static int vxge_rx_map(void *dtrh, struct vxge_ring *ring) dma_addr =pci_map_single (ring->pdev, rx_priv->skb_data, rx_priv->data_size,PCI_DMA_FROMDEVICE ); -if (dma_addr ==0 ) { +if (unlikely (pci_dma_mapping_error (ring->pdev, dma_addr))) { ring->stats.pci_map_fail++;return -EIO ; }
@@ -821,7 +821,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev)int frg_cnt, first_frg_len;skb_frag_t *frag;int i =0 , j =0 , avail; -u64 dma_pointer; +dma_addr_t dma_pointer;struct vxge_tx_priv *txdl_priv =NULL ;struct __vxge_hw_fifo *fifo_hw;int offload_type;
David Miller
maintainerFrom: "Denis Kirjanov <[email protected]" <[email protected]>
Date: Wed, 6 Jan 2010 00:16:59 +0300
drivers/net/vxge/vxge-main.c vxge_xmit(struct sk_buff *skb, struct net_device *dev) · line 827
Quoted 9 lines
drivers/net/vxge/vxge-main.c +1
-1@@ -821,7 +821,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev)int frg_cnt, first_frg_len;skb_frag_t *frag;int i =0 , j =0 , avail; -u64 dma_pointer; +dma_addr_t dma_pointer;struct vxge_tx_priv *txdl_priv =NULL ;struct __vxge_hw_fifo *fifo_hw;int offload_type;
This will cause build warnings on platforms withe dma_addr_t is some type other than "unsigned long long", such as on sparc64 where it is a u32.
This is because of the %ll printf format used to display it a few lines down from here.
Quoted 17 lines · David Miller
From: "Denis Kirjanov <[email protected]" <[email protected]>
Date: Wed, 6 Jan 2010 00:16:59 +0300Review vxge_xmit(struct sk_buff *skb, struct net_device *dev) · line 827
Quoted 9 lines
(quoted diff) +1
-1@@ -821,7 +821,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev) int frg_cnt, first_frg_len; skb_frag_t *frag; int i = 0, j = 0, avail; - u64 dma_pointer; + dma_addr_t dma_pointer; struct vxge_tx_priv *txdl_priv = NULL; struct __vxge_hw_fifo *fifo_hw; int offload_type;This will cause build warnings on platforms withe
dma_addr_tis some type other than "unsigned long long", such as on sparc64 where it is a u32.
Quoted 2 lines
This is because of the %ll printf format used to display it a few lines down from here.
My mistake. Fixed one.
pci_dma_mapping_error should be used to test return value of pci_map_single or pci_map_page.
---
drivers/net/vxge/vxge-main.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/net/vxge/vxge-main.c +1 -1
@@ -310,7 +310,7 @@ static int vxge_rx_map(void *dtrh, struct vxge_ring *ring) dma_addr =pci_map_single (ring->pdev, rx_priv->skb_data, rx_priv->data_size,PCI_DMA_FROMDEVICE ); -if (dma_addr ==0 ) { +if (unlikely (pci_dma_mapping_error (ring->pdev, dma_addr))) { ring->stats.pci_map_fail++;return -EIO ; }
From: "Denis Kirjanov <[email protected]" <[email protected]>
Date: Sat, 9 Jan 2010 22:52:22 +0300
Quoted 6 lines
My mistake. Fixed one.
pci_dma_mapping_errorshould be used to test return value ofpci_map_singleorpci_map_page.Signed-off-by Denis Kirjanov <[email protected]>
Applied, thanks.