Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/scsi/arcmsr/arcmsr_hba.c arcmsr_iop2drv_data_read_handle() -> arcmsr_write_ioctldata2iop()

Type Parameter Key Value
PARAM_VALUE 0 acb 4096-ptr_max
PARAM_VALUE 0 acb->acb_flags 0,64-u32max
PARAM_VALUE 0 acb->adapter_type 0-5
PARAM_VALUE 0 acb->pmuB->doneq_index 0-263
PARAM_VALUE 0 acb->pmuB->drv2iop_doorbell 132096,137336
PARAM_VALUE 0 acb->pmuB->iop2drv_doorbell 132104,137328
PARAM_VALUE 0 acb->pmuD->doneq_index 0-256,16385-16640
PARAM_VALUE 0 acb->pmuD->host_int_status 512,4608-18446744073709548032
PARAM_VALUE 0 acb->pmuD->outbound_doorbell 1152,4096-18446744073709548672
PARAM_VALUE 0 acb->pmuD->outboundlist_interrupt_cause 4096-ptr_max
PARAM_VALUE 0 *acb->pmuB->done_qbuffer 0-4294967295
CAPPED_DATA 0 acb 1
DATA_SOURCE 0 acb $0
PARAM_COMPARE 0 acb->wqbuf_getIndex != $0->wqbuf_putIndex
BIT_INFO 0 acb->acb_flags 0x40,0xffffffff
HARD_MAX 0 acb->adapter_type 5
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 acb->in_doorbell 0-u32max
HOST_DATA 0 acb->out_doorbell 0-u32max
LOCK2 flags
LOCK2 0 &acb->wqbuffer_lock
TYPE_LOCK (struct AdapterControlBlock)->wqbuffer_lock

drivers/scsi/arcmsr/arcmsr_hba.c arcmsr_iop_message_xfer() -> arcmsr_write_ioctldata2iop()

Type Parameter Key Value
PARAM_VALUE 0 acb 4096-ptr_max
DATA_SOURCE 0 acb $0
PARAM_COMPARE 0 acb->wqbuf_getIndex != $0->wqbuf_putIndex
BIT_INFO 0 acb->acb_flags 0x0,0xfffff7ff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 irq_flags
LOCK2 shost->host_lock
LOCK2 0 &acb->wqbuffer_lock
HALF_LOCKED2 &sdev->state_mutex
TYPE_LOCK (struct AdapterControlBlock)->wqbuffer_lock

drivers/scsi/arcmsr/arcmsr_hba.c arcmsr_iop_message_xfer() -> arcmsr_write_ioctldata2iop()

Type Parameter Key Value
PARAM_VALUE 0 acb 4096-ptr_max
PARAM_VALUE 0 acb->wqbuf_putIndex 0-4095
PARAM_VALUE 0 acb->wqbuffer 4096-ptr_max
CAPPED_DATA 0 acb->wqbuf_getIndex 1
DATA_SOURCE 0 acb $0
BIT_INFO 0 acb->acb_flags 0x0,0xfffff7ef
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 irq_flags
LOCK2 shost->host_lock
LOCK2 0 &acb->wqbuffer_lock
HALF_LOCKED2 &sdev->state_mutex
TYPE_LOCK (struct AdapterControlBlock)->wqbuffer_lock

drivers/scsi/arcmsr/arcmsr_attr.c arcmsr_sysfs_iop_message_write() -> arcmsr_write_ioctldata2iop()

Type Parameter Key Value
PARAM_VALUE 0 acb 4096-ptr_max
CAPABLE 0 21
PARAM_COMPARE 0 acb->wqbuf_getIndex != $0->wqbuf_putIndex
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 flags
LOCK2 0 &acb->wqbuffer_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct AdapterControlBlock)->wqbuffer_lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/arcmsr/arcmsr_attr.c arcmsr_sysfs_iop_message_write() -> arcmsr_write_ioctldata2iop()

Type Parameter Key Value
PARAM_VALUE 0 acb 4096-ptr_max
PARAM_VALUE 0 acb->wqbuf_putIndex 0-4095
PARAM_VALUE 0 acb->wqbuffer 4096-ptr_max
CAPPED_DATA 0 acb->wqbuf_getIndex 1
CAPABLE 0 21
BIT_INFO 0 acb->acb_flags 0x0,0xffffffef
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 flags
LOCK2 0 &acb->wqbuffer_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct AdapterControlBlock)->wqbuffer_lock
TYPE_LOCK (struct kernfs_open_file)->mutex