Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/char/ipmi/kcs_bmc_cdev_ipmi.c kcs_bmc_ipmi_force_abort() -> kcs_bmc_write_data()

Type Parameter Key Value
PARAM_VALUE 0 kcs_bmc 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops->io_inputb s64min-(-4096),4096-s64max
PARAM_VALUE 1 data 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &kcs_bmc->lock
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 &priv->mutex
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/char/ipmi/kcs_bmc_cdev_ipmi.c kcs_bmc_ipmi_handle_cmd() -> kcs_bmc_write_data()

Type Parameter Key Value
PARAM_VALUE 0 kcs_bmc 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops 4096-ptr_max
PARAM_VALUE 1 data 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &kcs_bmc->lock
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct kcs_bmc_device)->lock
TYPE_LOCK (struct kcs_bmc_ipmi)->lock

drivers/char/ipmi/kcs_bmc_cdev_ipmi.c kcs_bmc_ipmi_handle_data() -> kcs_bmc_write_data()

Type Parameter Key Value
PARAM_VALUE 0 kcs_bmc 4096-ptr_max
PARAM_VALUE 1 data 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &kcs_bmc->lock
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct kcs_bmc_device)->lock
TYPE_LOCK (struct kcs_bmc_ipmi)->lock

drivers/char/ipmi/kcs_bmc_cdev_ipmi.c kcs_bmc_ipmi_handle_data() -> kcs_bmc_write_data()

Type Parameter Key Value
PARAM_VALUE 0 kcs_bmc 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops->io_inputb 4096-ptr_max
PARAM_VALUE 1 data 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &kcs_bmc->lock
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct kcs_bmc_device)->lock
TYPE_LOCK (struct kcs_bmc_ipmi)->lock

drivers/char/ipmi/kcs_bmc_cdev_ipmi.c kcs_bmc_ipmi_handle_data() -> kcs_bmc_write_data()

Type Parameter Key Value
PARAM_VALUE 0 kcs_bmc 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops->io_inputb 4096-ptr_max
PARAM_VALUE 1 data 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &kcs_bmc->lock
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct kcs_bmc_device)->lock
TYPE_LOCK (struct kcs_bmc_ipmi)->lock

drivers/char/ipmi/kcs_bmc_cdev_ipmi.c kcs_bmc_ipmi_handle_data() -> kcs_bmc_write_data()

Type Parameter Key Value
PARAM_VALUE 0 kcs_bmc 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops->io_inputb 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &kcs_bmc->lock
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct kcs_bmc_device)->lock
TYPE_LOCK (struct kcs_bmc_ipmi)->lock

drivers/char/ipmi/kcs_bmc_cdev_ipmi.c kcs_bmc_ipmi_handle_data() -> kcs_bmc_write_data()

Type Parameter Key Value
PARAM_VALUE 0 kcs_bmc 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops->io_inputb 4096-ptr_max
PARAM_VALUE 1 data 0-2,6
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &kcs_bmc->lock
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct kcs_bmc_device)->lock
TYPE_LOCK (struct kcs_bmc_ipmi)->lock

drivers/char/ipmi/kcs_bmc_cdev_ipmi.c kcs_bmc_ipmi_handle_data() -> kcs_bmc_write_data()

Type Parameter Key Value
PARAM_VALUE 0 kcs_bmc 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops 4096-ptr_max
PARAM_VALUE 0 kcs_bmc->ops->io_inputb 4096-ptr_max
PARAM_VALUE 1 data 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &kcs_bmc->lock
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct kcs_bmc_device)->lock
TYPE_LOCK (struct kcs_bmc_ipmi)->lock

drivers/char/ipmi/kcs_bmc_cdev_ipmi.c kcs_bmc_ipmi_write() -> kcs_bmc_write_data()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
USER_DATA 1 data 0-255
LOCK2 &priv->lock
LOCK2 &priv->mutex
LOCK2 irq
TYPE_LOCK (struct kcs_bmc_ipmi)->lock
TYPE_LOCK (struct kcs_bmc_ipmi)->mutex