diff options
author | Michael Chan <mchan@broadcom.com> | 2012-06-29 05:32:45 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-29 18:33:28 -0400 |
commit | ae0eef66088777cf252c6b91d3eb5ef2f30a67c5 (patch) | |
tree | 4743bd257ceefb4e53931392baaedc8de8cb8a8e | |
parent | 7a9bc9b81a5bc6e44ebc80ef781332e4385083f2 (diff) |
cnic: Fix mmap regression.
commit 1f85d58cdf15354a7120fc9ccc9bb9c45b53af88
cnic: Remove uio mem[0].
introduced a regression as older versions of userspace app still rely
on this mmap. Restore the mmap functionality and get the base address
from pci_resource_start() as the nedev->base_addr has been deprecated for
PCI devices.
Update version to 2.5.12.
Signed-off-by: Michael Chan <mchan@broadocm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/broadcom/cnic.c | 8 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/cnic_if.h | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c index f897306b0eb7..22ad7b6d9048 100644 --- a/drivers/net/ethernet/broadcom/cnic.c +++ b/drivers/net/ethernet/broadcom/cnic.c | |||
@@ -1063,9 +1063,13 @@ static int cnic_init_uio(struct cnic_dev *dev) | |||
1063 | 1063 | ||
1064 | uinfo = &udev->cnic_uinfo; | 1064 | uinfo = &udev->cnic_uinfo; |
1065 | 1065 | ||
1066 | uinfo->mem[0].memtype = UIO_MEM_NONE; | 1066 | uinfo->mem[0].addr = pci_resource_start(dev->pcidev, 0); |
1067 | uinfo->mem[0].internal_addr = dev->regview; | ||
1068 | uinfo->mem[0].memtype = UIO_MEM_PHYS; | ||
1067 | 1069 | ||
1068 | if (test_bit(CNIC_F_BNX2_CLASS, &dev->flags)) { | 1070 | if (test_bit(CNIC_F_BNX2_CLASS, &dev->flags)) { |
1071 | uinfo->mem[0].size = MB_GET_CID_ADDR(TX_TSS_CID + | ||
1072 | TX_MAX_TSS_RINGS + 1); | ||
1069 | uinfo->mem[1].addr = (unsigned long) cp->status_blk.gen & | 1073 | uinfo->mem[1].addr = (unsigned long) cp->status_blk.gen & |
1070 | PAGE_MASK; | 1074 | PAGE_MASK; |
1071 | if (cp->ethdev->drv_state & CNIC_DRV_STATE_USING_MSIX) | 1075 | if (cp->ethdev->drv_state & CNIC_DRV_STATE_USING_MSIX) |
@@ -1075,6 +1079,8 @@ static int cnic_init_uio(struct cnic_dev *dev) | |||
1075 | 1079 | ||
1076 | uinfo->name = "bnx2_cnic"; | 1080 | uinfo->name = "bnx2_cnic"; |
1077 | } else if (test_bit(CNIC_F_BNX2X_CLASS, &dev->flags)) { | 1081 | } else if (test_bit(CNIC_F_BNX2X_CLASS, &dev->flags)) { |
1082 | uinfo->mem[0].size = pci_resource_len(dev->pcidev, 0); | ||
1083 | |||
1078 | uinfo->mem[1].addr = (unsigned long) cp->bnx2x_def_status_blk & | 1084 | uinfo->mem[1].addr = (unsigned long) cp->bnx2x_def_status_blk & |
1079 | PAGE_MASK; | 1085 | PAGE_MASK; |
1080 | uinfo->mem[1].size = sizeof(*cp->bnx2x_def_status_blk); | 1086 | uinfo->mem[1].size = sizeof(*cp->bnx2x_def_status_blk); |
diff --git a/drivers/net/ethernet/broadcom/cnic_if.h b/drivers/net/ethernet/broadcom/cnic_if.h index 54f68f07692e..5cb88881bba1 100644 --- a/drivers/net/ethernet/broadcom/cnic_if.h +++ b/drivers/net/ethernet/broadcom/cnic_if.h | |||
@@ -14,8 +14,8 @@ | |||
14 | 14 | ||
15 | #include "bnx2x/bnx2x_mfw_req.h" | 15 | #include "bnx2x/bnx2x_mfw_req.h" |
16 | 16 | ||
17 | #define CNIC_MODULE_VERSION "2.5.11" | 17 | #define CNIC_MODULE_VERSION "2.5.12" |
18 | #define CNIC_MODULE_RELDATE "June 27, 2012" | 18 | #define CNIC_MODULE_RELDATE "June 29, 2012" |
19 | 19 | ||
20 | #define CNIC_ULP_RDMA 0 | 20 | #define CNIC_ULP_RDMA 0 |
21 | #define CNIC_ULP_ISCSI 1 | 21 | #define CNIC_ULP_ISCSI 1 |