summaryrefslogtreecommitdiff
path: root/drivers/net/vxge
diff options
context:
space:
mode:
authorJon Mason <jon.mason@exar.com>2010-11-11 04:26:01 +0000
committerDavid S. Miller <davem@davemloft.net>2010-11-11 09:30:23 -0800
commitca3e3b8fae982400dacbbf19f3112cc84e51d46a (patch)
treedf9281d265161c04fa632ed8a4ccaac9bd1392a4 /drivers/net/vxge
parente7935c9669c27c5d530bff634c0c15f7a602d697 (diff)
downloadlinux-3.10-ca3e3b8fae982400dacbbf19f3112cc84e51d46a.tar.gz
linux-3.10-ca3e3b8fae982400dacbbf19f3112cc84e51d46a.tar.bz2
linux-3.10-ca3e3b8fae982400dacbbf19f3112cc84e51d46a.zip
vxge: correct multi-function detection
The values used to determined if the adapter is running in single or multi-function mode were previously modified to the values necessary when making the VXGE_HW_FW_API_GET_FUNC_MODE firmware call. However, the firmware call was not modified. This had the driver printing out on probe that the adapter was in multi-function mode when in single function mode and vice versa. Signed-off-by: Jon Mason <jon.mason@exar.com> Signed-off-by: Ram Vepa <ram.vepa@exar.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxge')
-rw-r--r--drivers/net/vxge/vxge-config.c6
-rw-r--r--drivers/net/vxge/vxge-reg.h3
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/vxge/vxge-config.c b/drivers/net/vxge/vxge-config.c
index 5903b2e9a6e..14dc8c8f47e 100644
--- a/drivers/net/vxge/vxge-config.c
+++ b/drivers/net/vxge/vxge-config.c
@@ -1091,16 +1091,16 @@ __vxge_hw_vpath_pci_func_mode_get(struct __vxge_hw_virtualpath *vpath,
u64 data0, data1 = 0, steer_ctrl = 0;
enum vxge_hw_status status;
- data0 = VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_PCI_MODE;
+ data0 = 0;
status = vxge_hw_vpath_fw_api(vpath,
- VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION_READ_MEMO_ENTRY,
+ VXGE_HW_FW_API_GET_FUNC_MODE,
VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL_FW_MEMO,
0, &data0, &data1, &steer_ctrl);
if (status != VXGE_HW_OK)
return status;
- hw_info->function_mode = data0;
+ hw_info->function_mode = VXGE_HW_GET_FUNC_MODE_VAL(data0);
return status;
}
diff --git a/drivers/net/vxge/vxge-reg.h b/drivers/net/vxge/vxge-reg.h
index 0df52dbd42a..3e658b17594 100644
--- a/drivers/net/vxge/vxge-reg.h
+++ b/drivers/net/vxge/vxge-reg.h
@@ -62,6 +62,9 @@
#define VXGE_HW_GET_EPROM_IMAGE_REV(val) vxge_bVALn(val, 48, 16)
#define VXGE_HW_RTS_ACCESS_STEER_ROM_IMAGE_INDEX(val) vxge_vBIT(val, 16, 8)
+#define VXGE_HW_FW_API_GET_FUNC_MODE 29
+#define VXGE_HW_GET_FUNC_MODE_VAL(val) (val & 0xFF)
+
#define VXGE_HW_FW_UPGRADE_MEMO 13
#define VXGE_HW_FW_UPGRADE_ACTION 16
#define VXGE_HW_FW_UPGRADE_OFFSET_START 2