Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/eql.c __eql_insert_slave() -> eql_kill_one_slave()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->master_dev->priv 4096-ptr_max
PARAM_VALUE 0 queue->master_dev->priv->max_slaves (-2147483647)-s32max
PARAM_VALUE 0 queue->num_slaves s32min-2147483646
PARAM_VALUE 1 slave 4096-ptr_max
PARAM_VALUE 1 slave->dev 4096-ptr_max
CAPPED_DATA 0 queue->num_slaves 1
CAPPED_DATA 1 slave->dev 1
DATA_SOURCE 0 queue $0
DATA_SOURCE 1 slave r __eql_find_slave_dev
CAPABLE 0 12
PARAM_COMPARE 0 queue->master_dev->priv->max_slaves > $0->num_slaves
PARAM_COMPARE 0 &queue->all_slaves != $0->all_slaves.next
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &eql->queue.lock
LOCK2 bh
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct slave_queue)->lock

drivers/net/eql.c __eql_schedule_slaves() -> eql_kill_one_slave()

Type Parameter Key Value
PARAM_VALUE 1 slave 4096-ptr_max
PARAM_VALUE 1 slave->dev 4096-ptr_max
DATA_SOURCE 0 queue $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &eql->queue.lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct slave_queue)->lock

drivers/net/eql.c eql_emancipate() -> eql_kill_one_slave()

Type Parameter Key Value
PARAM_VALUE 1 slave 4096-ptr_max
PARAM_VALUE 1 slave->dev 4096-ptr_max
CAPPED_DATA 1 slave->dev 1
DATA_SOURCE 1 slave r __eql_find_slave_dev
CAPABLE 0 12
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &eql->queue.lock
LOCK2 &net->rtnl_mutex
LOCK2 bh
LOCK2 global &rtnl_mutex
TYPE_LOCK (struct net)->rtnl_mutex
TYPE_LOCK (struct slave_queue)->lock

drivers/net/eql.c eql_kill_slave_queue() -> eql_kill_one_slave()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 slave 4096-ptr_max
DATA_SOURCE 0 queue $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &queue->lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct slave_queue)->lock

drivers/net/eql.c eql_timer() -> eql_kill_one_slave()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 1 slave 4096-ptr_max
PARAM_VALUE 1 slave->dev 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &eql->queue.lock
TYPE_LOCK (struct slave_queue)->lock