func: static brcmf_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device struct cfg80211_ibss_params *params) struct brcmf_if * ifp = netdev_priv ( ndev ) ; struct brcmf_join_params join_params ; s32 wsec = 0 ; s32 bcnprd ; u32 ssid_len ; if ( ! check_vif_up ( ifp -> vif ) )  static bool check_vif_up(struct brcmf_cfg80211_vif *vif) if ( ! test_bit ( BRCMF_VIF_STATUS_READY , & vif -> sme_state ) )  return false ; return true ; if ( params -> ssid )  if ( params -> privacy )  wsec |= WEP_ENABLED; err = brcmf_fil_iovar_int_set ( ifp , "wsec" , wsec ); if ( err )  if ( params -> beacon_interval )  bcnprd = params -> beacon_interval; bcnprd = 100; err = brcmf_fil_cmd_int_set ( ifp , BRCMF_C_SET_BCNPRD , bcnprd ); if ( err )  memset ( & join_params , 0 , sizeof ( struct brcmf_join_params ) ); ssid_len = min_t ( u32 , params -> ssid_len , IEEE80211_MAX_SSID_LEN ); memcpy ( join_params . ssid_le . SSID , params -> ssid , ssid_len ); join_params . ssid_le . SSID_len = cpu_to_le32 ( ssid_len ); if ( params -> bssid )  memcpy ( join_params . params_le . bssid , params -> bssid , ETH_ALEN ); join_params . params_le . chanspec_list [ 0 ] = cpu_to_le16 ( chanspec ); join_params . params_le . chanspec_num = cpu_to_le32 ( 1 ); join_params_size += sizeof ( join_params . params_le ); err = brcmf_fil_cmd_data_set ( ifp , BRCMF_C_SET_SSID , & join_params , join_params_size ); if ( err )  brcmf_err ( "WLC_SET_SSID failed (%d)\n" , err ); if ( err )  return err ; 