Skip to content

Commit d6994ca

Browse files
Shahed Shaikhdavem330
authored andcommitted
qlcnic: Do not read QLCNIC_FW_CAPABILITY_MORE_CAPS bit for 83xx adapter
Only 82xx adapter advertises QLCNIC_FW_CAPABILITY_MORE_CAPS bit. Reading this bit from 83xx adapter causes the driver to skip extra capabilities registers. Because of this, driver was not issuing qlcnic_fw_cmd_set_drv_version() for 83xx adapter. This bug was introduced in commit 8af3f33 ("qlcnic: Add support for 'set driver version' in 83XX"). Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 598c45b commit d6994ca

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2276,9 +2276,9 @@ int qlcnic_83xx_get_nic_info(struct qlcnic_adapter *adapter,
22762276
temp = (cmd.rsp.arg[8] & 0x7FFE0000) >> 17;
22772277
npar_info->max_linkspeed_reg_offset = temp;
22782278
}
2279-
if (npar_info->capabilities & QLCNIC_FW_CAPABILITY_MORE_CAPS)
2280-
memcpy(ahw->extra_capability, &cmd.rsp.arg[16],
2281-
sizeof(ahw->extra_capability));
2279+
2280+
memcpy(ahw->extra_capability, &cmd.rsp.arg[16],
2281+
sizeof(ahw->extra_capability));
22822282

22832283
out:
22842284
qlcnic_free_mbx_args(&cmd);

drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,7 +1131,10 @@ qlcnic_initialize_nic(struct qlcnic_adapter *adapter)
11311131
if (err == -EIO)
11321132
return err;
11331133
adapter->ahw->extra_capability[0] = temp;
1134+
} else {
1135+
adapter->ahw->extra_capability[0] = 0;
11341136
}
1137+
11351138
adapter->ahw->max_mac_filters = nic_info.max_mac_filters;
11361139
adapter->ahw->max_mtu = nic_info.max_mtu;
11371140

@@ -2159,8 +2162,7 @@ void qlcnic_set_drv_version(struct qlcnic_adapter *adapter)
21592162
else if (qlcnic_83xx_check(adapter))
21602163
fw_cmd = QLCNIC_CMD_83XX_SET_DRV_VER;
21612164

2162-
if ((ahw->capabilities & QLCNIC_FW_CAPABILITY_MORE_CAPS) &&
2163-
(ahw->extra_capability[0] & QLCNIC_FW_CAPABILITY_SET_DRV_VER))
2165+
if (ahw->extra_capability[0] & QLCNIC_FW_CAPABILITY_SET_DRV_VER)
21642166
qlcnic_fw_cmd_set_drv_version(adapter, fw_cmd);
21652167
}
21662168

0 commit comments

Comments
 (0)