Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 3 files:
- drivers/net/ethernet/mscc/ocelot.c
- drivers/net/ethernet/mscc/ocelot_mrp.c
- drivers/net/ethernet/mscc/ocelot_net.c
Smatch caller information:
drivers/net/ethernet/mscc/ocelot_net.c ocelot_mact_work() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 2 | mac | 6 |
| NOCHECK_CALL | |||
| UNITS | 0 | ocelot | unit_byte |
| HALF_LOCKED2 | &pool->lock |
drivers/net/ethernet/mscc/ocelot_net.c ocelot_port_set_mac_address() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | port | 58 |
| PARAM_VALUE | 3 | vid | 0 |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 2 | mac | 14 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | ocelot | unit_byte |
| HALF_LOCKED2 | global &dev_addr_sem | ||
| HALF_LOCKED2 | global &rtnl_mutex |
drivers/net/ethernet/mscc/ocelot_net.c ocelot_probe_port() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ocelot | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->dev | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->dev->devres_head.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->dev->devres_head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->dev->devres_head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ocelot->devlink->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | ocelot->devlink->lock.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->devlink->ports.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->devlink_ports | 1-u64max |
| PARAM_VALUE | 0 | ocelot->num_phys_ports | 1-255 |
| PARAM_VALUE | 0 | ocelot->ports | 4096-ptr_max |
| PARAM_VALUE | 1 | port | 58 |
| PARAM_VALUE | 3 | vid | 0 |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 0 | ocelot | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ocelot | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ocelot->devlink_ports | 0-120360 |
| BUF_SIZE | 0 | ocelot->ports | 0-2040 |
| BUF_SIZE | 2 | mac | 32 |
| DATA_SOURCE | 0 | ocelot | $0 |
| MEM_ZERO | 0 | ocelot->devlink_ports | |
| MEM_ZERO | 0 | ocelot->ports | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | ocelot->num_phys_ports | |
| UNITS | 0 | ocelot | unit_byte |
drivers/net/ethernet/mscc/ocelot_net.c ocelot_vlan_vid_add() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ocelot | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->ports | 4096-ptr_max |
| PARAM_VALUE | 1 | port | 58 |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 2 | mac | 32 |
| CAPPED_DATA | 3 | vid | 1 |
| DATA_SOURCE | 3 | vid | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 3 | vid | 1-4094[c] |
| UNITS | 0 | ocelot | unit_byte |
| UNITS | 3 | vid | unit_array_size |
drivers/net/ethernet/mscc/ocelot.c ocelot_fdb_add() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | mac | (-1),6,14,32 |
| BUF_SIZE | 2 | mac | (-1),6,14,32 |
| DATA_SOURCE | 0 | ocelot | $0 |
| DATA_SOURCE | 1 | port | $1 |
| DATA_SOURCE | 2 | mac | $2 |
| DATA_SOURCE | 3 | vid | $3 [m] |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | *mac | 0-255 |
| UNITS | 0 | ocelot | unit_byte |
| UNITS | 1 | port | unit_array_size |
| UNITS | 3 | vid | unit_array_size |
| USER_PTR | 2 | mac |
drivers/net/ethernet/mscc/ocelot.c ocelot_lag_fdb_add() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ocelot | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 2 | mac | 4096-ptr_max |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 0 | ocelot | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ocelot | s32min-(-2),1-s32max |
| BUF_SIZE | 2 | mac | 6,14,32 |
| BUF_SIZE | 2 | mac | 6,14,32 |
| CAPPED_DATA | 0 | ocelot->num_phys_ports | 1 |
| CAPPED_DATA | 0 | &ocelot->fwd_domain_lock | 1 |
| DATA_SOURCE | 0 | ocelot | $0 |
| DATA_SOURCE | 1 | port | r ocelot_bond_get_id |
| DATA_SOURCE | 2 | mac | $2 |
| DATA_SOURCE | 3 | vid | $3 [m] |
| UNITS | 0 | ocelot | unit_byte |
| LOCK2 | &lag->fdb_lock | ||
| LOCK2 | 0 | &ocelot->fwd_domain_lock | |
| TYPE_LOCK | (struct dsa_lag)->fdb_lock | ||
| TYPE_LOCK | (struct ocelot)->fwd_domain_lock |
drivers/net/ethernet/mscc/ocelot.c ocelot_migrate_lag_fdbs() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ocelot | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | ocelot->fwd_domain_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | ocelot->mact_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | ocelot->mact_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ocelot->map | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->ports | 4096-ptr_max |
| PARAM_VALUE | 1 | port | 0-s32max |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | mac | 6 |
| CAPPED_DATA | 0 | ocelot->num_phys_ports | 1 |
| CAPPED_DATA | 0 | &ocelot->lag_fdbs | 1 |
| DATA_SOURCE | 0 | ocelot | $0 |
| DATA_SOURCE | 1 | port | $2 |
| UNITS | 0 | ocelot | unit_byte |
| LOCK2 | 0 | &ocelot->fwd_domain_lock | |
| TYPE_LOCK | (struct ocelot)->fwd_domain_lock |
drivers/net/ethernet/mscc/ocelot.c ocelot_migrate_mc() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ocelot | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->mact_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | ocelot->mact_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ocelot->map | 4096-ptr_max |
| PARAM_VALUE | 2 | mac | 6022085301385666560 |
| PARAM_VALUE | 4 | type | 0-3 |
| BUF_SIZE | 0 | ocelot | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ocelot | s32min-(-2),1-s32max |
| BUF_SIZE | 2 | mac | 6 |
| DATA_SOURCE | 0 | ocelot | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | ocelot | unit_byte |
| UNITS | 3 | vid | unit_array_size |
| HALF_LOCKED2 | global &dsa2_mutex | ||
| HALF_LOCKED2 | global &rtnl_mutex |
drivers/net/ethernet/mscc/ocelot.c ocelot_port_mdb_add() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ocelot | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->mact_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | ocelot->mact_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ocelot->map | 4096-ptr_max |
| PARAM_VALUE | 2 | mac | 4438226320786415616 |
| PARAM_VALUE | 4 | type | 0-3 |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | mac | 6 |
| DATA_SOURCE | 0 | ocelot | $0 |
| UNITS | 0 | ocelot | unit_byte |
| UNITS | 3 | vid | unit_array_size |
drivers/net/ethernet/mscc/ocelot.c ocelot_port_mdb_del() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ocelot | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->mact_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | ocelot->mact_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ocelot->map | 4096-ptr_max |
| PARAM_VALUE | 2 | mac | 5748861654294994944 |
| PARAM_VALUE | 4 | type | 0-3 |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | mac | 6 |
| CAPPED_DATA | 3 | vid | 1 |
| DATA_SOURCE | 0 | ocelot | $0 |
| UNITS | 0 | ocelot | unit_byte |
| UNITS | 3 | vid | unit_array_size |
drivers/net/ethernet/mscc/ocelot_mrp.c ocelot_mrp_save_mac() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ocelot | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->ports | 4096-ptr_max |
| PARAM_VALUE | 1 | port | 57 |
| PARAM_VALUE | 3 | vid | 0 |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | mac | 6 |
| DATA_SOURCE | 0 | ocelot | $0 |
| NOCHECK_CALL | |||
| UNITS | 0 | ocelot | unit_byte |
drivers/net/ethernet/mscc/ocelot_mrp.c ocelot_mrp_save_mac() -> ocelot_mact_learn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ocelot | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->mact_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ocelot->mact_lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | ocelot->mact_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ocelot->map | 4096-ptr_max |
| PARAM_VALUE | 0 | ocelot->ports | 4096-ptr_max |
| PARAM_VALUE | 1 | port | 57 |
| PARAM_VALUE | 3 | vid | 0 |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | ocelot | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | mac | 6 |
| DATA_SOURCE | 0 | ocelot | $0 |
| NOCHECK_CALL | |||
| UNITS | 0 | ocelot | unit_byte |