On 10/8/2026 7:14 AM, Aleksandr Loktionov wrote:

...

@@ -220,12 +232,27 @@ ice_send_component_table(struct pldmfw *context, struct 
pldmfw_component *compon
        struct ice_pf *pf = priv->pf;
        struct ice_hw *hw = &pf->hw;
        size_t length;
+       u8 comp_bit;
        int status;
switch (component->identifier) {
        case NVM_COMP_ID_OROM:
+               comp_bit = ICE_FWU_COMP_OROM;
+               break;
        case NVM_COMP_ID_NVM:
+               comp_bit = ICE_FWU_COMP_NVM;
+               break;
        case NVM_COMP_ID_NETLIST:
+               comp_bit = ICE_FWU_COMP_NETLIST;
+               break;
+       case NVM_COMP_ID_MANIFEST:
+               if (!priv->erot_present) {
+                       dev_err(dev, "Manifest component is not supported on 
adapters without eRoT\n");
+                       NL_SET_ERR_MSG_MOD(extack,
+                                          "Manifest component is not supported on 
adapters without eRoT");

Hi Alex,

I don't think this should be reported to both:

"
A number of driver configuration interfaces pass a Netlink extended ACK (extack) object to the driver (either directly as an argument or as a member of a parameter struct). The drivers should try to report most errors via the extack object. System level exceptions, indicating that system or device is misbehaving or is in bad state, should continue to be reported to system logs.

Messages should be passed either via extack or to system logs. Drivers should not try to report the same information to both.
"
https://docs.kernel.org/networking/driver.html#error-message-reporting

+                       return -EOPNOTSUPP;
+               }
+               comp_bit = ICE_FWU_COMP_MANIFEST;
                break;
        default:
                dev_err(dev, "Unable to update due to a firmware component with 
unknown ID %u\n",

...

@@ -1013,12 +1067,37 @@ int ice_devlink_flash_update(struct devlink *devlink,
                return -EOPNOTSUPP;
        }
- if (!hw->dev_caps.common_cap.nvm_unified_update && !ice_is_recovery_mode(hw)) {
+       struct ice_hw_dev_caps *dev_caps __free(kfree) =
+               kzalloc_obj(*dev_caps);

__free() is marked as deprecated by netdev now so we should probably avoid it if we can. Also, this is missing the separating newline for declarations.

Thanks,
Tony

+       if (!dev_caps)
+               return -ENOMEM;
+



Reply via email to