Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/net/ethernet/mellanox/mlx5/core/health.c mlx5_fw_fatal_reporter_err_work() -> mlx5_unload_one()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->cmd.alloc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.vars.pages_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.pages_sem.last_holder 0
PARAM_VALUE 0 dev->cmd.vars.pages_sem.lock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.vars.pages_sem.lock.owner (-1)
PARAM_VALUE 0 dev->cmd.vars.pages_sem.lock.owner_cpu u32max
PARAM_VALUE 0 dev->cmd.vars.sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.sem.lock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.vars.sem.lock.owner (-1)
PARAM_VALUE 0 dev->cmd.vars.sem.lock.owner_cpu u32max
PARAM_VALUE 0 dev->device 0,4096-ptr_max
PARAM_VALUE 0 dev->device->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->device->class 0,4096-ptr_max
PARAM_VALUE 0 dev->device->driver 0,4096-ptr_max
PARAM_VALUE 0 dev->intf_state_mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dev->intf_state_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->intf_state_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->priv.events 4096-ptr_max
PARAM_VALUE 0 dev->priv.events->fw_nh.head->priority s32min-s32max
PARAM_VALUE 0 dev->state 2
PARAM_VALUE 1 suspend 0
CAPPED_DATA 0 &dev->intf_state_mutex 1
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c mlx5_sync_reset_unload_flow() -> mlx5_unload_one()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->cmd.alloc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 dev->cmd.dbg.dbg_root->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 dev->cmd.vars.pages_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.pages_sem.last_holder 0
PARAM_VALUE 0 dev->cmd.vars.pages_sem.lock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.vars.sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.sem.lock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->intf_state_mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dev->intf_state_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->priv.bfreg.up->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->priv.bfreg.up->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->priv.events->fw_nh.head->priority s32min-s32max
PARAM_VALUE 0 dev->priv.fw_reset 4096-ptr_max
PARAM_VALUE 0 dev->tracer->dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->tracer->dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 1 suspend 0
CAPPED_DATA 0 dev 1
DATA_SOURCE 0 dev $0
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/mellanox/mlx5/core/sf/dev/driver.c mlx5_sf_dev_shutdown() -> mlx5_unload_one()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->priv.health.fatal_report_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.health.report_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.health.update_fw_log_ts_work.work.lockdep_map->name 0-255
PARAM_VALUE 1 suspend 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 global &system_transition_mutex
TYPE_LOCK (struct device)->mutex

drivers/net/ethernet/mellanox/mlx5/core/main.c mlx5_pci_err_detected() -> mlx5_unload_one()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->cmd.alloc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.vars.pages_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.pages_sem.last_holder 0
PARAM_VALUE 0 dev->cmd.vars.pages_sem.lock.dep_map->name 0-255
PARAM_VALUE 0 dev->cmd.vars.sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.sem.lock.dep_map->name 0-255
PARAM_VALUE 0 dev->device 0,4096-ptr_max
PARAM_VALUE 0 dev->device->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->device->class 0,4096-ptr_max
PARAM_VALUE 0 dev->device->driver 0,4096-ptr_max
PARAM_VALUE 0 dev->intf_state_mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 dev->intf_state_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dev->intf_state_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->pdev->block_cfg_access 0
PARAM_VALUE 0 dev->priv.events->fw_nh.head->priority s32min-s32max
PARAM_VALUE 0 dev->timeouts 4096-ptr_max
PARAM_VALUE 1 suspend 0
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 &pdev->dev.mutex

drivers/net/ethernet/mellanox/mlx5/core/main.c mlx5_suspend() -> mlx5_unload_one()

Type Parameter Key Value
PARAM_VALUE 1 suspend 1
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 &dev->mutex

drivers/net/ethernet/mellanox/mlx5/core/main.c shutdown() -> mlx5_unload_one()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->cmd.vars.pages_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->device 0,4096-ptr_max
PARAM_VALUE 0 dev->device->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->device->class 0,4096-ptr_max
PARAM_VALUE 0 dev->device->driver 0,4096-ptr_max
PARAM_VALUE 0 dev->priv.fw_reset 0,4096-ptr_max
PARAM_VALUE 0 dev->priv.fw_reset->fw_live_patch_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.fw_reset->reset_abort_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.fw_reset->reset_now_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.fw_reset->reset_reload_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.fw_reset->reset_request_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.fw_reset->reset_unload_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.fw_reset->timer.entry.pprev 0
PARAM_VALUE 0 dev->priv.fw_reset->timer.flags 0-4194302
PARAM_VALUE 0 dev->priv.fw_reset->timer.function 0
PARAM_VALUE 0 dev->priv.health.fatal_report_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.health.report_work.lockdep_map->name 0-255
PARAM_VALUE 0 dev->priv.health.update_fw_log_ts_work.work.lockdep_map->name 0-255
PARAM_VALUE 1 suspend 0
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 &dev->mutex
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 global &system_transition_mutex
TYPE_LOCK (struct device)->mutex