func: static brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev struct cfg80211_mgmt_tx_params *params, u64 *cookie) struct brcmf_cfg80211_info * cfg = wiphy_to_cfg ( wiphy ) ; const u8 * buf = params -> buf ; size_t len = params -> len ; const struct ieee80211_mgmt * mgmt ; struct brcmf_cfg80211_vif * vif ; s32 ie_offset ; s32 ie_len ; mgmt = ( const struct ieee80211_mgmt * ) buf; if ( ! ieee80211_is_mgmt ( mgmt -> frame_control ) )  vif = container_of ( wdev , struct brcmf_cfg80211_vif , wdev ) if ( ieee80211_is_probe_resp ( mgmt -> frame_control ) )  ie_offset = DOT11_MGMT_HDR_LEN + DOT11_BCN_PRB_FIXED_LEN; ie_len = len - ie_offset; if ( vif == cfg -> p2p . bss_idx [ P2PAPI_BSSCFG_PRIMARY ] . vif )  vif = cfg -> p2p . bss_idx [ P2PAPI_BSSCFG_DEVICE ] . vif; err = brcmf_vif_set_mgmt_ie ( vif , BRCMF_VNDR_IE_PRBRSP_FLAG , & buf [ ie_offset ] , ie_len ); s32 brcmf_vif_set_mgmt_ie(struct brcmf_cfg80211_vif *vif, s32 const u8 *vndr_ie_buf, u32 vndr_ie_len) struct vif_saved_ie * saved_ie ; u8 * iovar_ie_buf ; u8 * curr_ie_buf ; int mgmt_ie_buf_len ; u32 parsed_ie_buf_len = 0 ; struct parsed_vndr_ies new_vndr_ies ; struct parsed_vndr_ie_info * vndrie_info ; s32 i ; u8 * ptr ; if ( ! vif )  saved_ie = & vif -> saved_ie; iovar_ie_buf = kzalloc ( WL_EXTRA_BUF_MAX , GFP_KERNEL ); if ( ! iovar_ie_buf )  curr_ie_buf = iovar_ie_buf; switch ( pktflag )  mgmt_ie_buf_len = sizeof ( saved_ie -> probe_req_ie ); mgmt_ie_buf_len = sizeof ( saved_ie -> probe_res_ie ); mgmt_ie_buf_len = sizeof ( saved_ie -> beacon_ie ); mgmt_ie_buf_len = sizeof ( saved_ie -> assoc_req_ie ); if ( vndr_ie_len > mgmt_ie_buf_len )  if ( vndr_ie_buf && vndr_ie_len && curr_ie_buf )  ptr = curr_ie_buf; for (i = 0; i < new_vndr_ies.count; i++) vndrie_info = & new_vndr_ies . ie_info [ i ]; memcpy ( ptr + parsed_ie_buf_len , vndrie_info -> ie_ptr , vndrie_info -> ie_len ); parsed_ie_buf_len += vndrie_info -> ie_len; memcpy ( ptr + ( * mgmt_ie_len ) , vndrie_info -> ie_ptr , vndrie_info -> ie_len ); 