提交 97a4ec01 编写于 作者: J Jacob Keller 提交者: Tony Nguyen

ice: (re)initialize NVM fields when rebuilding

After performing a flash update, a device EMP reset may occur. This
reset will cause the newly downloaded firmware to be initialized. When
this happens, the driver still reports the previous NVM version
information.

This is because the NVM versions are cached within the hw structure.
This can be confusing, as the new firmware is in fact running in this
case.

Handle this by calling ice_init_nvm when rebuilding the driver state.
This will update the flash version information and ensures that the
current values are displayed when reporting the NVM versions to the
stack.
Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
Tested-by: NTony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
上级 1c08052e
...@@ -6218,6 +6218,12 @@ static void ice_rebuild(struct ice_pf *pf, enum ice_reset_req reset_type) ...@@ -6218,6 +6218,12 @@ static void ice_rebuild(struct ice_pf *pf, enum ice_reset_req reset_type)
ice_clear_pxe_mode(hw); ice_clear_pxe_mode(hw);
ret = ice_init_nvm(hw);
if (ret) {
dev_err(dev, "ice_init_nvm failed %s\n", ice_stat_str(ret));
goto err_init_ctrlq;
}
ret = ice_get_caps(hw); ret = ice_get_caps(hw);
if (ret) { if (ret) {
dev_err(dev, "ice_get_caps failed %s\n", ice_stat_str(ret)); dev_err(dev, "ice_get_caps failed %s\n", ice_stat_str(ret));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册