Hi Corey,

On Thu, Aug 07, 2025 at 06:02:33PM -0500, Corey Minyard wrote:
> If the driver goes into any maintenance mode, disable sysfs access until
> it is done.
>

Why specifically sysfs reads during FW update state? Is there an expectation
that during a FW update, that redfish/ipmi/etc... are chunking/buffering the
FW payloads to the device, thus needs write access? I'm assuming that the
device is blocking waiting for paylods to finish, so sending additional messages
just get ignored?

> If the driver goes into reset maintenance mode, disable all messages
> until it is done.
> 
> Signed-off-by: Corey Minyard <co...@minyard.net>
> ---
>  drivers/char/ipmi/ipmi_msghandler.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/char/ipmi/ipmi_msghandler.c 
> b/drivers/char/ipmi/ipmi_msghandler.c
> index f124c0b33db8..72f5f4a0c056 100644
> --- a/drivers/char/ipmi/ipmi_msghandler.c
> +++ b/drivers/char/ipmi/ipmi_msghandler.c
> @@ -2338,6 +2338,11 @@ static int i_ipmi_request(struct ipmi_user     *user,
>  
>       if (!run_to_completion)
>               mutex_lock(&intf->users_mutex);
> +     if (intf->maintenance_mode_state == IPMI_MAINTENANCE_MODE_STATE_RESET) {
> +             /* No messages while the BMC is in reset. */
> +             rv = -EBUSY;
> +             goto out_err;
> +     }
>       if (intf->in_shutdown) {
>               rv = -ENODEV;
>               goto out_err;
> @@ -2639,6 +2644,12 @@ static int __bmc_get_device_id(struct ipmi_smi *intf, 
> struct bmc_device *bmc,
>           (bmc->dyn_id_set && time_is_after_jiffies(bmc->dyn_id_expiry)))
>               goto out_noprocessing;
>  
> +     /* Don't allow sysfs access when in maintenance mode. */
> +     if (intf->maintenance_mode_state) {
> +             rv = -EBUSY;
> +             goto out_noprocessing;
> +     }
> +
>       prev_guid_set = bmc->dyn_guid_set;
>       __get_guid(intf);
>  
> -- 
> 2.43.0
> 

Best, Fred


_______________________________________________
Openipmi-developer mailing list
Openipmi-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to