diff options
| author | Paul Mackerras <paulus@samba.org> | 2008-09-09 21:36:13 -0400 |
|---|---|---|
| committer | Paul Mackerras <paulus@samba.org> | 2008-09-09 21:36:13 -0400 |
| commit | 7e392f8c29ee045c6a29d50193d2fb10712eceb0 (patch) | |
| tree | c84097fe644c50c82f087ab7fa2d75167b8c0e16 /net/mac80211 | |
| parent | 7713fef06517d216f96ee7c8ad750e72bc08d38f (diff) | |
| parent | 93811d94f7e9bcfeed7d6ba75ea5d9c80a70ab95 (diff) | |
Merge branch 'linux-2.6'
Diffstat (limited to 'net/mac80211')
| -rw-r--r-- | net/mac80211/debugfs_key.c | 6 | ||||
| -rw-r--r-- | net/mac80211/debugfs_netdev.c | 24 | ||||
| -rw-r--r-- | net/mac80211/ieee80211_i.h | 10 | ||||
| -rw-r--r-- | net/mac80211/mesh.c | 2 | ||||
| -rw-r--r-- | net/mac80211/mlme.c | 6 |
5 files changed, 29 insertions, 19 deletions
diff --git a/net/mac80211/debugfs_key.c b/net/mac80211/debugfs_key.c index 7439b63df5d0..cf82acec913a 100644 --- a/net/mac80211/debugfs_key.c +++ b/net/mac80211/debugfs_key.c | |||
| @@ -265,7 +265,7 @@ void ieee80211_debugfs_key_add_default(struct ieee80211_sub_if_data *sdata) | |||
| 265 | key = sdata->default_key; | 265 | key = sdata->default_key; |
| 266 | if (key) { | 266 | if (key) { |
| 267 | sprintf(buf, "../keys/%d", key->debugfs.cnt); | 267 | sprintf(buf, "../keys/%d", key->debugfs.cnt); |
| 268 | sdata->debugfs.default_key = | 268 | sdata->common_debugfs.default_key = |
| 269 | debugfs_create_symlink("default_key", | 269 | debugfs_create_symlink("default_key", |
| 270 | sdata->debugfsdir, buf); | 270 | sdata->debugfsdir, buf); |
| 271 | } else | 271 | } else |
| @@ -277,8 +277,8 @@ void ieee80211_debugfs_key_remove_default(struct ieee80211_sub_if_data *sdata) | |||
| 277 | if (!sdata) | 277 | if (!sdata) |
| 278 | return; | 278 | return; |
| 279 | 279 | ||
| 280 | debugfs_remove(sdata->debugfs.default_key); | 280 | debugfs_remove(sdata->common_debugfs.default_key); |
| 281 | sdata->debugfs.default_key = NULL; | 281 | sdata->common_debugfs.default_key = NULL; |
| 282 | } | 282 | } |
| 283 | 283 | ||
| 284 | void ieee80211_debugfs_key_sta_del(struct ieee80211_key *key, | 284 | void ieee80211_debugfs_key_sta_del(struct ieee80211_key *key, |
diff --git a/net/mac80211/debugfs_netdev.c b/net/mac80211/debugfs_netdev.c index 475f89a8aee1..8165df578c92 100644 --- a/net/mac80211/debugfs_netdev.c +++ b/net/mac80211/debugfs_netdev.c | |||
| @@ -248,8 +248,8 @@ IEEE80211_IF_WFILE(min_discovery_timeout, | |||
| 248 | static void add_sta_files(struct ieee80211_sub_if_data *sdata) | 248 | static void add_sta_files(struct ieee80211_sub_if_data *sdata) |
| 249 | { | 249 | { |
| 250 | DEBUGFS_ADD(drop_unencrypted, sta); | 250 | DEBUGFS_ADD(drop_unencrypted, sta); |
| 251 | DEBUGFS_ADD(force_unicast_rateidx, ap); | 251 | DEBUGFS_ADD(force_unicast_rateidx, sta); |
| 252 | DEBUGFS_ADD(max_ratectrl_rateidx, ap); | 252 | DEBUGFS_ADD(max_ratectrl_rateidx, sta); |
| 253 | 253 | ||
| 254 | DEBUGFS_ADD(state, sta); | 254 | DEBUGFS_ADD(state, sta); |
| 255 | DEBUGFS_ADD(bssid, sta); | 255 | DEBUGFS_ADD(bssid, sta); |
| @@ -283,8 +283,8 @@ static void add_ap_files(struct ieee80211_sub_if_data *sdata) | |||
| 283 | static void add_wds_files(struct ieee80211_sub_if_data *sdata) | 283 | static void add_wds_files(struct ieee80211_sub_if_data *sdata) |
| 284 | { | 284 | { |
| 285 | DEBUGFS_ADD(drop_unencrypted, wds); | 285 | DEBUGFS_ADD(drop_unencrypted, wds); |
| 286 | DEBUGFS_ADD(force_unicast_rateidx, ap); | 286 | DEBUGFS_ADD(force_unicast_rateidx, wds); |
| 287 | DEBUGFS_ADD(max_ratectrl_rateidx, ap); | 287 | DEBUGFS_ADD(max_ratectrl_rateidx, wds); |
| 288 | 288 | ||
| 289 | DEBUGFS_ADD(peer, wds); | 289 | DEBUGFS_ADD(peer, wds); |
| 290 | } | 290 | } |
| @@ -292,8 +292,8 @@ static void add_wds_files(struct ieee80211_sub_if_data *sdata) | |||
| 292 | static void add_vlan_files(struct ieee80211_sub_if_data *sdata) | 292 | static void add_vlan_files(struct ieee80211_sub_if_data *sdata) |
| 293 | { | 293 | { |
| 294 | DEBUGFS_ADD(drop_unencrypted, vlan); | 294 | DEBUGFS_ADD(drop_unencrypted, vlan); |
| 295 | DEBUGFS_ADD(force_unicast_rateidx, ap); | 295 | DEBUGFS_ADD(force_unicast_rateidx, vlan); |
| 296 | DEBUGFS_ADD(max_ratectrl_rateidx, ap); | 296 | DEBUGFS_ADD(max_ratectrl_rateidx, vlan); |
| 297 | } | 297 | } |
| 298 | 298 | ||
| 299 | static void add_monitor_files(struct ieee80211_sub_if_data *sdata) | 299 | static void add_monitor_files(struct ieee80211_sub_if_data *sdata) |
| @@ -381,8 +381,8 @@ static void add_files(struct ieee80211_sub_if_data *sdata) | |||
| 381 | static void del_sta_files(struct ieee80211_sub_if_data *sdata) | 381 | static void del_sta_files(struct ieee80211_sub_if_data *sdata) |
| 382 | { | 382 | { |
| 383 | DEBUGFS_DEL(drop_unencrypted, sta); | 383 | DEBUGFS_DEL(drop_unencrypted, sta); |
| 384 | DEBUGFS_DEL(force_unicast_rateidx, ap); | 384 | DEBUGFS_DEL(force_unicast_rateidx, sta); |
| 385 | DEBUGFS_DEL(max_ratectrl_rateidx, ap); | 385 | DEBUGFS_DEL(max_ratectrl_rateidx, sta); |
| 386 | 386 | ||
| 387 | DEBUGFS_DEL(state, sta); | 387 | DEBUGFS_DEL(state, sta); |
| 388 | DEBUGFS_DEL(bssid, sta); | 388 | DEBUGFS_DEL(bssid, sta); |
| @@ -416,8 +416,8 @@ static void del_ap_files(struct ieee80211_sub_if_data *sdata) | |||
| 416 | static void del_wds_files(struct ieee80211_sub_if_data *sdata) | 416 | static void del_wds_files(struct ieee80211_sub_if_data *sdata) |
| 417 | { | 417 | { |
| 418 | DEBUGFS_DEL(drop_unencrypted, wds); | 418 | DEBUGFS_DEL(drop_unencrypted, wds); |
| 419 | DEBUGFS_DEL(force_unicast_rateidx, ap); | 419 | DEBUGFS_DEL(force_unicast_rateidx, wds); |
| 420 | DEBUGFS_DEL(max_ratectrl_rateidx, ap); | 420 | DEBUGFS_DEL(max_ratectrl_rateidx, wds); |
| 421 | 421 | ||
| 422 | DEBUGFS_DEL(peer, wds); | 422 | DEBUGFS_DEL(peer, wds); |
| 423 | } | 423 | } |
| @@ -425,8 +425,8 @@ static void del_wds_files(struct ieee80211_sub_if_data *sdata) | |||
| 425 | static void del_vlan_files(struct ieee80211_sub_if_data *sdata) | 425 | static void del_vlan_files(struct ieee80211_sub_if_data *sdata) |
| 426 | { | 426 | { |
| 427 | DEBUGFS_DEL(drop_unencrypted, vlan); | 427 | DEBUGFS_DEL(drop_unencrypted, vlan); |
| 428 | DEBUGFS_DEL(force_unicast_rateidx, ap); | 428 | DEBUGFS_DEL(force_unicast_rateidx, vlan); |
| 429 | DEBUGFS_DEL(max_ratectrl_rateidx, ap); | 429 | DEBUGFS_DEL(max_ratectrl_rateidx, vlan); |
| 430 | } | 430 | } |
| 431 | 431 | ||
| 432 | static void del_monitor_files(struct ieee80211_sub_if_data *sdata) | 432 | static void del_monitor_files(struct ieee80211_sub_if_data *sdata) |
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index ec59345af65b..4498d8713652 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
| @@ -470,6 +470,8 @@ struct ieee80211_sub_if_data { | |||
| 470 | struct dentry *auth_transaction; | 470 | struct dentry *auth_transaction; |
| 471 | struct dentry *flags; | 471 | struct dentry *flags; |
| 472 | struct dentry *num_beacons_sta; | 472 | struct dentry *num_beacons_sta; |
| 473 | struct dentry *force_unicast_rateidx; | ||
| 474 | struct dentry *max_ratectrl_rateidx; | ||
| 473 | } sta; | 475 | } sta; |
| 474 | struct { | 476 | struct { |
| 475 | struct dentry *drop_unencrypted; | 477 | struct dentry *drop_unencrypted; |
| @@ -483,15 +485,21 @@ struct ieee80211_sub_if_data { | |||
| 483 | struct { | 485 | struct { |
| 484 | struct dentry *drop_unencrypted; | 486 | struct dentry *drop_unencrypted; |
| 485 | struct dentry *peer; | 487 | struct dentry *peer; |
| 488 | struct dentry *force_unicast_rateidx; | ||
| 489 | struct dentry *max_ratectrl_rateidx; | ||
| 486 | } wds; | 490 | } wds; |
| 487 | struct { | 491 | struct { |
| 488 | struct dentry *drop_unencrypted; | 492 | struct dentry *drop_unencrypted; |
| 493 | struct dentry *force_unicast_rateidx; | ||
| 494 | struct dentry *max_ratectrl_rateidx; | ||
| 489 | } vlan; | 495 | } vlan; |
| 490 | struct { | 496 | struct { |
| 491 | struct dentry *mode; | 497 | struct dentry *mode; |
| 492 | } monitor; | 498 | } monitor; |
| 493 | struct dentry *default_key; | ||
| 494 | } debugfs; | 499 | } debugfs; |
| 500 | struct { | ||
| 501 | struct dentry *default_key; | ||
| 502 | } common_debugfs; | ||
| 495 | 503 | ||
| 496 | #ifdef CONFIG_MAC80211_MESH | 504 | #ifdef CONFIG_MAC80211_MESH |
| 497 | struct dentry *mesh_stats_dir; | 505 | struct dentry *mesh_stats_dir; |
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index b5933b271491..35f2f95f2fa7 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c | |||
| @@ -383,7 +383,7 @@ errcopy: | |||
| 383 | hlist_for_each_safe(p, q, &newtbl->hash_buckets[i]) | 383 | hlist_for_each_safe(p, q, &newtbl->hash_buckets[i]) |
| 384 | tbl->free_node(p, 0); | 384 | tbl->free_node(p, 0); |
| 385 | } | 385 | } |
| 386 | __mesh_table_free(tbl); | 386 | __mesh_table_free(newtbl); |
| 387 | endgrow: | 387 | endgrow: |
| 388 | return NULL; | 388 | return NULL; |
| 389 | } | 389 | } |
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index e1d11c9b6729..902cac1bd246 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
| @@ -813,7 +813,7 @@ static void ieee80211_send_assoc(struct net_device *dev, | |||
| 813 | } | 813 | } |
| 814 | } | 814 | } |
| 815 | 815 | ||
| 816 | if (count == 8) { | 816 | if (rates_len > count) { |
| 817 | pos = skb_put(skb, rates_len - count + 2); | 817 | pos = skb_put(skb, rates_len - count + 2); |
| 818 | *pos++ = WLAN_EID_EXT_SUPP_RATES; | 818 | *pos++ = WLAN_EID_EXT_SUPP_RATES; |
| 819 | *pos++ = rates_len - count; | 819 | *pos++ = rates_len - count; |
| @@ -2103,6 +2103,8 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata, | |||
| 2103 | rcu_read_unlock(); | 2103 | rcu_read_unlock(); |
| 2104 | return; | 2104 | return; |
| 2105 | } | 2105 | } |
| 2106 | /* update new sta with its last rx activity */ | ||
| 2107 | sta->last_rx = jiffies; | ||
| 2106 | } | 2108 | } |
| 2107 | 2109 | ||
| 2108 | /* | 2110 | /* |
| @@ -2866,7 +2868,7 @@ static void ieee80211_rx_bss_info(struct net_device *dev, | |||
| 2866 | jiffies); | 2868 | jiffies); |
| 2867 | #endif /* CONFIG_MAC80211_IBSS_DEBUG */ | 2869 | #endif /* CONFIG_MAC80211_IBSS_DEBUG */ |
| 2868 | if (beacon_timestamp > rx_timestamp) { | 2870 | if (beacon_timestamp > rx_timestamp) { |
| 2869 | #ifndef CONFIG_MAC80211_IBSS_DEBUG | 2871 | #ifdef CONFIG_MAC80211_IBSS_DEBUG |
| 2870 | printk(KERN_DEBUG "%s: beacon TSF higher than " | 2872 | printk(KERN_DEBUG "%s: beacon TSF higher than " |
| 2871 | "local TSF - IBSS merge with BSSID %s\n", | 2873 | "local TSF - IBSS merge with BSSID %s\n", |
| 2872 | dev->name, print_mac(mac, mgmt->bssid)); | 2874 | dev->name, print_mac(mac, mgmt->bssid)); |
