• Jacob Keller's avatar
    ice: preserve NVM capabilities in safe mode · be49b1ad
    Jacob Keller authored
    If the driver initializes in safe mode, it will call
    ice_set_safe_mode_caps. This results in clearing the capabilities
    structures, in order to set them up for operating in safe mode, ensuring
    many features are disabled.
    
    This has a side effect of also clearing the capability bits that relate
    to NVM update. The result is that the device driver will not indicate
    support for unified update, even if the firmware is capable.
    
    Fix this by adding the relevant capability fields to the list of values
    we preserve. To simplify the code, use a common_cap structure instead of
    a handful of local variables. To reduce some duplication of the
    capability name, introduce a couple of macros used to restore the
    capabilities values from the cached copy.
    
    Fixes: de9b277e ("ice: Add support for unified NVM update flow capability")
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Tested-by: default avatarBrijesh Behera <brijeshx.behera@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    be49b1ad
ice_common.c 125 KB