aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/s2io.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/s2io.c')
-rw-r--r--drivers/net/s2io.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 9c224eba057d..ea638b162d3f 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -42,6 +42,7 @@
42#include <linux/errno.h> 42#include <linux/errno.h>
43#include <linux/ioport.h> 43#include <linux/ioport.h>
44#include <linux/pci.h> 44#include <linux/pci.h>
45#include <linux/dma-mapping.h>
45#include <linux/kernel.h> 46#include <linux/kernel.h>
46#include <linux/netdevice.h> 47#include <linux/netdevice.h>
47#include <linux/etherdevice.h> 48#include <linux/etherdevice.h>
@@ -1698,11 +1699,9 @@ static int fill_rx_buffers(struct s2io_nic *nic, int ring_no)
1698#else 1699#else
1699 ba = &nic->ba[ring_no][block_no][off]; 1700 ba = &nic->ba[ring_no][block_no][off];
1700 skb_reserve(skb, BUF0_LEN); 1701 skb_reserve(skb, BUF0_LEN);
1701 tmp = (unsigned long) skb->data; 1702 tmp = ((unsigned long) skb->data & ALIGN_SIZE);
1702 tmp += ALIGN_SIZE; 1703 if (tmp)
1703 tmp &= ~ALIGN_SIZE; 1704 skb_reserve(skb, (ALIGN_SIZE + 1) - tmp);
1704 skb->data = (void *) tmp;
1705 skb->tail = (void *) tmp;
1706 1705
1707 memset(rxdp, 0, sizeof(RxD_t)); 1706 memset(rxdp, 0, sizeof(RxD_t));
1708 rxdp->Buffer2_ptr = pci_map_single 1707 rxdp->Buffer2_ptr = pci_map_single
@@ -4593,19 +4592,19 @@ s2io_init_nic(struct pci_dev *pdev, const struct pci_device_id *pre)
4593 return ret; 4592 return ret;
4594 } 4593 }
4595 4594
4596 if (!pci_set_dma_mask(pdev, 0xffffffffffffffffULL)) { 4595 if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) {
4597 DBG_PRINT(INIT_DBG, "s2io_init_nic: Using 64bit DMA\n"); 4596 DBG_PRINT(INIT_DBG, "s2io_init_nic: Using 64bit DMA\n");
4598 dma_flag = TRUE; 4597 dma_flag = TRUE;
4599 4598
4600 if (pci_set_consistent_dma_mask 4599 if (pci_set_consistent_dma_mask
4601 (pdev, 0xffffffffffffffffULL)) { 4600 (pdev, DMA_64BIT_MASK)) {
4602 DBG_PRINT(ERR_DBG, 4601 DBG_PRINT(ERR_DBG,
4603 "Unable to obtain 64bit DMA for \ 4602 "Unable to obtain 64bit DMA for \
4604 consistent allocations\n"); 4603 consistent allocations\n");
4605 pci_disable_device(pdev); 4604 pci_disable_device(pdev);
4606 return -ENOMEM; 4605 return -ENOMEM;
4607 } 4606 }
4608 } else if (!pci_set_dma_mask(pdev, 0xffffffffUL)) { 4607 } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {
4609 DBG_PRINT(INIT_DBG, "s2io_init_nic: Using 32bit DMA\n"); 4608 DBG_PRINT(INIT_DBG, "s2io_init_nic: Using 32bit DMA\n");
4610 } else { 4609 } else {
4611 pci_disable_device(pdev); 4610 pci_disable_device(pdev);