diff options
author | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 17:06:53 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 20:18:25 -0700 |
commit | 5257a97a86766bdc3a976e3278b65367f35f9ff8 (patch) | |
tree | 4c2f54480001df75745bdfbf9b9f1ccbe71a3199 /include/net | |
parent | ca43de58e5c35310fef81a64e0854615595935ee (diff) | |
parent | 410dbb746130bc052bb3c7a337a86252874adbdf (diff) |
Merge tag 'v3.10.12' into android-tegra-nv-3.10-rebase
This is the 3.10.12 stable release
Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/genetlink.h | 20 | ||||
-rw-r--r-- | include/net/ip_tunnels.h | 14 | ||||
-rw-r--r-- | include/net/mac80211.h | 1 | ||||
-rw-r--r-- | include/net/sch_generic.h | 9 |
4 files changed, 27 insertions, 17 deletions
diff --git a/include/net/genetlink.h b/include/net/genetlink.h index 93024a47e0e2..8e0b6c856a13 100644 --- a/include/net/genetlink.h +++ b/include/net/genetlink.h @@ -61,6 +61,7 @@ struct genl_family { struct list_head ops_list; /* private */ struct list_head family_list; /* private */ struct list_head mcast_groups; /* private */ + struct module *module; }; /** @@ -121,9 +122,24 @@ struct genl_ops { struct list_head ops_list; }; -extern int genl_register_family(struct genl_family *family); -extern int genl_register_family_with_ops(struct genl_family *family, +extern int __genl_register_family(struct genl_family *family); + +static inline int genl_register_family(struct genl_family *family) +{ + family->module = THIS_MODULE; + return __genl_register_family(family); +} + +extern int __genl_register_family_with_ops(struct genl_family *family, struct genl_ops *ops, size_t n_ops); + +static inline int genl_register_family_with_ops(struct genl_family *family, + struct genl_ops *ops, size_t n_ops) +{ + family->module = THIS_MODULE; + return __genl_register_family_with_ops(family, ops, n_ops); +} + extern int genl_unregister_family(struct genl_family *family); extern int genl_register_ops(struct genl_family *, struct genl_ops *ops); extern int genl_unregister_ops(struct genl_family *, struct genl_ops *ops); diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h index 09b1360e10bf..a9942e1faefb 100644 --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h @@ -141,20 +141,6 @@ static inline u8 ip_tunnel_ecn_encap(u8 tos, const struct iphdr *iph, return INET_ECN_encapsulate(tos, inner); } -static inline void tunnel_ip_select_ident(struct sk_buff *skb, - const struct iphdr *old_iph, - struct dst_entry *dst) -{ - struct iphdr *iph = ip_hdr(skb); - - /* Use inner packet iph-id if possible. */ - if (skb->protocol == htons(ETH_P_IP) && old_iph->id) - iph->id = old_iph->id; - else - __ip_select_ident(iph, dst, - (skb_shinfo(skb)->gso_segs ?: 1) - 1); -} - static inline void iptunnel_xmit(struct sk_buff *skb, struct net_device *dev) { int err; diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 885898a40d13..4e50d3674431 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -1484,6 +1484,7 @@ enum ieee80211_hw_flags { IEEE80211_HW_SUPPORTS_RC_TABLE = 1<<24, IEEE80211_HW_P2P_DEV_ADDR_FOR_INTF = 1<<25, IEEE80211_HW_TIMING_BEACON_ONLY = 1<<26, + IEEE80211_HW_SUPPORTS_HT_CCK_RATES = 1<<27, }; /** diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index e7f4e21cc3e1..63ed1d1dd9e7 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -682,13 +682,19 @@ struct psched_ratecfg { u64 rate_bps; u32 mult; u16 overhead; + u8 linklayer; u8 shift; }; static inline u64 psched_l2t_ns(const struct psched_ratecfg *r, unsigned int len) { - return ((u64)(len + r->overhead) * r->mult) >> r->shift; + len += r->overhead; + + if (unlikely(r->linklayer == TC_LINKLAYER_ATM)) + return ((u64)(DIV_ROUND_UP(len,48)*53) * r->mult) >> r->shift; + + return ((u64)len * r->mult) >> r->shift; } extern void psched_ratecfg_precompute(struct psched_ratecfg *r, const struct tc_ratespec *conf); @@ -699,6 +705,7 @@ static inline void psched_ratecfg_getrate(struct tc_ratespec *res, memset(res, 0, sizeof(*res)); res->rate = r->rate_bps >> 3; res->overhead = r->overhead; + res->linklayer = (r->linklayer & TC_LINKLAYER_MASK); } #endif |