Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/phy/phy.c _phy_state_machine() -> phy_link_down()

Type Parameter Key Value
PARAM_VALUE 0 phydev 4096-ptr_max
PARAM_VALUE 0 phydev->attached_dev->rtnl_link_ops->priv_size 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3544,3552,3720,9688-u64max
PARAM_VALUE 0 phydev->devlink->link_dev.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 phydev->devlink->link_dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 phydev->drv->features 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->phy_id_mask 0,1048512,1048560,1048574,16777212,16777215,268435440,429496627,4294966272,4294967247,4294967272,4294967279-4294967280,4294967282,4294967289,4294967292,4294967294-u32max
PARAM_VALUE 0 phydev->drv->remove 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->soft_reset 0,4096-ptr_max
PARAM_VALUE 0 phydev->eee_active 0
PARAM_VALUE 0 phydev->enable_tx_lpi 0
PARAM_VALUE 0 phydev->link 0
PARAM_VALUE 0 phydev->lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 phydev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 phydev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 phydev->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 phydev->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 phydev->mdio.dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 phydev->state 2-3
BUF_SIZE 0 phydev->adjust_link (-1),8
DATA_SOURCE 0 phydev $0
NOSPEC 0 phydev->attached_dev->ifindex
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 phydev->attached_dev->flags 0-526849[c]
USER_DATA 0 phydev->attached_dev->group s32min-s32max
USER_DATA 0 phydev->attached_dev->ifindex s32min-s32max
USER_DATA 0 phydev->attached_dev->mtu 0-s32max[c]
USER_DATA 0 phydev->attached_dev->num_tc 1-16[c]
USER_DATA 0 phydev->attached_dev->real_num_rx_queues 1-s32max[c]
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->proto_down
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->tx_queue_len
NO_OVERFLOW_SIMPLE 0 phydev->skb->extensions
UNITS 0 phydev unit_byte
LOCK2 0 &phydev->lock
TYPE_LOCK (struct phy_device)->lock

drivers/net/phy/phy.c phy_check_link_status() -> phy_link_down()

Type Parameter Key Value
PARAM_VALUE 0 phydev 4096-ptr_max
PARAM_VALUE 0 phydev->attached_dev->rtnl_link_ops->priv_size 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3544,3552,3720,9688-u64max
PARAM_VALUE 0 phydev->devlink->link_dev.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 phydev->devlink->link_dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 phydev->drv 4096-ptr_max
PARAM_VALUE 0 phydev->drv->aneg_done 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->features 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->flags 0-2,4-5,8
PARAM_VALUE 0 phydev->drv->get_sqi 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_sqi_max 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_stats 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_strings 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_tunable 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_wol 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->inband_caps 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->link_change_notify 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->module_eeprom 0
PARAM_VALUE 0 phydev->drv->module_info 0
PARAM_VALUE 0 phydev->drv->phy_id_mask 0,1048512,1048560,1048574,16777212,16777215,268435440,429496627,4294966272,4294967247,4294967272,4294967279-4294967280,4294967282,4294967289,4294967292,4294967294-u32max
PARAM_VALUE 0 phydev->drv->probe 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->read_mmd 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->remove 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->set_tunable 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->set_wol 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->soft_reset 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->update_stats 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->write_mmd 0,4096-ptr_max
PARAM_VALUE 0 phydev->eee_active 0
PARAM_VALUE 0 phydev->enable_tx_lpi 0
PARAM_VALUE 0 phydev->link 0
PARAM_VALUE 0 phydev->lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 phydev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 phydev->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 phydev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 phydev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 phydev->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 phydev->loopback_enabled 0
PARAM_VALUE 0 phydev->mdio.dev.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 phydev->mdio.dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 phydev->state 6
BUF_SIZE 0 phydev->adjust_link (-1),8
DATA_SOURCE 0 phydev $0
NOSPEC 0 phydev->attached_dev->ifindex
NOSPEC 0 phydev->speed
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 phydev->attached_dev->flags 0-526849[c]
USER_DATA 0 phydev->attached_dev->group s32min-s32max
USER_DATA 0 phydev->attached_dev->ifindex s32min-s32max
USER_DATA 0 phydev->attached_dev->mtu 0-s32max[c]
USER_DATA 0 phydev->attached_dev->num_tc 1-16[c]
USER_DATA 0 phydev->attached_dev->real_num_rx_queues 1-s32max[c]
USER_DATA 0 phydev->autoneg 0
USER_DATA 0 phydev->duplex 0-255
USER_DATA 0 phydev->speed s32min-s32max
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->proto_down
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->tx_queue_len
NO_OVERFLOW_SIMPLE 0 phydev->skb->extensions
UNITS 0 phydev unit_byte
LOCK2 0 &phydev->lock
TYPE_LOCK (struct phy_device)->lock

drivers/net/phy/phy.c phy_ethtool_set_eee_noneg() -> phy_link_down()

Type Parameter Key Value
PARAM_VALUE 0 phydev 4096-ptr_max
PARAM_VALUE 0 phydev->devlink->link_dev.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 phydev->drv 1-u64max
PARAM_VALUE 0 phydev->drv->soft_reset 0,4096-ptr_max
PARAM_VALUE 0 phydev->enable_tx_lpi 0
PARAM_VALUE 0 phydev->link 0
PARAM_VALUE 0 phydev->lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 phydev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 phydev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 phydev->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 phydev->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 phydev->mdio.bus->mdio_lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->mdio.dev.power.wakeirq->status 0-4294967295
BUF_SIZE 0 phydev->adjust_link (-1),8
DATA_SOURCE 0 phydev $0
NOSPEC 0 phydev->attached_dev->ifindex
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 phydev->attached_dev->flags 0-526849[c]
USER_DATA 0 phydev->attached_dev->group s32min-s32max
USER_DATA 0 phydev->attached_dev->ifindex s32min-s32max
USER_DATA 0 phydev->attached_dev->mtu 0-s32max[c]
USER_DATA 0 phydev->attached_dev->num_tc 2-16[c]
USER_DATA 0 phydev->attached_dev->real_num_rx_queues 1-s32max[c]
USER_DATA 0 phydev->eee_cfg.eee_enabled 0-1
USER_DATA 0 phydev->eee_cfg.tx_lpi_enabled 0-1
USER_DATA 0 phydev->eee_cfg.tx_lpi_timer 0-u32max
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->group
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->proto_down
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 phydev->attached_dev->tx_queue_len
UNITS 0 phydev unit_byte
LOCK2 0 &phydev->lock
TYPE_LOCK (struct phy_device)->lock

drivers/net/phy/phy.c phy_loopback() -> phy_link_down()

Type Parameter Key Value
PARAM_VALUE 0 phydev 4096-ptr_max
PARAM_VALUE 0 phydev->drv 1-u64max
PARAM_VALUE 0 phydev->drv->aneg_done 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->features 0,681788632981893120,759592904107679744,2145953830645129216,6111361609318838272,6923468307645313024
PARAM_VALUE 0 phydev->drv->flags 0-2,4-5,8
PARAM_VALUE 0 phydev->drv->get_sqi 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_sqi_max 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_stats 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_strings 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_tunable 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->get_wol 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->inband_caps 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->module_eeprom 0
PARAM_VALUE 0 phydev->drv->module_info 0
PARAM_VALUE 0 phydev->drv->phy_id_mask 0,1048512,1048560,1048574,16777212,16777215,268435440,4294966272,4294967247,4294967272,4294967279-4294967280,4294967282,4294967289,4294967292,4294967294-u32max
PARAM_VALUE 0 phydev->drv->probe 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->read_mmd 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->remove 0,275401702347644928,597568946819129344,1198279324993892352,2533081849126309888,2702699844559785984,5557809911874424832,5839848459102351360
PARAM_VALUE 0 phydev->drv->set_tunable 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->set_wol 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->soft_reset 0,4096-ptr_max
PARAM_VALUE 0 phydev->drv->write_mmd 0,4096-ptr_max
PARAM_VALUE 0 phydev->link 0
PARAM_VALUE 0 phydev->lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 phydev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 phydev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 phydev->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 phydev->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 phydev->loopback_enabled 0
PARAM_VALUE 0 phydev->state 6
CAPPED_DATA 0 &phydev->lock 1
DATA_SOURCE 0 phydev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &phydev->lock
HALF_LOCKED2 &netdev->lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct phy_device)->lock

drivers/net/phy/phy.c phy_start_cable_test() -> phy_link_down()

Type Parameter Key Value
PARAM_VALUE 0 phydev 4096-ptr_max
PARAM_VALUE 0 phydev->attached_dev->ethtool_ops->op_needs_rtnl 0,8,156,256,268,270,320,365
PARAM_VALUE 0 phydev->attached_dev->ethtool_ops->supported_coalesce_params 0-3,17,19,34-35,48,51,59,63,204,236,273,511,513,529,547,561,563
PARAM_VALUE 0 phydev->attached_dev->rtnl_link_ops->priv_size 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728
PARAM_VALUE 0 phydev->drv 4096-ptr_max
PARAM_VALUE 0 phydev->drv->cable_test_get_status 4096-ptr_max
PARAM_VALUE 0 phydev->drv->cable_test_start 4096-ptr_max
PARAM_VALUE 0 phydev->ehdr 1-u64max
PARAM_VALUE 0 phydev->lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 phydev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 phydev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 phydev->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 phydev->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 phydev->nest 4096-ptr_max
PARAM_VALUE 0 phydev->skb 4096-ptr_max
PARAM_VALUE 0 phydev->state 4-6
CAPPED_DATA 0 &phydev->lock 1
DATA_SOURCE 0 phydev $0
HARD_MAX 0 phydev->state 6
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &phydev->lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct phy_device)->lock

drivers/net/phy/phy.c phy_start_cable_test_tdr() -> phy_link_down()

Type Parameter Key Value
PARAM_VALUE 0 phydev 4096-ptr_max
PARAM_VALUE 0 phydev->attached_dev->ethtool_ops->op_needs_rtnl 0,8,156,256,268,270,320,365
PARAM_VALUE 0 phydev->attached_dev->ethtool_ops->supported_coalesce_params 0-3,17,19,34-35,48,51,59,63,204,236,273,511,513,529,547,561,563
PARAM_VALUE 0 phydev->attached_dev->rtnl_link_ops->priv_size 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728
PARAM_VALUE 0 phydev->drv 4096-ptr_max
PARAM_VALUE 0 phydev->drv->cable_test_get_status 4096-ptr_max
PARAM_VALUE 0 phydev->drv->cable_test_tdr_start 4360922641206964224
PARAM_VALUE 0 phydev->ehdr 1-u64max
PARAM_VALUE 0 phydev->lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 phydev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 phydev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 phydev->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 phydev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 phydev->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 phydev->nest 4096-ptr_max
PARAM_VALUE 0 phydev->skb 4096-ptr_max
PARAM_VALUE 0 phydev->state 4-6
CAPPED_DATA 0 &phydev->lock 1
DATA_SOURCE 0 phydev $0
HARD_MAX 0 phydev->state 6
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &phydev->lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct phy_device)->lock