@@ -1283,47 +1283,6 @@ static s32 brcmf_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed)
1283
1283
return err ;
1284
1284
}
1285
1285
1286
- static s32
1287
- brcmf_update_prof (struct brcmf_cfg80211_info * cfg ,
1288
- const struct brcmf_event_msg * e , void * data , s32 item )
1289
- {
1290
- s32 err = 0 ;
1291
- struct brcmf_ssid * ssid ;
1292
-
1293
- switch (item ) {
1294
- case WL_PROF_SSID :
1295
- ssid = (struct brcmf_ssid * ) data ;
1296
- memset (cfg -> profile -> ssid .SSID , 0 ,
1297
- sizeof (cfg -> profile -> ssid .SSID ));
1298
- memcpy (cfg -> profile -> ssid .SSID ,
1299
- ssid -> SSID , ssid -> SSID_len );
1300
- cfg -> profile -> ssid .SSID_len = ssid -> SSID_len ;
1301
- break ;
1302
- case WL_PROF_BSSID :
1303
- if (data )
1304
- memcpy (cfg -> profile -> bssid , data , ETH_ALEN );
1305
- else
1306
- memset (cfg -> profile -> bssid , 0 , ETH_ALEN );
1307
- break ;
1308
- case WL_PROF_SEC :
1309
- memcpy (& cfg -> profile -> sec , data ,
1310
- sizeof (cfg -> profile -> sec ));
1311
- break ;
1312
- case WL_PROF_BEACONINT :
1313
- cfg -> profile -> beacon_interval = * (u16 * )data ;
1314
- break ;
1315
- case WL_PROF_DTIMPERIOD :
1316
- cfg -> profile -> dtim_period = * (u8 * )data ;
1317
- break ;
1318
- default :
1319
- WL_ERR ("unsupported item (%d)\n" , item );
1320
- err = - EOPNOTSUPP ;
1321
- break ;
1322
- }
1323
-
1324
- return err ;
1325
- }
1326
-
1327
1286
static void brcmf_init_prof (struct brcmf_cfg80211_profile * prof )
1328
1287
{
1329
1288
memset (prof , 0 , sizeof (* prof ));
@@ -1379,12 +1338,12 @@ brcmf_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *ndev,
1379
1338
struct cfg80211_ibss_params * params )
1380
1339
{
1381
1340
struct brcmf_cfg80211_info * cfg = wiphy_to_cfg (wiphy );
1341
+ struct brcmf_cfg80211_profile * profile = cfg -> profile ;
1382
1342
struct brcmf_join_params join_params ;
1383
1343
size_t join_params_size = 0 ;
1384
1344
s32 err = 0 ;
1385
1345
s32 wsec = 0 ;
1386
1346
s32 bcnprd ;
1387
- struct brcmf_ssid ssid ;
1388
1347
1389
1348
WL_TRACE ("Enter\n" );
1390
1349
if (!check_sys_up (wiphy ))
@@ -1460,25 +1419,23 @@ brcmf_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *ndev,
1460
1419
memset (& join_params , 0 , sizeof (struct brcmf_join_params ));
1461
1420
1462
1421
/* SSID */
1463
- ssid .SSID_len = min_t (u32 , params -> ssid_len , 32 );
1464
- memcpy (ssid .SSID , params -> ssid , ssid .SSID_len );
1465
- memcpy (join_params .ssid_le .SSID , params -> ssid , ssid .SSID_len );
1466
- join_params .ssid_le .SSID_len = cpu_to_le32 (ssid .SSID_len );
1422
+ profile -> ssid .SSID_len = min_t (u32 , params -> ssid_len , 32 );
1423
+ memcpy (profile -> ssid .SSID , params -> ssid , profile -> ssid .SSID_len );
1424
+ memcpy (join_params .ssid_le .SSID , params -> ssid , profile -> ssid .SSID_len );
1425
+ join_params .ssid_le .SSID_len = cpu_to_le32 (profile -> ssid .SSID_len );
1467
1426
join_params_size = sizeof (join_params .ssid_le );
1468
- brcmf_update_prof (cfg , NULL , & ssid , WL_PROF_SSID );
1469
1427
1470
1428
/* BSSID */
1471
1429
if (params -> bssid ) {
1472
1430
memcpy (join_params .params_le .bssid , params -> bssid , ETH_ALEN );
1473
1431
join_params_size = sizeof (join_params .ssid_le ) +
1474
1432
BRCMF_ASSOC_PARAMS_FIXED_SIZE ;
1433
+ memcpy (profile -> bssid , params -> bssid , ETH_ALEN );
1475
1434
} else {
1476
1435
memcpy (join_params .params_le .bssid , ether_bcast , ETH_ALEN );
1436
+ memset (profile -> bssid , 0 , ETH_ALEN );
1477
1437
}
1478
1438
1479
- brcmf_update_prof (cfg , NULL ,
1480
- & join_params .params_le .bssid , WL_PROF_BSSID );
1481
-
1482
1439
/* Channel */
1483
1440
if (params -> channel ) {
1484
1441
u32 target_channel ;
@@ -1800,6 +1757,7 @@ brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev,
1800
1757
struct cfg80211_connect_params * sme )
1801
1758
{
1802
1759
struct brcmf_cfg80211_info * cfg = wiphy_to_cfg (wiphy );
1760
+ struct brcmf_cfg80211_profile * profile = cfg -> profile ;
1803
1761
struct ieee80211_channel * chan = sme -> channel ;
1804
1762
struct brcmf_join_params join_params ;
1805
1763
size_t join_params_size ;
@@ -1861,11 +1819,11 @@ brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev,
1861
1819
memset (& join_params , 0 , sizeof (join_params ));
1862
1820
join_params_size = sizeof (join_params .ssid_le );
1863
1821
1864
- ssid .SSID_len = min_t (u32 , sizeof ( ssid . SSID ), ( u32 ) sme -> ssid_len );
1865
- memcpy ( & join_params . ssid_le . SSID , sme -> ssid , ssid . SSID_len );
1866
- memcpy (& ssid . SSID , sme -> ssid , ssid .SSID_len );
1867
- join_params . ssid_le . SSID_len = cpu_to_le32 ( ssid .SSID_len );
1868
- brcmf_update_prof ( cfg , NULL , & ssid , WL_PROF_SSID );
1822
+ profile -> ssid .SSID_len = min_t (u32 ,
1823
+ sizeof ( ssid . SSID ), ( u32 ) sme -> ssid_len );
1824
+ memcpy (& join_params . ssid_le . SSID , sme -> ssid , profile -> ssid .SSID_len );
1825
+ memcpy ( & profile -> ssid . SSID , sme -> ssid , profile -> ssid .SSID_len );
1826
+ join_params . ssid_le . SSID_len = cpu_to_le32 ( profile -> ssid . SSID_len );
1869
1827
1870
1828
memcpy (join_params .params_le .bssid , ether_bcast , ETH_ALEN );
1871
1829
@@ -2781,8 +2739,8 @@ static s32 brcmf_update_bss_info(struct brcmf_cfg80211_info *cfg)
2781
2739
dtim_period = (u8 )var ;
2782
2740
}
2783
2741
2784
- brcmf_update_prof ( cfg , NULL , & beacon_interval , WL_PROF_BEACONINT ) ;
2785
- brcmf_update_prof ( cfg , NULL , & dtim_period , WL_PROF_DTIMPERIOD ) ;
2742
+ profile -> beacon_interval = beacon_interval ;
2743
+ profile -> dtim_period = dtim_period ;
2786
2744
2787
2745
update_bss_info_out :
2788
2746
WL_TRACE ("Exit" );
@@ -4656,7 +4614,7 @@ brcmf_bss_roaming_done(struct brcmf_cfg80211_info *cfg,
4656
4614
WL_TRACE ("Enter\n" );
4657
4615
4658
4616
brcmf_get_assoc_ies (cfg );
4659
- brcmf_update_prof ( cfg , NULL , & e -> addr , WL_PROF_BSSID );
4617
+ memcpy ( profile -> bssid , e -> addr , ETH_ALEN );
4660
4618
brcmf_update_bss_info (cfg );
4661
4619
4662
4620
brcmf_exec_dcmd (ndev , BRCMF_C_GET_CHANNEL , & channel_le ,
@@ -4697,8 +4655,7 @@ brcmf_bss_connect_done(struct brcmf_cfg80211_info *cfg,
4697
4655
if (test_and_clear_bit (WL_STATUS_CONNECTING , & cfg -> status )) {
4698
4656
if (completed ) {
4699
4657
brcmf_get_assoc_ies (cfg );
4700
- brcmf_update_prof (cfg , NULL , & e -> addr ,
4701
- WL_PROF_BSSID );
4658
+ memcpy (profile -> bssid , e -> addr , ETH_ALEN );
4702
4659
brcmf_update_bss_info (cfg );
4703
4660
}
4704
4661
cfg80211_connect_result (ndev ,
@@ -4763,15 +4720,15 @@ brcmf_notify_connect_status(struct brcmf_cfg80211_info *cfg,
4763
4720
struct net_device * ndev ,
4764
4721
const struct brcmf_event_msg * e , void * data )
4765
4722
{
4723
+ struct brcmf_cfg80211_profile * profile = cfg -> profile ;
4766
4724
s32 err = 0 ;
4767
4725
4768
4726
if (cfg -> conf -> mode == WL_MODE_AP ) {
4769
4727
err = brcmf_notify_connect_status_ap (cfg , ndev , e , data );
4770
4728
} else if (brcmf_is_linkup (cfg , e )) {
4771
4729
WL_CONN ("Linkup\n" );
4772
4730
if (brcmf_is_ibssmode (cfg )) {
4773
- brcmf_update_prof (cfg , NULL , (void * )e -> addr ,
4774
- WL_PROF_BSSID );
4731
+ memcpy (profile -> bssid , e -> addr , ETH_ALEN );
4775
4732
wl_inform_ibss (cfg , ndev , e -> addr );
4776
4733
cfg80211_ibss_joined (ndev , e -> addr , GFP_KERNEL );
4777
4734
clear_bit (WL_STATUS_CONNECTING , & cfg -> status );
0 commit comments