diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-12 14:12:06 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-12 14:12:06 -0500 |
commit | e697b8d13ede3893724898d983eff3f8c9183643 (patch) | |
tree | 0144d2d98d33e92a1d93739f0db12997c000d456 /include | |
parent | 46015977e70f672ae6b20a1b5fb1e361208365ba (diff) | |
parent | 2994c63863ac350c4c8c6a65d8110749c2abb95c (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (39 commits)
[INET]: Small possible memory leak in FIB rules
[NETNS]: init dev_base_lock only once
[UNIX]: The unix_nr_socks limit can be exceeded
[AF_UNIX]: Convert socks to unix_socks in scan_inflight, not in callbacks
[AF_UNIX]: Make unix_tot_inflight counter non-atomic
[AF_PACKET]: Allow multicast traffic to be caught by ORIGDEV when bonded
ssb: Fix PCMCIA-host lowlevel bus access
mac80211: fix MAC80211_RCSIMPLE Kconfig
mac80211: make "decrypt failed" messages conditional upon MAC80211_DEBUG
mac80211: use IW_AUTH_PRIVACY_INVOKED rather than IW_AUTH_KEY_MGMT
mac80211: remove unused driver ops
mac80211: remove ieee80211_common.h
softmac: MAINTAINERS update
rfkill: Fix sparse warning
rfkill: Use mutex_lock() at register and add sanity check
iwlwifi: select proper rate control algorithm
mac80211: allow driver to ask for a rate control algorithm
mac80211: don't allow registering the same rate control twice
rfkill: Use subsys_initcall
mac80211: make simple rate control algorithm built-in
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/skbuff.h | 4 | ||||
-rw-r--r-- | include/net/af_unix.h | 2 | ||||
-rw-r--r-- | include/net/dst.h | 7 | ||||
-rw-r--r-- | include/net/fib_rules.h | 3 | ||||
-rw-r--r-- | include/net/inet_hashtables.h | 1 | ||||
-rw-r--r-- | include/net/mac80211.h | 26 |
6 files changed, 20 insertions, 23 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 94e49915a8c0..91140fe8c119 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -387,7 +387,9 @@ extern void skb_truesize_bug(struct sk_buff *skb); | |||
387 | 387 | ||
388 | static inline void skb_truesize_check(struct sk_buff *skb) | 388 | static inline void skb_truesize_check(struct sk_buff *skb) |
389 | { | 389 | { |
390 | if (unlikely((int)skb->truesize < sizeof(struct sk_buff) + skb->len)) | 390 | int len = sizeof(struct sk_buff) + skb->len; |
391 | |||
392 | if (unlikely((int)skb->truesize < len)) | ||
391 | skb_truesize_bug(skb); | 393 | skb_truesize_bug(skb); |
392 | } | 394 | } |
393 | 395 | ||
diff --git a/include/net/af_unix.h b/include/net/af_unix.h index 0864a775de24..a1c805d7f488 100644 --- a/include/net/af_unix.h +++ b/include/net/af_unix.h | |||
@@ -12,7 +12,7 @@ extern void unix_gc(void); | |||
12 | 12 | ||
13 | #define UNIX_HASH_SIZE 256 | 13 | #define UNIX_HASH_SIZE 256 |
14 | 14 | ||
15 | extern atomic_t unix_tot_inflight; | 15 | extern unsigned int unix_tot_inflight; |
16 | 16 | ||
17 | struct unix_address { | 17 | struct unix_address { |
18 | atomic_t refcnt; | 18 | atomic_t refcnt; |
diff --git a/include/net/dst.h b/include/net/dst.h index e9ff4a4caef9..2f65e894b829 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
@@ -143,6 +143,13 @@ static inline void dst_hold(struct dst_entry * dst) | |||
143 | atomic_inc(&dst->__refcnt); | 143 | atomic_inc(&dst->__refcnt); |
144 | } | 144 | } |
145 | 145 | ||
146 | static inline void dst_use(struct dst_entry *dst, unsigned long time) | ||
147 | { | ||
148 | dst_hold(dst); | ||
149 | dst->__use++; | ||
150 | dst->lastuse = time; | ||
151 | } | ||
152 | |||
146 | static inline | 153 | static inline |
147 | struct dst_entry * dst_clone(struct dst_entry * dst) | 154 | struct dst_entry * dst_clone(struct dst_entry * dst) |
148 | { | 155 | { |
diff --git a/include/net/fib_rules.h b/include/net/fib_rules.h index 017aebd90683..41a301e38643 100644 --- a/include/net/fib_rules.h +++ b/include/net/fib_rules.h | |||
@@ -107,4 +107,7 @@ extern int fib_rules_unregister(struct fib_rules_ops *); | |||
107 | extern int fib_rules_lookup(struct fib_rules_ops *, | 107 | extern int fib_rules_lookup(struct fib_rules_ops *, |
108 | struct flowi *, int flags, | 108 | struct flowi *, int flags, |
109 | struct fib_lookup_arg *); | 109 | struct fib_lookup_arg *); |
110 | extern int fib_default_rule_add(struct fib_rules_ops *, | ||
111 | u32 pref, u32 table, | ||
112 | u32 flags); | ||
110 | #endif | 113 | #endif |
diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h index 8461cda37490..469216d93663 100644 --- a/include/net/inet_hashtables.h +++ b/include/net/inet_hashtables.h | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/spinlock.h> | 23 | #include <linux/spinlock.h> |
24 | #include <linux/types.h> | 24 | #include <linux/types.h> |
25 | #include <linux/wait.h> | 25 | #include <linux/wait.h> |
26 | #include <linux/vmalloc.h> | ||
26 | 27 | ||
27 | #include <net/inet_connection_sock.h> | 28 | #include <net/inet_connection_sock.h> |
28 | #include <net/inet_sock.h> | 29 | #include <net/inet_sock.h> |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 5fcc4c104340..17b60391fcd6 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -706,11 +706,16 @@ enum ieee80211_hw_flags { | |||
706 | * | 706 | * |
707 | * @queues: number of available hardware transmit queues for | 707 | * @queues: number of available hardware transmit queues for |
708 | * data packets. WMM/QoS requires at least four. | 708 | * data packets. WMM/QoS requires at least four. |
709 | * | ||
710 | * @rate_control_algorithm: rate control algorithm for this hardware. | ||
711 | * If unset (NULL), the default algorithm will be used. Must be | ||
712 | * set before calling ieee80211_register_hw(). | ||
709 | */ | 713 | */ |
710 | struct ieee80211_hw { | 714 | struct ieee80211_hw { |
711 | struct ieee80211_conf conf; | 715 | struct ieee80211_conf conf; |
712 | struct wiphy *wiphy; | 716 | struct wiphy *wiphy; |
713 | struct workqueue_struct *workqueue; | 717 | struct workqueue_struct *workqueue; |
718 | const char *rate_control_algorithm; | ||
714 | void *priv; | 719 | void *priv; |
715 | u32 flags; | 720 | u32 flags; |
716 | unsigned int extra_tx_headroom; | 721 | unsigned int extra_tx_headroom; |
@@ -936,27 +941,11 @@ enum ieee80211_erp_change_flags { | |||
936 | * and remove_interface calls, i.e. while the interface with the | 941 | * and remove_interface calls, i.e. while the interface with the |
937 | * given local_address is enabled. | 942 | * given local_address is enabled. |
938 | * | 943 | * |
939 | * @set_ieee8021x: Enable/disable IEEE 802.1X. This item requests wlan card | ||
940 | * to pass unencrypted EAPOL-Key frames even when encryption is | ||
941 | * configured. If the wlan card does not require such a configuration, | ||
942 | * this function pointer can be set to NULL. | ||
943 | * | ||
944 | * @set_port_auth: Set port authorization state (IEEE 802.1X PAE) to be | ||
945 | * authorized (@authorized=1) or unauthorized (=0). This function can be | ||
946 | * used if the wlan hardware or low-level driver implements PAE. | ||
947 | * mac80211 will filter frames based on authorization state in any case, | ||
948 | * so this function pointer can be NULL if low-level driver does not | ||
949 | * require event notification about port state changes. | ||
950 | * | ||
951 | * @hw_scan: Ask the hardware to service the scan request, no need to start | 944 | * @hw_scan: Ask the hardware to service the scan request, no need to start |
952 | * the scan state machine in stack. | 945 | * the scan state machine in stack. |
953 | * | 946 | * |
954 | * @get_stats: return low-level statistics | 947 | * @get_stats: return low-level statistics |
955 | * | 948 | * |
956 | * @set_privacy_invoked: For devices that generate their own beacons and probe | ||
957 | * response or association responses this updates the state of privacy_invoked | ||
958 | * returns 0 for success or an error number. | ||
959 | * | ||
960 | * @get_sequence_counter: For devices that have internal sequence counters this | 949 | * @get_sequence_counter: For devices that have internal sequence counters this |
961 | * callback allows mac80211 to access the current value of a counter. | 950 | * callback allows mac80211 to access the current value of a counter. |
962 | * This callback seems not well-defined, tell us if you need it. | 951 | * This callback seems not well-defined, tell us if you need it. |
@@ -1029,14 +1018,9 @@ struct ieee80211_ops { | |||
1029 | int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, | 1018 | int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, |
1030 | const u8 *local_address, const u8 *address, | 1019 | const u8 *local_address, const u8 *address, |
1031 | struct ieee80211_key_conf *key); | 1020 | struct ieee80211_key_conf *key); |
1032 | int (*set_ieee8021x)(struct ieee80211_hw *hw, int use_ieee8021x); | ||
1033 | int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr, | ||
1034 | int authorized); | ||
1035 | int (*hw_scan)(struct ieee80211_hw *hw, u8 *ssid, size_t len); | 1021 | int (*hw_scan)(struct ieee80211_hw *hw, u8 *ssid, size_t len); |
1036 | int (*get_stats)(struct ieee80211_hw *hw, | 1022 | int (*get_stats)(struct ieee80211_hw *hw, |
1037 | struct ieee80211_low_level_stats *stats); | 1023 | struct ieee80211_low_level_stats *stats); |
1038 | int (*set_privacy_invoked)(struct ieee80211_hw *hw, | ||
1039 | int privacy_invoked); | ||
1040 | int (*get_sequence_counter)(struct ieee80211_hw *hw, | 1024 | int (*get_sequence_counter)(struct ieee80211_hw *hw, |
1041 | u8* addr, u8 keyidx, u8 txrx, | 1025 | u8* addr, u8 keyidx, u8 txrx, |
1042 | u32* iv32, u16* iv16); | 1026 | u32* iv32, u16* iv16); |