diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2025-10-01 13:10:30 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2025-10-01 13:10:30 -0700 |
| commit | 524c4a5daf92982cf16d9e6c8cdf8721abe35a11 (patch) | |
| tree | 21b800ce6cc77daa2f65db60473b6cca349d5306 /include | |
| parent | Merge tag 'for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/li... (diff) | |
| parent | ipmi: Add Loongson-2K BMC support (diff) | |
| download | linux-524c4a5daf92982cf16d9e6c8cdf8721abe35a11.tar.gz linux-524c4a5daf92982cf16d9e6c8cdf8721abe35a11.zip | |
Merge tag 'for-linus-6.18-1' of https://github.com/cminyard/linux-ipmi
Pull IPMI updates from Corey Minyard:
"Bug fixes and enhancements for IPMI
This fixes a number of small bugs, but has some more major changes:
- Loongson-2K BMC support is added. This is an MFD device and is
dependent on the changes coming from that tree.
The way the driver handles BMCs that have become non-functional has
been completely redone. A number of changes in the past have
attempted to handle various issues around this, but nothing has
been very good. After working with some people on this, the code
has been reworked to disable the driver and fail all pending
operations if the BMC becomes non functional. It will retry the BMC
once a second to see if it's back up"
* tag 'for-linus-6.18-1' of https://github.com/cminyard/linux-ipmi:
ipmi: Add Loongson-2K BMC support
ipmi:si: Gracefully handle if the BMC is non-functional
ipmi: Rename "user_data" to "recv_msg" in an SMI message
ipmi: Allow an SMI sender to return an error
ipmi:si: Move flags get start to its own function
ipmi:si: Merge some if statements
ipmi: Set a timer for maintenance mode
ipmi: Add a maintenance mode sysfs file
ipmi: Disable sysfs access and requests in maintenance mode
ipmi: Differentiate between reset and firmware update in maintenance
dt-bindings: ipmi: aspeed,ast2400-kcs-bmc: Add missing "clocks" property
ipmi: Rework user message limit handling
Revert "ipmi: fix msg stack when IPMI is disconnected"
ipmi:msghandler:Change seq_lock to a mutex
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/ipmi_smi.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/linux/ipmi_smi.h b/include/linux/ipmi_smi.h index 5d69820d8b02..892e2d656e1e 100644 --- a/include/linux/ipmi_smi.h +++ b/include/linux/ipmi_smi.h @@ -109,8 +109,9 @@ struct ipmi_smi_msg { enum ipmi_smi_msg_type type; - long msgid; - void *user_data; + long msgid; + /* Response to this message, will be NULL if not from a user request. */ + struct ipmi_recv_msg *recv_msg; int data_size; unsigned char data[IPMI_MAX_MSG_LENGTH]; @@ -168,9 +169,11 @@ struct ipmi_smi_handlers { * are held when this is run. Message are delivered one at * a time by the message handler, a new message will not be * delivered until the previous message is returned. + * + * This can return an error if the SMI is not in a state where it + * can send a message. */ - void (*sender)(void *send_info, - struct ipmi_smi_msg *msg); + int (*sender)(void *send_info, struct ipmi_smi_msg *msg); /* * Called by the upper layer to request that we try to get |
