@@ -7310,42 +7310,48 @@ static int brcmf_enable_bw40_2g(struct brcmf_cfg80211_info *cfg)
73107310 err = brcmf_fil_iovar_int_set (ifp , "mimo_bw_cap" , val );
73117311 }
73127312
7313- if (!err ) {
7314- err = brcmf_init_channel_info_provider (cfg , & prov );
7315- if (err ) {
7316- bphy_err (
7317- cfg ,
7318- "Error initializing channel info provider:%d\n" ,
7319- err );
7320- return err ;
7321- }
7313+ if (err ) {
7314+ brcmf_dbg (INFO , "failed to set bw_cap\n" );
7315+ return err ;
7316+ }
73227317
7323- band = cfg_to_wiphy (cfg )-> bands [NL80211_BAND_2GHZ ];
7324- num_chan = prov .get_channel_count (& prov );
7325- if (num_chan == 0 ) {
7326- bphy_err (drvr , "Invalid count of channel Spec. (%u)\n" ,
7327- num_chan );
7328- return - EINVAL ;
7329- }
7318+ err = brcmf_init_channel_info_provider (cfg , & prov );
7319+ if (err ) {
7320+ bphy_err (
7321+ cfg ,
7322+ "Error initializing channel info provider:%d\n" ,
7323+ err );
7324+ return err ;
7325+ }
73307326
7331- for (i = 0 ; i < num_chan ; i ++ ) {
7332- ch .chspec = prov .get_channel_spec (& prov , i );
7333- cfg -> d11inf .decchspec (& ch );
7334- /* Skip the channels we are not interested in */
7335- if (ch .band != BRCMU_CHAN_BAND_2G ||
7336- ch .bw != BRCMU_CHAN_BW_40 )
7337- continue ;
7338- for (j = 0 ; j < band -> n_channels ; j ++ ) {
7339- if (band -> channels [j ].hw_value ==
7340- ch .control_ch_num )
7341- break ;
7342- }
7343- if (WARN_ON (j == band -> n_channels ))
7344- continue ;
7327+ band = cfg_to_wiphy (cfg )-> bands [NL80211_BAND_2GHZ ];
7328+ num_chan = prov .get_channel_count (& prov );
7329+ if (num_chan == 0 ) {
7330+ bphy_err (drvr , "Invalid count of channel Spec. (%u)\n" ,
7331+ num_chan );
7332+ err = - EINVAL ;
7333+ goto err_free ;
7334+ }
73457335
7346- brcmf_update_bw40_channel_flag (& band -> channels [j ], & ch );
7336+ for (i = 0 ; i < num_chan ; i ++ ) {
7337+ ch .chspec = prov .get_channel_spec (& prov , i );
7338+ cfg -> d11inf .decchspec (& ch );
7339+ /* Skip the channels we are not interested in */
7340+ if (ch .band != BRCMU_CHAN_BAND_2G ||
7341+ ch .bw != BRCMU_CHAN_BW_40 )
7342+ continue ;
7343+ for (j = 0 ; j < band -> n_channels ; j ++ ) {
7344+ if (band -> channels [j ].hw_value ==
7345+ ch .control_ch_num )
7346+ break ;
73477347 }
7348+ if (WARN_ON (j == band -> n_channels ))
7349+ continue ;
7350+
7351+ brcmf_update_bw40_channel_flag (& band -> channels [j ], & ch );
73487352 }
7353+
7354+ err_free :
73497355 brcmf_free_channel_info_provider (& prov );
73507356 return err ;
73517357}
0 commit comments