scmi_bad_message_trace(9)
okay so bestie, welcome to the scmi_bad_message_trace(9) page from the Kernel API Manual β this is the helper that traces weird messages, and it's lowkey iconic. π
β¨ NAME β¨
scmi_bad_message_trace β a helper to trace weird messages. periodt.
π¦ SYNOPSIS π¦
void scmi_bad_message_trace (struct scmi_chan_info *cinfo , u32 msg_hdr , enum scmi_bad_msg err );
π ARGUMENTS π
cinfoβ a reference to the channel descriptor on which the message was received. yes, the exact channel it arrived on, bestie.msg_hdrβ message header to track. this is the main character of the trace.errβ a specific error code used as a status value in traces. so the trace knows what kind of error vibe we're in.
π DESCRIPTION π
This helper can be used to trace any kind of weird, incomplete, unexpected, timed-out message that arrives. The way that works: since the payload is missing/unreliable, the message can be traced only by referring to the header content. no cap, that header is doing all the heavy lifting. π«Ά
π SEE ALSO π
Kernel file: ./drivers/firmware/arm_scmi/driver.c β that's the home base. then peep this whole friend group of references:
struct scmi_xfers_info(9)struct scmi_protocol_instance(9)struct scmi_info(9)scmi_create_protocol_devices(9)scmi_xfer_token_set(9)scmi_xfer_token_clear(9)scmi_xfer_inflight_register_unlocked(9)scmi_xfer_inflight_register(9)scmi_xfer_raw_inflight_register(9)scmi_xfer_pending_set(9)scmi_xfer_get(9)scmi_xfer_raw_get(9)scmi_xfer_raw_channel_get(9)__scmi_xfer_put(9)scmi_xfer_raw_put(9)scmi_xfer_lookup_unlocked(9)scmi_msg_response_validate(9)scmi_xfer_state_update(9)scmi_xfer_command_acquire(9)scmi_rx_callback(9)xfer_put(9)scmi_wait_for_message_response(9)scmi_xfer_raw_wait_for_message_response(9)do_xfer(9)do_xfer_with_response(9)xfer_get_init(9)version_get(9)scmi_set_protocol_priv(9)scmi_get_protocol_priv(9)scmi_common_extended_name_get(9)scmi_common_get_max_msg_size(9)scmi_protocol_msg_check(9)struct scmi_iterator(9)scmi_revision_area_get(9)scmi_protocol_version_negotiate(9)scmi_protocol_version_initialize(9)scmi_alloc_init_protocol_instance(9)scmi_get_protocol_instance(9)scmi_protocol_acquire(9)scmi_protocol_release(9)scmi_devm_protocol_get(9)scmi_devm_protocol_acquire(9)scmi_devm_protocol_put(9)scmi_is_transport_atomic(9)scmi_handle_get(9)scmi_handle_put(9)scmi_channels_setup(9)
mwah π β signed off from ./drivers/firmware/arm_scmi, dated October 2026, still serving scmi_bad_message_trace(9) realness. π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms