drivers/net/wireless/marvell/mwifiex/11n.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/marvell/mwifiex/11n.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/marvell/mwifiex/11n.h- Extension
.h- Size
- 5603 bytes
- Lines
- 178
- Domain
- Driver Families
- Bucket
- drivers/net
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
11n_aggr.h11n_rxreorder.hwmm.h
Detected Declarations
function mwifiex_is_station_ampdu_allowedfunction mwifiex_is_ampdu_allowedfunction mwifiex_is_amsdu_allowedfunction mwifiex_space_avail_for_new_ba_streamfunction mwifiex_find_stream_to_deletefunction mwifiex_is_sta_11n_enabledfunction mwifiex_tdls_peer_11n_enabled
Annotated Snippet
if (tid > priv->aggr_prio_tbl[tx_tbl->tid].ampdu_user) {
tid = priv->aggr_prio_tbl[tx_tbl->tid].ampdu_user;
*ptid = tx_tbl->tid;
memcpy(ra, tx_tbl->ra, ETH_ALEN);
ret = true;
}
}
spin_unlock_bh(&priv->tx_ba_stream_tbl_lock);
return ret;
}
/*
* This function checks whether associated station is 11n enabled
*/
static inline int mwifiex_is_sta_11n_enabled(struct mwifiex_private *priv,
struct mwifiex_sta_node *node)
{
if (!node || ((priv->bss_role == MWIFIEX_BSS_ROLE_UAP) &&
!priv->ap_11n_enabled) ||
((priv->bss_mode == NL80211_IFTYPE_ADHOC) &&
!priv->adapter->adhoc_11n_enabled))
return 0;
return node->is_11n_enabled;
}
static inline u8
mwifiex_tdls_peer_11n_enabled(struct mwifiex_private *priv, const u8 *ra)
{
struct mwifiex_sta_node *node = mwifiex_get_sta_entry(priv, ra);
if (node)
return node->is_11n_enabled;
return false;
}
#endif /* !_MWIFIEX_11N_H_ */
Annotation
- Immediate include surface: `11n_aggr.h`, `11n_rxreorder.h`, `wmm.h`.
- Detected declarations: `function mwifiex_is_station_ampdu_allowed`, `function mwifiex_is_ampdu_allowed`, `function mwifiex_is_amsdu_allowed`, `function mwifiex_space_avail_for_new_ba_stream`, `function mwifiex_find_stream_to_delete`, `function mwifiex_is_sta_11n_enabled`, `function mwifiex_tdls_peer_11n_enabled`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.