diff options
author | David S. Miller <davem@davemloft.net> | 2014-03-25 20:29:20 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-25 20:29:20 -0400 |
commit | 04f58c88542b6b351efb4eea01134eb672e22e6e (patch) | |
tree | 47bb617212f8c8951f35730e324bdc43487a01ca /net/openvswitch/datapath.c | |
parent | 0fc31966035d7a540c011b6c967ce8eae1db121b (diff) | |
parent | 632b06aa2842b12c6d6a510ec080fb6ebdb38ea5 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
Documentation/devicetree/bindings/net/micrel-ks8851.txt
net/core/netpoll.c
The net/core/netpoll.c conflict is a bug fix in 'net' happening
to code which is completely removed in 'net-next'.
In micrel-ks8851.txt we simply have overlapping changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/datapath.c')
-rw-r--r-- | net/openvswitch/datapath.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index c53fe0c9697c..48bbcd94631e 100644 --- a/net/openvswitch/datapath.c +++ b/net/openvswitch/datapath.c | |||
@@ -1174,7 +1174,7 @@ static void ovs_dp_reset_user_features(struct sk_buff *skb, struct genl_info *in | |||
1174 | struct datapath *dp; | 1174 | struct datapath *dp; |
1175 | 1175 | ||
1176 | dp = lookup_datapath(sock_net(skb->sk), info->userhdr, info->attrs); | 1176 | dp = lookup_datapath(sock_net(skb->sk), info->userhdr, info->attrs); |
1177 | if (!dp) | 1177 | if (IS_ERR(dp)) |
1178 | return; | 1178 | return; |
1179 | 1179 | ||
1180 | WARN(dp->user_features, "Dropping previously announced user features\n"); | 1180 | WARN(dp->user_features, "Dropping previously announced user features\n"); |
@@ -1756,11 +1756,12 @@ static int ovs_vport_cmd_dump(struct sk_buff *skb, struct netlink_callback *cb) | |||
1756 | int bucket = cb->args[0], skip = cb->args[1]; | 1756 | int bucket = cb->args[0], skip = cb->args[1]; |
1757 | int i, j = 0; | 1757 | int i, j = 0; |
1758 | 1758 | ||
1759 | rcu_read_lock(); | ||
1759 | dp = get_dp(sock_net(skb->sk), ovs_header->dp_ifindex); | 1760 | dp = get_dp(sock_net(skb->sk), ovs_header->dp_ifindex); |
1760 | if (!dp) | 1761 | if (!dp) { |
1762 | rcu_read_unlock(); | ||
1761 | return -ENODEV; | 1763 | return -ENODEV; |
1762 | 1764 | } | |
1763 | rcu_read_lock(); | ||
1764 | for (i = bucket; i < DP_VPORT_HASH_BUCKETS; i++) { | 1765 | for (i = bucket; i < DP_VPORT_HASH_BUCKETS; i++) { |
1765 | struct vport *vport; | 1766 | struct vport *vport; |
1766 | 1767 | ||