Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/char/ipmi/ipmi_ipmb.c ipmi_ipmb_check_msg_done() -> ipmi_alloc_smi_msg()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bus->lock
HALF_LOCKED2 &i2c_imx->slave_lock
HALF_LOCKED2 irq

drivers/char/ipmi/ipmi_ssif.c start_event_fetch() -> ipmi_alloc_smi_msg()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 &ssif_info->lock
LOCK2 *flags
TYPE_LOCK (struct ssif_info)->lock

drivers/char/ipmi/ipmi_ssif.c start_recv_msg_fetch() -> ipmi_alloc_smi_msg()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 &ssif_info->lock
LOCK2 *flags
TYPE_LOCK (struct ssif_info)->lock

drivers/char/ipmi/ipmi_msghandler.c i_ipmi_request() -> ipmi_alloc_smi_msg()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bmc->dyn_mutex
HALF_LOCKED2 &intf->bmc_reg_mutex

drivers/char/ipmi/ipmi_msghandler.c smi_from_recv_msg() -> ipmi_alloc_smi_msg()

Type Parameter Key Value
LOCK2 &intf->seq_lock
LOCK2 global &ipmi_interfaces_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ipmi_smi)->seq_lock

drivers/char/ipmi/ipmi_si_intf.c alloc_msg_handle_irq() -> ipmi_alloc_smi_msg()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &smi_info->si_lock
HALF_LOCKED2 flags

drivers/char/ipmi/ipmi_si_intf.c handle_transaction_done() -> ipmi_alloc_smi_msg()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &smi_info->si_lock
HALF_LOCKED2 flags

drivers/char/ipmi/ipmi_si_intf.c handle_transaction_done() -> ipmi_alloc_smi_msg()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &smi_info->si_lock
HALF_LOCKED2 flags