Mon, Sep 14, 2020 at 09:08:58AM CEST, vasundhara-v.vo...@broadcom.com wrote:
>On Mon, Sep 14, 2020 at 11:39 AM Moshe Shemesh <mo...@mellanox.com> wrote:

[...]


>> @@ -1126,15 +1126,24 @@ mlxsw_devlink_core_bus_device_reload_down(struct 
>> devlink *devlink,
>>  }
>>
>>  static int
>> -mlxsw_devlink_core_bus_device_reload_up(struct devlink *devlink,
>> -                                       struct netlink_ext_ack *extack)
>> +mlxsw_devlink_core_bus_device_reload_up(struct devlink *devlink, enum 
>> devlink_reload_action action,
>> +                                       struct netlink_ext_ack *extack,
>> +                                       unsigned long *actions_performed)
>Sorry for repeating again, for fw_activate action on our device, all
>the driver entities undergo reset asynchronously once user initiates
>"devlink dev reload action fw_activate" and reload_up does not have
>much to do except reporting actions that will be/being performed.
>
>Once reset is complete, the health reporter will be notified using

Hmm, how is the fw reset related to health reporter recovery? Recovery
happens after some error event. I don't believe it is wise to mix it.

Instead, why don't you block in reload_up() until the reset is complete?


>devlink_health_reporter_recovery_done(). Returning from reload_up does
>not guarantee successful activation of firmware. Status of reset will
>be notified to the health reporter via
>devlink_health_reporter_state_update().
>
>I am just repeating this, so I want to know if I am on the same page.
>
>Thanks.

[...]

Reply via email to