diff options
| author | David S. Miller <davem@davemloft.net> | 2017-02-02 16:54:00 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2017-02-02 16:54:00 -0500 |
| commit | e2160156bf2a7d5018e99a9993fbcdda0abac09b (patch) | |
| tree | 1a70cb13dcfa7ade4c48d8a64d20543abebfb1dc /include | |
| parent | 62e13097c46c69dbd7544ab2cd585ccf48f360a4 (diff) | |
| parent | 6d04dfc8966019b8b0977b2cb942351f13d2b178 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
All merge conflicts were simple overlapping changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/can/core.h | 7 | ||||
| -rw-r--r-- | include/linux/fscache-cache.h | 1 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 29 | ||||
| -rw-r--r-- | include/linux/nfs4.h | 3 | ||||
| -rw-r--r-- | include/linux/percpu-refcount.h | 4 | ||||
| -rw-r--r-- | include/linux/sunrpc/clnt.h | 1 | ||||
| -rw-r--r-- | include/net/ipv6.h | 5 | ||||
| -rw-r--r-- | include/soc/arc/mcip.h | 16 | ||||
| -rw-r--r-- | include/uapi/linux/ethtool.h | 4 |
9 files changed, 40 insertions, 30 deletions
diff --git a/include/linux/can/core.h b/include/linux/can/core.h index a0875001b13c..df08a41d5be5 100644 --- a/include/linux/can/core.h +++ b/include/linux/can/core.h | |||
| @@ -45,10 +45,9 @@ struct can_proto { | |||
| 45 | extern int can_proto_register(const struct can_proto *cp); | 45 | extern int can_proto_register(const struct can_proto *cp); |
| 46 | extern void can_proto_unregister(const struct can_proto *cp); | 46 | extern void can_proto_unregister(const struct can_proto *cp); |
| 47 | 47 | ||
| 48 | extern int can_rx_register(struct net_device *dev, canid_t can_id, | 48 | int can_rx_register(struct net_device *dev, canid_t can_id, canid_t mask, |
| 49 | canid_t mask, | 49 | void (*func)(struct sk_buff *, void *), |
| 50 | void (*func)(struct sk_buff *, void *), | 50 | void *data, char *ident, struct sock *sk); |
| 51 | void *data, char *ident); | ||
| 52 | 51 | ||
| 53 | extern void can_rx_unregister(struct net_device *dev, canid_t can_id, | 52 | extern void can_rx_unregister(struct net_device *dev, canid_t can_id, |
| 54 | canid_t mask, | 53 | canid_t mask, |
diff --git a/include/linux/fscache-cache.h b/include/linux/fscache-cache.h index 13ba552e6c09..4c467ef50159 100644 --- a/include/linux/fscache-cache.h +++ b/include/linux/fscache-cache.h | |||
| @@ -360,6 +360,7 @@ struct fscache_object { | |||
| 360 | #define FSCACHE_OBJECT_IS_AVAILABLE 5 /* T if object has become active */ | 360 | #define FSCACHE_OBJECT_IS_AVAILABLE 5 /* T if object has become active */ |
| 361 | #define FSCACHE_OBJECT_RETIRED 6 /* T if object was retired on relinquishment */ | 361 | #define FSCACHE_OBJECT_RETIRED 6 /* T if object was retired on relinquishment */ |
| 362 | #define FSCACHE_OBJECT_KILLED_BY_CACHE 7 /* T if object was killed by the cache */ | 362 | #define FSCACHE_OBJECT_KILLED_BY_CACHE 7 /* T if object was killed by the cache */ |
| 363 | #define FSCACHE_OBJECT_RUN_AFTER_DEAD 8 /* T if object has been dispatched after death */ | ||
| 363 | 364 | ||
| 364 | struct list_head cache_link; /* link in cache->object_list */ | 365 | struct list_head cache_link; /* link in cache->object_list */ |
| 365 | struct hlist_node cookie_link; /* link in cookie->backing_objects */ | 366 | struct hlist_node cookie_link; /* link in cookie->backing_objects */ |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 9511e5a1cfc6..f3878fbe7786 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -866,11 +866,15 @@ struct netdev_xdp { | |||
| 866 | * of useless work if you return NETDEV_TX_BUSY. | 866 | * of useless work if you return NETDEV_TX_BUSY. |
| 867 | * Required; cannot be NULL. | 867 | * Required; cannot be NULL. |
| 868 | * | 868 | * |
| 869 | * netdev_features_t (*ndo_fix_features)(struct net_device *dev, | 869 | * netdev_features_t (*ndo_features_check)(struct sk_buff *skb, |
| 870 | * netdev_features_t features); | 870 | * struct net_device *dev |
| 871 | * Adjusts the requested feature flags according to device-specific | 871 | * netdev_features_t features); |
| 872 | * constraints, and returns the resulting flags. Must not modify | 872 | * Called by core transmit path to determine if device is capable of |
| 873 | * the device state. | 873 | * performing offload operations on a given packet. This is to give |
| 874 | * the device an opportunity to implement any restrictions that cannot | ||
| 875 | * be otherwise expressed by feature flags. The check is called with | ||
| 876 | * the set of features that the stack has calculated and it returns | ||
| 877 | * those the driver believes to be appropriate. | ||
| 874 | * | 878 | * |
| 875 | * u16 (*ndo_select_queue)(struct net_device *dev, struct sk_buff *skb, | 879 | * u16 (*ndo_select_queue)(struct net_device *dev, struct sk_buff *skb, |
| 876 | * void *accel_priv, select_queue_fallback_t fallback); | 880 | * void *accel_priv, select_queue_fallback_t fallback); |
| @@ -1029,6 +1033,12 @@ struct netdev_xdp { | |||
| 1029 | * Called to release previously enslaved netdev. | 1033 | * Called to release previously enslaved netdev. |
| 1030 | * | 1034 | * |
| 1031 | * Feature/offload setting functions. | 1035 | * Feature/offload setting functions. |
| 1036 | * netdev_features_t (*ndo_fix_features)(struct net_device *dev, | ||
| 1037 | * netdev_features_t features); | ||
| 1038 | * Adjusts the requested feature flags according to device-specific | ||
| 1039 | * constraints, and returns the resulting flags. Must not modify | ||
| 1040 | * the device state. | ||
| 1041 | * | ||
| 1032 | * int (*ndo_set_features)(struct net_device *dev, netdev_features_t features); | 1042 | * int (*ndo_set_features)(struct net_device *dev, netdev_features_t features); |
| 1033 | * Called to update device configuration to new features. Passed | 1043 | * Called to update device configuration to new features. Passed |
| 1034 | * feature set might be less than what was returned by ndo_fix_features()). | 1044 | * feature set might be less than what was returned by ndo_fix_features()). |
| @@ -1101,15 +1111,6 @@ struct netdev_xdp { | |||
| 1101 | * Callback to use for xmit over the accelerated station. This | 1111 | * Callback to use for xmit over the accelerated station. This |
| 1102 | * is used in place of ndo_start_xmit on accelerated net | 1112 | * is used in place of ndo_start_xmit on accelerated net |
| 1103 | * devices. | 1113 | * devices. |
| 1104 | * netdev_features_t (*ndo_features_check)(struct sk_buff *skb, | ||
| 1105 | * struct net_device *dev | ||
| 1106 | * netdev_features_t features); | ||
| 1107 | * Called by core transmit path to determine if device is capable of | ||
| 1108 | * performing offload operations on a given packet. This is to give | ||
| 1109 | * the device an opportunity to implement any restrictions that cannot | ||
| 1110 | * be otherwise expressed by feature flags. The check is called with | ||
| 1111 | * the set of features that the stack has calculated and it returns | ||
| 1112 | * those the driver believes to be appropriate. | ||
| 1113 | * int (*ndo_set_tx_maxrate)(struct net_device *dev, | 1114 | * int (*ndo_set_tx_maxrate)(struct net_device *dev, |
| 1114 | * int queue_index, u32 maxrate); | 1115 | * int queue_index, u32 maxrate); |
| 1115 | * Called when a user wants to set a max-rate limitation of specific | 1116 | * Called when a user wants to set a max-rate limitation of specific |
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h index bca536341d1a..1b1ca04820a3 100644 --- a/include/linux/nfs4.h +++ b/include/linux/nfs4.h | |||
| @@ -282,7 +282,7 @@ enum nfsstat4 { | |||
| 282 | 282 | ||
| 283 | static inline bool seqid_mutating_err(u32 err) | 283 | static inline bool seqid_mutating_err(u32 err) |
| 284 | { | 284 | { |
| 285 | /* rfc 3530 section 8.1.5: */ | 285 | /* See RFC 7530, section 9.1.7 */ |
| 286 | switch (err) { | 286 | switch (err) { |
| 287 | case NFS4ERR_STALE_CLIENTID: | 287 | case NFS4ERR_STALE_CLIENTID: |
| 288 | case NFS4ERR_STALE_STATEID: | 288 | case NFS4ERR_STALE_STATEID: |
| @@ -291,6 +291,7 @@ static inline bool seqid_mutating_err(u32 err) | |||
| 291 | case NFS4ERR_BADXDR: | 291 | case NFS4ERR_BADXDR: |
| 292 | case NFS4ERR_RESOURCE: | 292 | case NFS4ERR_RESOURCE: |
| 293 | case NFS4ERR_NOFILEHANDLE: | 293 | case NFS4ERR_NOFILEHANDLE: |
| 294 | case NFS4ERR_MOVED: | ||
| 294 | return false; | 295 | return false; |
| 295 | }; | 296 | }; |
| 296 | return true; | 297 | return true; |
diff --git a/include/linux/percpu-refcount.h b/include/linux/percpu-refcount.h index 1c7eec09e5eb..3a481a49546e 100644 --- a/include/linux/percpu-refcount.h +++ b/include/linux/percpu-refcount.h | |||
| @@ -204,7 +204,7 @@ static inline void percpu_ref_get(struct percpu_ref *ref) | |||
| 204 | static inline bool percpu_ref_tryget(struct percpu_ref *ref) | 204 | static inline bool percpu_ref_tryget(struct percpu_ref *ref) |
| 205 | { | 205 | { |
| 206 | unsigned long __percpu *percpu_count; | 206 | unsigned long __percpu *percpu_count; |
| 207 | int ret; | 207 | bool ret; |
| 208 | 208 | ||
| 209 | rcu_read_lock_sched(); | 209 | rcu_read_lock_sched(); |
| 210 | 210 | ||
| @@ -238,7 +238,7 @@ static inline bool percpu_ref_tryget(struct percpu_ref *ref) | |||
| 238 | static inline bool percpu_ref_tryget_live(struct percpu_ref *ref) | 238 | static inline bool percpu_ref_tryget_live(struct percpu_ref *ref) |
| 239 | { | 239 | { |
| 240 | unsigned long __percpu *percpu_count; | 240 | unsigned long __percpu *percpu_count; |
| 241 | int ret = false; | 241 | bool ret = false; |
| 242 | 242 | ||
| 243 | rcu_read_lock_sched(); | 243 | rcu_read_lock_sched(); |
| 244 | 244 | ||
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index 85cc819676e8..333ad11b3dd9 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h | |||
| @@ -216,5 +216,6 @@ void rpc_clnt_xprt_switch_put(struct rpc_clnt *); | |||
| 216 | void rpc_clnt_xprt_switch_add_xprt(struct rpc_clnt *, struct rpc_xprt *); | 216 | void rpc_clnt_xprt_switch_add_xprt(struct rpc_clnt *, struct rpc_xprt *); |
| 217 | bool rpc_clnt_xprt_switch_has_addr(struct rpc_clnt *clnt, | 217 | bool rpc_clnt_xprt_switch_has_addr(struct rpc_clnt *clnt, |
| 218 | const struct sockaddr *sap); | 218 | const struct sockaddr *sap); |
| 219 | void rpc_cleanup_clids(void); | ||
| 219 | #endif /* __KERNEL__ */ | 220 | #endif /* __KERNEL__ */ |
| 220 | #endif /* _LINUX_SUNRPC_CLNT_H */ | 221 | #endif /* _LINUX_SUNRPC_CLNT_H */ |
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 7afe991e900e..dbf0abba33b8 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
| @@ -776,6 +776,11 @@ static inline __be32 ip6_make_flowlabel(struct net *net, struct sk_buff *skb, | |||
| 776 | { | 776 | { |
| 777 | u32 hash; | 777 | u32 hash; |
| 778 | 778 | ||
| 779 | /* @flowlabel may include more than a flow label, eg, the traffic class. | ||
| 780 | * Here we want only the flow label value. | ||
| 781 | */ | ||
| 782 | flowlabel &= IPV6_FLOWLABEL_MASK; | ||
| 783 | |||
| 779 | if (flowlabel || | 784 | if (flowlabel || |
| 780 | net->ipv6.sysctl.auto_flowlabels == IP6_AUTO_FLOW_LABEL_OFF || | 785 | net->ipv6.sysctl.auto_flowlabels == IP6_AUTO_FLOW_LABEL_OFF || |
| 781 | (!autolabel && | 786 | (!autolabel && |
diff --git a/include/soc/arc/mcip.h b/include/soc/arc/mcip.h index 6902c2a8bd23..4b6b489a8d7c 100644 --- a/include/soc/arc/mcip.h +++ b/include/soc/arc/mcip.h | |||
| @@ -55,17 +55,17 @@ struct mcip_cmd { | |||
| 55 | 55 | ||
| 56 | struct mcip_bcr { | 56 | struct mcip_bcr { |
| 57 | #ifdef CONFIG_CPU_BIG_ENDIAN | 57 | #ifdef CONFIG_CPU_BIG_ENDIAN |
| 58 | unsigned int pad3:8, | 58 | unsigned int pad4:6, pw_dom:1, pad3:1, |
| 59 | idu:1, llm:1, num_cores:6, | 59 | idu:1, pad2:1, num_cores:6, |
| 60 | iocoh:1, gfrc:1, dbg:1, pad2:1, | 60 | pad:1, gfrc:1, dbg:1, pw:1, |
| 61 | msg:1, sem:1, ipi:1, pad:1, | 61 | msg:1, sem:1, ipi:1, slv:1, |
| 62 | ver:8; | 62 | ver:8; |
| 63 | #else | 63 | #else |
| 64 | unsigned int ver:8, | 64 | unsigned int ver:8, |
| 65 | pad:1, ipi:1, sem:1, msg:1, | 65 | slv:1, ipi:1, sem:1, msg:1, |
| 66 | pad2:1, dbg:1, gfrc:1, iocoh:1, | 66 | pw:1, dbg:1, gfrc:1, pad:1, |
| 67 | num_cores:6, llm:1, idu:1, | 67 | num_cores:6, pad2:1, idu:1, |
| 68 | pad3:8; | 68 | pad3:1, pw_dom:1, pad4:6; |
| 69 | #endif | 69 | #endif |
| 70 | }; | 70 | }; |
| 71 | 71 | ||
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h index f0db7788f887..3dc91a46e8b8 100644 --- a/include/uapi/linux/ethtool.h +++ b/include/uapi/linux/ethtool.h | |||
| @@ -1384,6 +1384,8 @@ enum ethtool_link_mode_bit_indices { | |||
| 1384 | ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44, | 1384 | ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44, |
| 1385 | ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45, | 1385 | ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45, |
| 1386 | ETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46, | 1386 | ETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46, |
| 1387 | ETHTOOL_LINK_MODE_2500baseT_Full_BIT = 47, | ||
| 1388 | ETHTOOL_LINK_MODE_5000baseT_Full_BIT = 48, | ||
| 1387 | 1389 | ||
| 1388 | 1390 | ||
| 1389 | /* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit | 1391 | /* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit |
| @@ -1393,7 +1395,7 @@ enum ethtool_link_mode_bit_indices { | |||
| 1393 | */ | 1395 | */ |
| 1394 | 1396 | ||
| 1395 | __ETHTOOL_LINK_MODE_LAST | 1397 | __ETHTOOL_LINK_MODE_LAST |
| 1396 | = ETHTOOL_LINK_MODE_10000baseER_Full_BIT, | 1398 | = ETHTOOL_LINK_MODE_5000baseT_Full_BIT, |
| 1397 | }; | 1399 | }; |
| 1398 | 1400 | ||
| 1399 | #define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \ | 1401 | #define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \ |
