Documented in 1 files:

Defined in 1 files as a function:

Referenced in 32 files:

Smatch caller information:

drivers/net/ethernet/freescale/enetc/enetc.c enetc_clean_tx_ring() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/huawei/hinic/hinic_tx.c free_tx_poll() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
LOCK2 &netdev_txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_queue)->_xmit_lock

drivers/net/ethernet/huawei/hinic/hinic_tx.c hinic_lb_xmit_frame() -> netif_wake_subqueue()

Type Parameter Key Value
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/huawei/hinic/hinic_tx.c hinic_xmit_frame() -> netif_wake_subqueue()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &netdev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/ethernet/renesas/rswitch_main.c rswitch_poll() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev->priv->priv 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 queue_index 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/infiniband/hw/hfi1/ipoib_tx.c hfi1_ipoib_wake_txq() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->reg_state 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size

drivers/net/vmxnet3/vmxnet3_drv.c vmxnet3_tq_wake() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tq->tx_lock
TYPE_LOCK (struct vmxnet3_tx_queue)->tx_lock

drivers/net/ethernet/aquantia/atlantic/aq_ring.c aq_ring_queue_wake() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
DATA_SOURCE 0 dev r aq_nic_get_ndev
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &nq->_xmit_lock

drivers/net/ethernet/intel/iavf/iavf_txrx.c iavf_clean_tx_irq() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/igc/igc_main.c __igc_maybe_stop_tx() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &nq->_xmit_lock
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/igc/igc_main.c igc_clean_tx_irq() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/cavium/liquidio/lio_main.c check_txq_status() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
CAPPED_DATA 1 queue_index 1
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/cavium/liquidio/lio_main.c wake_txqs() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->real_num_tx_queues 1-u32max
PARAM_VALUE 0 *dev->name 0-255
CAPPED_DATA 0 dev->num_tx_queues 1
CAPPED_DATA 1 queue_index 1
DATA_SOURCE 0 dev $0
PARAM_COMPARE 1 queue_index < $0->real_num_tx_queues
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 0 &dev->tx_global_lock

drivers/net/ethernet/intel/fm10k/fm10k_main.c fm10k_clean_tx_irq() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/brocade/bna/bnad.c bnad_cb_ethport_link_status() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 *dev->name 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size

drivers/net/ethernet/brocade/bna/bnad.c bnad_cb_tx_resume() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BIT_INFO 1 queue_index 0x0,0x7fffffff
NOCHECK_CALL
UNITS 1 queue_index unit_array_size

drivers/net/ethernet/cisco/enic/enic_wq.c enic_wq_service() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 queue_index 0-1023
CAPPED_DATA 0 dev->num_tx_queues 1
CAPPED_DATA 1 queue_index 1
DATA_SOURCE 1 queue_index $3
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

drivers/staging/rtl8723bs/os_dep/xmit_linux.c rtw_os_pkt_complete() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/staging/rtl8723bs/os_dep/xmit_linux.c rtw_os_pkt_complete() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/intel/igb/igb_main.c __igb_maybe_stop_tx() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &nq->_xmit_lock

drivers/net/ethernet/intel/igb/igb_main.c igb_clean_tx_irq() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/cavium/liquidio/lio_vf_main.c wake_txqs() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->real_num_tx_queues 1-u32max
CAPPED_DATA 0 dev->num_tx_queues 1
CAPPED_DATA 1 queue_index 1
DATA_SOURCE 0 dev $0
PARAM_COMPARE 1 queue_index < $0->real_num_tx_queues
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 0 &dev->tx_global_lock

drivers/net/ethernet/cadence/macb_main.c macb_tx_complete() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &queue->tx_ptr_lock
LOCK2 flags
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct macb_queue)->tx_ptr_lock

drivers/net/ntb_netdev.c ntb_dec_channels() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 dev->ethtool 4096-ptr_max
PARAM_VALUE 0 dev->ethtool->rss_indir_user_size 0-1
PARAM_VALUE 0 dev->ethtool->rss_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->ethtool->rss_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->ethtool->rss_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->ethtool->rss_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 dev->ethtool->rss_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->ethtool->rss_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dev->ethtool->rss_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dev->ethtool->rss_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dev->ethtool->rss_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dev->ethtool->rss_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->ethtool_ops 4096-ptr_max
PARAM_VALUE 0 dev->ethtool_ops->get_channels 0,4096-ptr_max
PARAM_VALUE 0 dev->ethtool_ops->set_channels 0,4096-ptr_max
PARAM_VALUE 0 dev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->netdev_ops 4096-ptr_max
PARAM_VALUE 0 *dev->name 0
CAPPED_DATA 0 dev->num_tx_queues 1
CAPPED_DATA 1 queue_index 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 queue_index 0[c]
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ntb_netdev.c ntb_netdev_event_handler() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
RX_PATH
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &pool->lock

drivers/net/ntb_netdev.c ntb_netdev_tx_handler() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &ioat_chan->cleanup_lock
HALF_LOCKED2 &mv_chan->lock
HALF_LOCKED2 &pd_chan->lock
HALF_LOCKED2 &plxdev->ring_lock
HALF_LOCKED2 &swdma_chan->complete_lock
HALF_LOCKED2 &td_chan->lock
HALF_LOCKED2 bh

drivers/net/ntb_netdev.c ntb_netdev_tx_timer() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size

drivers/net/ethernet/wangxun/libwx/wx_lib.c wx_clean_tx_irq() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->priv->state 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/renesas/rtsn.c rtsn_poll() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev->priv->cur_rx 0-4294967295
PARAM_VALUE 0 dev->priv->dirty_rx 0-4294967295
PARAM_VALUE 0 dev->priv->dirty_tx 0-4294967295
PARAM_VALUE 0 dev->priv->napi.gro.rx_count 0-4294967295
PARAM_VALUE 0 dev->priv->rx_ring 4096-ptr_max
PARAM_VALUE 1 queue_index 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct rtsn_private)->lock

drivers/net/ethernet/marvell/octeon_ep/octep_tx.c octep_iq_process_completions() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/meta/fbnic/fbnic_txrx.c __fbnic_nv_restart() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 1 queue_index 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &dev->lock

drivers/net/tun.c __tun_detach() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
CAPPED_DATA 1 queue_index 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
LOCK2 &ntfile->tx_ring.consumer_lock
LOCK2 &ntfile->tx_ring.producer_lock
LOCK2 bh
LOCK2 global &rtnl_mutex
TYPE_LOCK (struct ptr_ring)->consumer_lock
TYPE_LOCK (struct ptr_ring)->producer_lock

drivers/net/tun.c tun_force_wake_queue() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
LOCK2 &tfile->tx_ring.consumer_lock
LOCK2 &tfile->tx_ring.producer_lock
LOCK2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct ptr_ring)->consumer_lock
TYPE_LOCK (struct ptr_ring)->producer_lock

drivers/net/ethernet/renesas/ravb_main.c ravb_poll() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev->ip6_ptr->dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 0 dev->phydev->drv->phy_id_mask 0,1048512,1048560,1048574,16777212,16777215,268435440,429496627
PARAM_VALUE 0 dev->priv->info 4096-ptr_max
PARAM_VALUE 0 dev->priv->info->receive 4096-ptr_max
PARAM_VALUE 0 dev->priv->rx_1st_skb->mac_header u16max
PARAM_VALUE 0 dev->priv->rx_1st_skb->pp_recycle 1
PARAM_VALUE 0 dev->priv->rx_1st_skb->transport_header u16max
PARAM_VALUE 0 dev->priv->rx_1st_skb->users.refs.counter 1
PARAM_VALUE 0 dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 0 dev->rtnl_link_ops->priv_size 0,8,32,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct ravb_private)->lock

drivers/net/ethernet/emulex/benet/be_main.c be_process_tx() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 queue_index 0-65534
CAPPED_DATA 0 dev->num_tx_queues 1
CAPPED_DATA 1 queue_index 1
DATA_SOURCE 1 queue_index $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/freescale/gianfar.c gfar_clean_tx_ring() -> netif_wake_subqueue()

Type Parameter Key Value
CAPPED_DATA 1 queue_index 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/airoha/airoha_eth.c airoha_qdma_wake_netdev_txqs() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->num_tx_queues 1-u32max
CAPPED_DATA 1 queue_index 1
DATA_SOURCE 0 dev r netdev_from_priv
PARAM_COMPARE 1 queue_index < $0->num_tx_queues
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
LOCK2 &q->lock
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct airoha_queue)->lock

drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_clean_tx_irq() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c ixgbevf_clean_tx_irq() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/pensando/ionic/ionic_txrx.c ionic_tx_clean() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size

drivers/net/ethernet/cavium/liquidio/lio_core.c lio_update_txq_status() -> netif_wake_subqueue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->num_tx_queues 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 queue_index unit_array_size
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read