vxge: Handle errors in vxge_hw_vpath_fw_api
Propagate the return code of the call to vxge_hw_vpath_fw_api and __vxge_hw_vpath_pci_func_mode_get. This enables the proper handling of error conditions when querying the function mode of the device during probe. 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>
This commit is contained in:
parent
b81b373384
commit
c3150eac9f
|
@ -1107,8 +1107,9 @@ __vxge_hw_vpath_card_info_get(struct __vxge_hw_virtualpath *vpath,
|
||||||
* __vxge_hw_vpath_pci_func_mode_get - Get the pci mode
|
* __vxge_hw_vpath_pci_func_mode_get - Get the pci mode
|
||||||
* Returns pci function mode
|
* Returns pci function mode
|
||||||
*/
|
*/
|
||||||
static u64
|
static enum vxge_hw_status
|
||||||
__vxge_hw_vpath_pci_func_mode_get(struct __vxge_hw_virtualpath *vpath)
|
__vxge_hw_vpath_pci_func_mode_get(struct __vxge_hw_virtualpath *vpath,
|
||||||
|
struct vxge_hw_device_hw_info *hw_info)
|
||||||
{
|
{
|
||||||
u64 data0, data1 = 0, steer_ctrl = 0;
|
u64 data0, data1 = 0, steer_ctrl = 0;
|
||||||
enum vxge_hw_status status;
|
enum vxge_hw_status status;
|
||||||
|
@ -1119,8 +1120,11 @@ __vxge_hw_vpath_pci_func_mode_get(struct __vxge_hw_virtualpath *vpath)
|
||||||
VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION_READ_MEMO_ENTRY,
|
VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION_READ_MEMO_ENTRY,
|
||||||
VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL_FW_MEMO,
|
VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL_FW_MEMO,
|
||||||
0, &data0, &data1, &steer_ctrl);
|
0, &data0, &data1, &steer_ctrl);
|
||||||
|
if (status != VXGE_HW_OK)
|
||||||
|
return status;
|
||||||
|
|
||||||
return data0;
|
hw_info->function_mode = data0;
|
||||||
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1235,8 +1239,9 @@ vxge_hw_device_hw_info_get(void __iomem *bar0,
|
||||||
(bar0 + val64);
|
(bar0 + val64);
|
||||||
vpath.vp_open = 0;
|
vpath.vp_open = 0;
|
||||||
|
|
||||||
hw_info->function_mode =
|
status = __vxge_hw_vpath_pci_func_mode_get(&vpath, hw_info);
|
||||||
__vxge_hw_vpath_pci_func_mode_get(&vpath);
|
if (status != VXGE_HW_OK)
|
||||||
|
goto exit;
|
||||||
|
|
||||||
status = __vxge_hw_vpath_fw_ver_get(&vpath, hw_info);
|
status = __vxge_hw_vpath_fw_ver_get(&vpath, hw_info);
|
||||||
if (status != VXGE_HW_OK)
|
if (status != VXGE_HW_OK)
|
||||||
|
|
Loading…
Reference in New Issue