Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/net/wireless/mediatek/mt76/agg-rx.c mt76_rx_aggr_release_frames() -> ieee80211_sn_less()

Type Parameter Key Value
DATA_SOURCE 1 sn2 $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tid->lock
LOCK2 bh
LOCK2 rcu_read
TYPE_LOCK (struct mt76_rx_tid)->lock

drivers/net/wireless/mediatek/mt76/agg-rx.c mt76_rx_aggr_release_frames() -> ieee80211_sn_less()

Type Parameter Key Value
PARAM_VALUE 0 sn1 0-4095
DATA_SOURCE 1 sn2 $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tid->lock
LOCK2 bh
LOCK2 rcu_read
TYPE_LOCK (struct mt76_rx_tid)->lock

drivers/net/wireless/mediatek/mt76/agg-rx.c mt76_rx_aggr_reorder() -> ieee80211_sn_less()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tid->lock
LOCK2 bh
LOCK2 rcu_read
TYPE_LOCK (struct mt76_rx_tid)->lock

drivers/net/wireless/mediatek/mt76/agg-rx.c mt76_rx_aggr_reorder() -> ieee80211_sn_less()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tid->lock
LOCK2 bh
LOCK2 rcu_read
TYPE_LOCK (struct mt76_rx_tid)->lock

net/mac80211/rx.c ieee80211_release_reorder_frames() -> ieee80211_sn_less()

Type Parameter Key Value
DATA_SOURCE 1 sn2 $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sn1 0-4095[c]
USER_DATA 1 sn2 0-4095[c]
UNITS 0 sn1 unit_array_size
UNITS 1 sn2 unit_array_size
LOCK2 &tid_agg_rx->reorder_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct tid_ampdu_rx)->reorder_lock

net/mac80211/rx.c ieee80211_release_reorder_frames() -> ieee80211_sn_less()

Type Parameter Key Value
PARAM_VALUE 0 sn1 0-4095
DATA_SOURCE 1 sn2 $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sn1 0-4095[c]
USER_DATA 1 sn2 0-4095[c]
UNITS 0 sn1 unit_array_size
UNITS 1 sn2 unit_array_size
LOCK2 &tid_agg_rx->reorder_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct tid_ampdu_rx)->reorder_lock

net/mac80211/rx.c ieee80211_sta_manage_reorder_buf() -> ieee80211_sn_less()

Type Parameter Key Value
PARAM_VALUE 0 sn1 0-4095
DATA_SOURCE 0 sn1 r ieee80211_get_sn
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sn1 0-4095[c]
USER_DATA 1 sn2 0-4095[c]
UNITS 1 sn2 unit_array_size
LOCK2 &tid_agg_rx->reorder_lock
LOCK2 rcu_read
HALF_LOCKED2 &dev->rx_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct tid_ampdu_rx)->reorder_lock

net/mac80211/rx.c ieee80211_sta_manage_reorder_buf() -> ieee80211_sn_less()

Type Parameter Key Value
PARAM_VALUE 0 sn1 0-4095
DATA_SOURCE 0 sn1 r ieee80211_get_sn
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sn1 0-4095[c]
USER_DATA 1 sn2 0-4095[c]
UNITS 1 sn2 unit_array_size
LOCK2 &tid_agg_rx->reorder_lock
LOCK2 rcu_read
HALF_LOCKED2 &dev->rx_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct tid_ampdu_rx)->reorder_lock

net/mac80211/rx.c ieee80211_sta_manage_reorder_buf() -> ieee80211_sn_less()

Type Parameter Key Value
PARAM_VALUE 0 sn1 0-4095
DATA_SOURCE 0 sn1 r ieee80211_get_sn
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sn1 0-4095[c]
USER_DATA 1 sn2 0-u16max[c]
LOCK2 &tid_agg_rx->reorder_lock
LOCK2 rcu_read
HALF_LOCKED2 &dev->rx_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct tid_ampdu_rx)->reorder_lock

drivers/net/wireless/intel/iwlwifi/mld/agg.c iwl_mld_reorder() -> ieee80211_sn_less()

Type Parameter Key Value
CAPPED_DATA 0 sn1 1
CAPPED_DATA 1 sn2 1
DATA_SOURCE 0 sn1 r u32_get_bits
DATA_SOURCE 1 sn2 r u32_get_bits
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/net/wireless/intel/iwlwifi/mld/agg.c iwl_mld_reorder_release_frames() -> ieee80211_sn_less()

Type Parameter Key Value
DATA_SOURCE 1 sn2 $5
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/net/wireless/intel/iwlwifi/mld/agg.c iwl_mld_reorder_release_frames() -> ieee80211_sn_less()

Type Parameter Key Value
PARAM_VALUE 0 sn1 0-4095
DATA_SOURCE 0 sn1 r ieee80211_sn_inc
DATA_SOURCE 1 sn2 $5
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c iwl_mvm_release_frames() -> ieee80211_sn_less()

Type Parameter Key Value
DATA_SOURCE 1 sn2 $5
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &reorder_buf->lock
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &rxq->lock
TYPE_LOCK (struct iwl_mvm_reorder_buffer)->lock

drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c iwl_mvm_release_frames() -> ieee80211_sn_less()

Type Parameter Key Value
PARAM_VALUE 0 sn1 0-4095
DATA_SOURCE 0 sn1 r ieee80211_sn_inc
DATA_SOURCE 1 sn2 $5
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &reorder_buf->lock
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &rxq->lock
TYPE_LOCK (struct iwl_mvm_reorder_buffer)->lock

drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c iwl_mvm_reorder() -> ieee80211_sn_less()

Type Parameter Key Value
PARAM_VALUE 0 sn1 0-4095
PARAM_VALUE 1 sn2 0-4095
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->lock
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &rxq->lock
TYPE_LOCK (struct iwl_mvm_reorder_buffer)->lock

drivers/net/wireless/realtek/rtw89/core.c rtw89_core_skb_pn_valid() -> ieee80211_sn_less()

Type Parameter Key Value
PARAM_VALUE 0 sn1 0-4095
DATA_SOURCE 0 sn1 r ieee80211_get_sn
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sn1 0-4095[c]
LOCK2 rcu_read