aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2012-07-05 10:21:55 -0400
committerDavid S. Miller <davem@davemloft.net>2012-07-09 03:18:04 -0400
commit054581e6c1eb314d54d4747fba545e9802be29da (patch)
tree81b36a9e75d31229c55baa0ce00f0597b4243282 /drivers
parent6fecd35d4cd79fc75e8290abb86734c18500d2a2 (diff)
cnic: Don't use netdev->base_addr
commit c0357e975afdbbedab5c662d19bef865f02adc17 bnx2: stop using net_device.{base_addr, irq}. removed netdev->base_addr so we need to update cnic to get the MMIO base address from pci_resource_start(). Otherwise, mmap of the uio device will fail. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/broadcom/cnic.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
index c95e7b5e2b85..3c95065e0def 100644
--- a/drivers/net/ethernet/broadcom/cnic.c
+++ b/drivers/net/ethernet/broadcom/cnic.c
@@ -1053,12 +1053,13 @@ static int cnic_init_uio(struct cnic_dev *dev)
1053 1053
1054 uinfo = &udev->cnic_uinfo; 1054 uinfo = &udev->cnic_uinfo;
1055 1055
1056 uinfo->mem[0].addr = dev->netdev->base_addr; 1056 uinfo->mem[0].addr = pci_resource_start(dev->pcidev, 0);
1057 uinfo->mem[0].internal_addr = dev->regview; 1057 uinfo->mem[0].internal_addr = dev->regview;
1058 uinfo->mem[0].size = dev->netdev->mem_end - dev->netdev->mem_start;
1059 uinfo->mem[0].memtype = UIO_MEM_PHYS; 1058 uinfo->mem[0].memtype = UIO_MEM_PHYS;
1060 1059
1061 if (test_bit(CNIC_F_BNX2_CLASS, &dev->flags)) { 1060 if (test_bit(CNIC_F_BNX2_CLASS, &dev->flags)) {
1061 uinfo->mem[0].size = MB_GET_CID_ADDR(TX_TSS_CID +
1062 TX_MAX_TSS_RINGS + 1);
1062 uinfo->mem[1].addr = (unsigned long) cp->status_blk.gen & 1063 uinfo->mem[1].addr = (unsigned long) cp->status_blk.gen &
1063 PAGE_MASK; 1064 PAGE_MASK;
1064 if (cp->ethdev->drv_state & CNIC_DRV_STATE_USING_MSIX) 1065 if (cp->ethdev->drv_state & CNIC_DRV_STATE_USING_MSIX)
@@ -1068,6 +1069,8 @@ static int cnic_init_uio(struct cnic_dev *dev)
1068 1069
1069 uinfo->name = "bnx2_cnic"; 1070 uinfo->name = "bnx2_cnic";
1070 } else if (test_bit(CNIC_F_BNX2X_CLASS, &dev->flags)) { 1071 } else if (test_bit(CNIC_F_BNX2X_CLASS, &dev->flags)) {
1072 uinfo->mem[0].size = pci_resource_len(dev->pcidev, 0);
1073
1071 uinfo->mem[1].addr = (unsigned long) cp->bnx2x_def_status_blk & 1074 uinfo->mem[1].addr = (unsigned long) cp->bnx2x_def_status_blk &
1072 PAGE_MASK; 1075 PAGE_MASK;
1073 uinfo->mem[1].size = sizeof(*cp->bnx2x_def_status_blk); 1076 uinfo->mem[1].size = sizeof(*cp->bnx2x_def_status_blk);