func: static brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev struct cfg80211_mgmt_tx_params *params, u64 *cookie) const u8 * buf = params -> buf ; size_t len = params -> len ; const struct ieee80211_mgmt * mgmt ; struct brcmf_fil_action_frame_le * action_frame ; struct brcmf_fil_af_params_le * af_params ; * cookie = 0; mgmt = ( const struct ieee80211_mgmt * ) buf; if ( ! ieee80211_is_mgmt ( mgmt -> frame_control ) )  if ( ieee80211_is_probe_resp ( mgmt -> frame_control ) )  if ( ieee80211_is_action ( mgmt -> frame_control ) )  af_params = kzalloc ( sizeof ( * af_params ) , GFP_KERNEL ); if ( af_params == NULL )  action_frame = & af_params -> action_frame; action_frame -> packet_id = cpu_to_le32 ( * cookie ); memcpy ( & action_frame -> da [ 0 ] , & mgmt -> da [ 0 ] , ETH_ALEN ); action_frame -> len = cpu_to_le16 ( len - DOT11_MGMT_HDR_LEN ); memcpy ( action_frame -> data , & buf [ DOT11_MGMT_HDR_LEN ] , le16_to_cpu ( action_frame -> len ) ); brcmf_dbg ( TRACE , "Action frame, cookie=%lld, len=%d, freq=%d\n" , * cookie , le16_to_cpu ( action_frame -> len ) , freq ); 