firefly-linux-kernel-4.4.55.git
12 years agofilter: add XOR operation
Jiri Pirko [Sat, 31 Mar 2012 11:01:20 +0000 (11:01 +0000)]
filter: add XOR operation

Add XOR instruction fo BPF machine. Needed for computing packet hashes.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agofilter: Allow to create sk-unattached filters
Jiri Pirko [Sat, 31 Mar 2012 11:01:19 +0000 (11:01 +0000)]
filter: Allow to create sk-unattached filters

Today, BPF filters are bind to sockets. Since BPF machine becomes handy
for other purposes, this patch allows to create unattached filter.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agovxge: Remove unnecessary ; in do {} while (0) macro
Joe Perches [Tue, 3 Apr 2012 11:53:12 +0000 (11:53 +0000)]
vxge: Remove unnecessary ; in do {} while (0) macro

This macro doesn't need a terminating ; so just remove it.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/hyperv: Add flow control based on hi/low watermark
Haiyang Zhang [Tue, 27 Mar 2012 13:20:45 +0000 (13:20 +0000)]
net/hyperv: Add flow control based on hi/low watermark

In the existing code, we only stop queue when the ringbuffer is full,
so the current packet has to be dropped or retried from upper layer.

This patch stops the tx queue when available ringbuffer is below
the low watermark. So the ringbuffer still has small amount of space
available for the current packet. This will reduce the overhead of
retries on sending.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosky2: fix missing register reset on error path in sky2_test_msi()
Lino Sanfilippo [Fri, 30 Mar 2012 07:36:16 +0000 (07:36 +0000)]
sky2: fix missing register reset on error path in sky2_test_msi()

In sky2_test_msi() the temporarily set SW IRQ in B0 register is not reset in case
that request_irq() fails.
With this patch we only set the interrupt mask if request_irq() was successful.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoaf_unix: reduce high order page allocations
Eric Dumazet [Tue, 3 Apr 2012 05:28:28 +0000 (05:28 +0000)]
af_unix: reduce high order page allocations

unix_dgram_sendmsg() currently builds linear skbs, and this can stress
page allocator with high order page allocations. When memory gets
fragmented, this can eventually fail.

We can try to use order-2 allocations for skb head (SKB_MAX_ALLOC) plus
up to 16 page fragments to lower pressure on buddy allocator.

This patch has no effect on messages of less than 16064 bytes.
(on 64bit arches with PAGE_SIZE=4096)

For bigger messages (from 16065 to 81600 bytes), this patch brings
reliability at the expense of performance penalty because of extra pages
allocations.

netperf -t DG_STREAM -T 0,2 -- -m 16064 -s 200000
->4086040 Messages / 10s

netperf -t DG_STREAM -T 0,2 -- -m 16068 -s 200000
->3901747 Messages / 10s

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet: Report dev->promiscuity in netlink reports.
Ben Greear [Thu, 29 Mar 2012 12:51:30 +0000 (12:51 +0000)]
net: Report dev->promiscuity in netlink reports.

The standard ways of probing a device's promiscuity
(ifi_flags, for instance) does not report the actual
state of the device.  This patch adds dev->promiscuity
to the netlink netdevice report so that users can know
for certain if the device is acting PROMISC or not.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet: remove unused icmp_ioctl() definition.
Rami Rosen [Thu, 29 Mar 2012 08:49:01 +0000 (08:49 +0000)]
net: remove unused icmp_ioctl() definition.

The patch removes unused icmp_ioctl() method definition in
include/net/icmp.h.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/ipv6/addrconf.c: Checkpatch cleanups
Eldad Zack [Sun, 1 Apr 2012 07:49:08 +0000 (07:49 +0000)]
net/ipv6/addrconf.c: Checkpatch cleanups

net/ipv6/addrconf.c:340: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
net/ipv6/addrconf.c:342: ERROR: "foo * bar" should be "foo *bar"
net/ipv6/addrconf.c:444: ERROR: "foo * bar" should be "foo *bar"
net/ipv6/addrconf.c:1337: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
net/ipv6/addrconf.c:1526: ERROR: "(foo*)" should be "(foo *)"
net/ipv6/addrconf.c:1671: ERROR: open brace '{' following function declarations go on the next line
net/ipv6/addrconf.c:1914: ERROR: "foo * bar" should be "foo *bar"
net/ipv6/addrconf.c:2368: ERROR: "foo * bar" should be "foo *bar"
net/ipv6/addrconf.c:2370: ERROR: "foo * bar" should be "foo *bar"
net/ipv6/addrconf.c:2416: ERROR: "foo * bar" should be "foo *bar"
net/ipv6/addrconf.c:2437: ERROR: "foo    * bar" should be "foo    *bar"
net/ipv6/addrconf.c:2573: ERROR: "foo * bar" should be "foo *bar"
net/ipv6/addrconf.c:3797: ERROR: "foo* bar" should be "foo *bar"

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/ipv6/icmp.c: Checkpatch cleanups
Eldad Zack [Sun, 1 Apr 2012 07:49:07 +0000 (07:49 +0000)]
net/ipv6/icmp.c: Checkpatch cleanups

icmp.c:501: ERROR: "(foo*)" should be "(foo *)"
icmp.c:582: ERROR: "(foo*)" should be "(foo *)"
icmp.c:954: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/ipv6/fib6_rules.c: Checkpatch cleanup
Eldad Zack [Sun, 1 Apr 2012 07:49:06 +0000 (07:49 +0000)]
net/ipv6/fib6_rules.c: Checkpatch cleanup

fib6_rules.c:26: ERROR: open brace '{' following struct go on the same line

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/ipv6/exthdrs_core.c: Checkpatch cleanups
Eldad Zack [Sun, 1 Apr 2012 07:49:05 +0000 (07:49 +0000)]
net/ipv6/exthdrs_core.c: Checkpatch cleanups

exthdrs_core.c:113: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
exthdrs_core.c:114: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/ipv6/exthdrs.c: Checkpatch cleanups
Eldad Zack [Sun, 1 Apr 2012 07:49:04 +0000 (07:49 +0000)]
net/ipv6/exthdrs.c: Checkpatch cleanups

exthdrs.c:726: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
exthdrs.c:741: ERROR: "(foo*)" should be "(foo *)"
exthdrs.c:741: ERROR: "(foo*)" should be "(foo *)"
exthdrs.c:744: ERROR: "(foo**)" should be "(foo **)"
exthdrs.c:746: ERROR: "(foo**)" should be "(foo **)"
exthdrs.c:748: ERROR: "(foo**)" should be "(foo **)"
exthdrs.c:750: ERROR: "(foo**)" should be "(foo **)"
exthdrs.c:755: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
exthdrs.c:896: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/ipv6/datagram.c: Checkpatch cleanups
Eldad Zack [Sun, 1 Apr 2012 07:49:03 +0000 (07:49 +0000)]
net/ipv6/datagram.c: Checkpatch cleanups

datagram.c:101: ERROR: "(foo*)" should be "(foo *)"
datagram.c:521: ERROR: space required before the open parenthesis '('
datagram.c:830: WARNING: braces {} are not necessary for single statement blocks
datagram.c:849: WARNING: braces {} are not necessary for single statement blocks

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/ipv6/addrconf_core.c: Checkpatch cleanup
Eldad Zack [Sun, 1 Apr 2012 07:49:02 +0000 (07:49 +0000)]
net/ipv6/addrconf_core.c: Checkpatch cleanup

addrconf_core.c:13: ERROR: space required before the open parenthesis '('

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/ipv6/sit.c: Checkpatch cleanup
Eldad Zack [Sun, 1 Apr 2012 07:49:01 +0000 (07:49 +0000)]
net/ipv6/sit.c: Checkpatch cleanup

sit.c:118: ERROR: "foo * bar" should be "foo *bar"
sit.c:694: ERROR: "(foo*)" should be "(foo *)"
sit.c:724: ERROR: "(foo*)" should be "(foo *)"

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonetlink: Delete all NLA_PUT*() macros.
David S. Miller [Mon, 2 Apr 2012 01:09:34 +0000 (21:09 -0400)]
netlink: Delete all NLA_PUT*() macros.

They were error prone due to an embedded goto, and the entire tree has
been converted away from using them.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoxfrm: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 01:04:21 +0000 (21:04 -0400)]
xfrm: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agowl12xx: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 01:03:44 +0000 (21:03 -0400)]
wl12xx: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agomac80211_hwsim: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 01:03:30 +0000 (21:03 -0400)]
mac80211_hwsim: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoiwlwifi: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 01:03:10 +0000 (21:03 -0400)]
iwlwifi: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoath6kl: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 01:02:53 +0000 (21:02 -0400)]
ath6kl: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agovlan: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:50:45 +0000 (20:50 -0400)]
vlan: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobridge: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:49:54 +0000 (20:49 -0400)]
bridge: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocaif: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:48:13 +0000 (20:48 -0400)]
caif: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agogen_stats: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:47:35 +0000 (20:47 -0400)]
gen_stats: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agofib_rules: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:47:01 +0000 (20:47 -0400)]
fib_rules: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoieee802154: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:45:25 +0000 (20:45 -0400)]
ieee802154: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonetfilter: ipv4: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:40:20 +0000 (20:40 -0400)]
netfilter: ipv4: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoipv4: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:39:02 +0000 (20:39 -0400)]
ipv4: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonetfilter: ipv6: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:28:52 +0000 (20:28 -0400)]
netfilter: ipv6: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoipv6: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:27:33 +0000 (20:27 -0400)]
ipv6: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoteam: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:25:18 +0000 (20:25 -0400)]
team: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agomacvlan: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:23:06 +0000 (20:23 -0400)]
macvlan: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoenic: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:22:22 +0000 (20:22 -0400)]
enic: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocan: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:21:11 +0000 (20:21 -0400)]
can: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoinfiniband: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:19:38 +0000 (20:19 -0400)]
infiniband: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocrypto: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:19:05 +0000 (20:19 -0400)]
crypto: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agodecnet: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:15:14 +0000 (20:15 -0400)]
decnet: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonetlink: Add nla_put_le{16,32,64}() helpers.
David S. Miller [Mon, 2 Apr 2012 00:14:27 +0000 (20:14 -0400)]
netlink: Add nla_put_le{16,32,64}() helpers.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agortnetlink: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:12:00 +0000 (20:12 -0400)]
rtnetlink: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoneighbour: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:06:28 +0000 (20:06 -0400)]
neighbour: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agodcbnl: Stop using NLA_PUT*().
David S. Miller [Mon, 2 Apr 2012 00:03:01 +0000 (20:03 -0400)]
dcbnl: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agol2tp: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 23:59:31 +0000 (19:59 -0400)]
l2tp: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoipset: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 23:54:46 +0000 (19:54 -0400)]
ipset: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonetlink: Add nla_put_net{16,32,64}() helpers.
David S. Miller [Sun, 1 Apr 2012 23:11:31 +0000 (19:11 -0400)]
netlink: Add nla_put_net{16,32,64}() helpers.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoipvs: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 23:03:15 +0000 (19:03 -0400)]
ipvs: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Simon Horman <horms@verge.net.au>
12 years agonf_conntrack_core: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:58:28 +0000 (18:58 -0400)]
nf_conntrack_core: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonf_conntrack_netlink: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:57:48 +0000 (18:57 -0400)]
nf_conntrack_netlink: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonf_conntrack_proto_dccp: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:53:24 +0000 (18:53 -0400)]
nf_conntrack_proto_dccp: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonf_conntrack_proto_generic: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:52:31 +0000 (18:52 -0400)]
nf_conntrack_proto_generic: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonf_conntrack_proto_gre: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:52:03 +0000 (18:52 -0400)]
nf_conntrack_proto_gre: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonf_conntrack_proto_sctp: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:51:07 +0000 (18:51 -0400)]
nf_conntrack_proto_sctp: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonf_conntrack_proto_tcp: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:50:08 +0000 (18:50 -0400)]
nf_conntrack_proto_tcp: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonf_conntrack_proto_udp{,lite}: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:48:06 +0000 (18:48 -0400)]
nf_conntrack_proto_udp{,lite}: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonfnetlink_acct: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:46:29 +0000 (18:46 -0400)]
nfnetlink_acct: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonfnetlink_cttimeout: Stop using NLA_PUT*().
David S. Miller [Sun, 1 Apr 2012 22:46:00 +0000 (18:46 -0400)]
nfnetlink_cttimeout: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonfnetlink_log: Stop using NLA_PUT*().
David S. Miller [Fri, 30 Mar 2012 03:31:16 +0000 (23:31 -0400)]
nfnetlink_log: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonfnetlink_queue: Stop using NLA_PUT*().
David S. Miller [Fri, 30 Mar 2012 03:27:38 +0000 (23:27 -0400)]
nfnetlink_queue: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agogenetlink: Stop using NLA_PUT*().
David S. Miller [Fri, 30 Mar 2012 03:25:11 +0000 (23:25 -0400)]
genetlink: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonfc: Stop using NLA_PUT*().
David S. Miller [Fri, 30 Mar 2012 03:23:57 +0000 (23:23 -0400)]
nfc: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoopenvswitch: Stop using NLA_PUT*().
David S. Miller [Fri, 30 Mar 2012 03:20:48 +0000 (23:20 -0400)]
openvswitch: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonetlink: Add nla_put_be{16,32,64}() helpers.
David S. Miller [Fri, 30 Mar 2012 03:18:53 +0000 (23:18 -0400)]
netlink: Add nla_put_be{16,32,64}() helpers.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agophonet: Stop using NLA_PUT*().
David S. Miller [Fri, 30 Mar 2012 03:15:10 +0000 (23:15 -0400)]
phonet: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agopkt_sched: Stop using NLA_PUT*().
David S. Miller [Thu, 29 Mar 2012 09:11:39 +0000 (05:11 -0400)]
pkt_sched: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agowireless: Stop using NLA_PUT*().
David S. Miller [Thu, 29 Mar 2012 08:41:26 +0000 (04:41 -0400)]
wireless: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoxfrm_user: Stop using NLA_PUT*().
David S. Miller [Thu, 29 Mar 2012 08:02:26 +0000 (04:02 -0400)]
xfrm_user: Stop using NLA_PUT*().

These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoipv6: Fix RTM_GETROUTE's interpretation of RTA_IIF to be consistent with ipv4
Shmulik Ladkani [Sun, 1 Apr 2012 04:03:45 +0000 (04:03 +0000)]
ipv6: Fix RTM_GETROUTE's interpretation of RTA_IIF to be consistent with ipv4

In IPv4, if an RTA_IIF attribute is specified within an RTM_GETROUTE
message, then a route is searched as if a packet was received on the
specified 'iif' interface.

However in IPv6, RTA_IIF is not interpreted in the same way:
'inet6_rtm_getroute()' always calls 'ip6_route_output()', regardless the
RTA_IIF attribute.

As a result, in IPv6 there's no way to use RTM_GETROUTE in order to look
for a route as if a packet was received on a specific interface.

Fix 'inet6_rtm_getroute()' so that RTA_IIF is interpreted as "lookup a
route as if a packet was received on the specified interface", similar
to IPv4's 'inet_rtm_getroute()' interpretation.

Reported-by: Ami Koren <amikoren@yahoo.com>
Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet: lpc_eth: Fix rename of dev_hw_addr_random
stigge@antcom.de [Wed, 28 Mar 2012 12:36:26 +0000 (12:36 +0000)]
net: lpc_eth: Fix rename of dev_hw_addr_random

In parallel to the integration of lpc_eth.c, dev_hw_addr_random() has been
renamed to eth_hw_addr_random(). This patch fixes it also in the new driver
lpc_eth.c.

Signed-off-by: Roland Stigge <stigge@antcom.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/netfilter/nfnetlink_acct.c: use linux/atomic.h
Andrew Morton [Wed, 28 Mar 2012 12:10:57 +0000 (12:10 +0000)]
net/netfilter/nfnetlink_acct.c: use linux/atomic.h

There's no known problem here, but this is one of only two non-arch files
in the kernel which use asm/atomic.h instead of linux/atomic.h.

Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: Patrick McHardy <kaber@trash.net>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agorose_dev: fix memcpy-bug in rose_set_mac_address
danborkmann@iogearbox.net [Tue, 27 Mar 2012 22:47:43 +0000 (22:47 +0000)]
rose_dev: fix memcpy-bug in rose_set_mac_address

If both addresses equal, nothing needs to be done. If the device is down,
then we simply copy the new address to dev->dev_addr. If the device is up,
then we add another loopback device with the new address, and if that does
not fail, we remove the loopback device with the old address. And only
then, we update the dev->dev_addr.

Signed-off-by: Daniel Borkmann <daniel.borkmann@tik.ee.ethz.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoFix non TBI PHY access; a bad merge undid bug fix in a previous commit.
Kenth Eriksson [Tue, 27 Mar 2012 22:05:54 +0000 (22:05 +0000)]
Fix non TBI PHY access; a bad merge undid bug fix in a previous commit.

The merge done in commit b26e478f undid bug fix in commit c3e072f8
("net: fsl_pq_mdio: fix non tbi phy access"), with the result that non
TBI (e.g. MDIO) PHYs cannot be accessed.

Signed-off-by: Kenth Eriksson <kenth.eriksson@transmode.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/garp: avoid infinite loop if attribute already exists
David Ward [Tue, 27 Mar 2012 09:01:52 +0000 (09:01 +0000)]
net/garp: avoid infinite loop if attribute already exists

An infinite loop occurred if garp_attr_create was called with the values
of an existing attribute. This might happen if a previous leave request
for the attribute has not yet been followed by a PDU transmission (or,
if the application previously issued a join request for the attribute
and is now issuing another one, without having issued a leave request).

If garp_attr_create finds an existing attribute having the same values,
return the address to it. Its state will then get updated (i.e., if it
was in a leaving state, it will move into a non-leaving state and not
get deleted during the next PDU transmission).

To accomplish this fix, collapse garp_attr_insert into garp_attr_create
(which is its only caller).

Thanks to Jorge Boncompte [DTI2] <jorge@dti2.net> for contributing to
this fix.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Acked-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
David S. Miller [Sun, 1 Apr 2012 20:47:08 +0000 (16:47 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless

12 years agox86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND
zhuangfeiran@ict.ac.cn [Wed, 28 Mar 2012 23:27:00 +0000 (23:27 +0000)]
x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND

When K >= 0xFFFF0000, AND needs the two least significant bytes of K as
its operand, but EMIT2() gives it the least significant byte of K and
0x2. EMIT() should be used here to replace EMIT2().

Signed-off-by: Feiran Zhuang <zhuangfeiran@ict.ac.cn>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobonding: emit event when bonding changes MAC
Weiping Pan [Tue, 27 Mar 2012 19:18:24 +0000 (19:18 +0000)]
bonding: emit event when bonding changes MAC

When a bonding device is configured with fail_over_mac=active,
we expect to see the MAC address of the new active slave as the source MAC
address after failover. But we see that the source MAC address is the MAC
address of previous active slave.

Emit NETDEV_CHANGEADDR event when bonding changes its MAC address, in order
to let arp_netdev_event flush neighbour cache and route cache.

How to reproduce this bug ?

                       -----------hostB----------------
hostA ----- switch ---|-- eth0--bond0(192.168.100.2/24)|
(192.168.100.1/24  \--|-- eth1-/                       |
                       --------------------------------

1 on hostB,
modprobe bonding mode=1 miimon=500 fail_over_mac=active downdelay=1000
num_grat_arp=1
ifconfig bond0 192.168.100.2/24 up
ifenslave bond0 eth0
ifenslave bond0 eth1

then eth0 is the active slave, and MAC of bond0 is MAC of eth0.

2 on hostA, ping 192.168.100.2

3 on hostB,
tcpdump -i bond0 -p icmp -XXX
you will see bond0 uses MAC of eth0 as source MAC in icmp reply.

4 on hostB,
ifconfig eth0 down
tcpdump -i bond0 -p icmp -XXX (just keep it running in step 3)
you will see first bond0 uses MAC of eth1 as source MAC in icmp
reply, then it will use MAC of eth0 as source MAC.

Signed-off-by: Weiping Pan <wpan@redhat.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agomac80211: fix oper channel timestamp updation
Rajkumar Manoharan [Tue, 27 Mar 2012 05:31:06 +0000 (11:01 +0530)]
mac80211: fix oper channel timestamp updation

Whenever the station informs the AP that it is about to leave the
operating channel, the timestamp should be recorded. It is handled
in scan resume but not in scan start. Fix that.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: Use HW HT capabilites properly
Sujith Manoharan [Tue, 27 Mar 2012 04:38:55 +0000 (10:08 +0530)]
ath9k: Use HW HT capabilites properly

The commit "ath9k: Remove aggregation flags" changed how
nodes were being initialized. Use the HW HT cap bits
to initialize/de-initialize nodes, else we would be
accessing an uninitialized entry during a suspend/resume cycle,
resulting in a panic.

Reported-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoMAINTAINERS: adding maintainer for ipw2x00
Stanislav Yakovlev [Sat, 24 Mar 2012 07:41:01 +0000 (03:41 -0400)]
MAINTAINERS: adding maintainer for ipw2x00

Add myself as maintainer as suggested by Stanislaw Gruszka.

Signed-off-by: Stanislav Yakovlev <stas.yakovlev@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agonet: orinoco: add error handling for failed kmalloc().
Santosh Nayak [Thu, 22 Mar 2012 07:12:41 +0000 (12:42 +0530)]
net: orinoco: add error handling for failed kmalloc().

With flag 'GFP_ATOMIC', probability of allocation failure is more.
Add error handling after kmalloc() call to avoid null dereference.

Signed-off-by: Santosh Nayak <santoshprasadnayak@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agonet/wireless: ipw2x00: fix a typo in wiphy struct initilization
Stanislav Yakovlev [Tue, 20 Mar 2012 21:52:57 +0000 (17:52 -0400)]
net/wireless: ipw2x00: fix a typo in wiphy struct initilization

Fix comment as well.

Signed-off-by: Stanislav Yakovlev <stas.yakovlev@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agonet/core: dev_forward_skb() should clear skb_iif
Benjamin LaHaise [Tue, 27 Mar 2012 15:55:44 +0000 (15:55 +0000)]
net/core: dev_forward_skb() should clear skb_iif

While investigating another bug, I found that the code on the incoming path
in __netif_receive_skb will only set skb->skb_iif if it is already 0.  When
dev_forward_skb() is used in the case of interfaces like veth, skb_iif may
already have been set.  Making dev_forward_skb() cause the packet to look
like a newly received packet would seem to the the correct behaviour here,
as otherwise the wrong incoming interface can be reported for such a packet.

Signed-off-by: Benjamin LaHaise <bcrl@kvack.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/ipv4: fix IPv4 multicast over network namespaces
Benjamin LaHaise [Tue, 27 Mar 2012 15:55:32 +0000 (15:55 +0000)]
net/ipv4: fix IPv4 multicast over network namespaces

When using multicast over a local bridge feeding a number of LXC guests
using veth, the LXC guests are unable to get a response from other guests
when pinging 224.0.0.1.  Multicast packets did not appear to be getting
delivered to the network namespaces of the guest hosts, and further
inspection showed that the incoming route was pointing to the loopback
device of the host, not the guest.  This lead to the wrong network namespace
being picked up by sockets (like ICMP).  Fix this by using the correct
network namespace when creating the inbound route entry.

Signed-off-by: Benjamin LaHaise <bcrl@kvack.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agovirtio_net: do not rate limit counter increments
Rick Jones [Tue, 27 Mar 2012 07:28:09 +0000 (07:28 +0000)]
virtio_net: do not rate limit counter increments

While it is desirable to rate limit certain messages, it is not
desirable to rate limit the incrementing of counters associated
with those messages.

Signed-off-by: Rick Jones <rick.jones2@hp.com>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net
David S. Miller [Wed, 28 Mar 2012 07:01:48 +0000 (03:01 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/jkirsher/net

12 years agoixgbe: update version number
Don Skidmore [Fri, 16 Mar 2012 05:41:48 +0000 (05:41 +0000)]
ixgbe: update version number

Update the driver version number to better match version of out of tree
driver that has similar functionality.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
12 years agoixgbe: fix typo in enumeration name
Don Skidmore [Thu, 15 Mar 2012 04:55:59 +0000 (04:55 +0000)]
ixgbe: fix typo in enumeration name

This was pointed out to me by Xiaojun Zhang on Source Forge.

CC: Xiaojun Zhang <zhangxiaojun@sourceforge.net>
Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
12 years agointel: make wired ethernet driver message level consistent (rev2)
stephen hemminger [Tue, 13 Mar 2012 06:04:20 +0000 (06:04 +0000)]
intel: make wired ethernet driver message level consistent (rev2)

Dan Carpenter noticed that ixgbevf initial default was different than
the rest. But the problem is broader than that, only one Intel driver (ixgb)
was doing it almost right.

The convention for default debug level should be consistent among
Intel drivers and follow established convention.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
12 years agocdc-phonet: fix skb truesize underestimation
Eric Dumazet [Tue, 27 Mar 2012 03:17:26 +0000 (03:17 +0000)]
cdc-phonet: fix skb truesize underestimation

Now skb_add_rx_frag() has a truesize parameter, we can fix cdc-phonet to
properly account truesize of each fragment : a full page.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Acked-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agof_phonet: fix skb truesize underestimation
Eric Dumazet [Tue, 27 Mar 2012 03:04:02 +0000 (03:04 +0000)]
f_phonet: fix skb truesize underestimation

Now skb_add_rx_frag() has a truesize parameter, we can fix f_phonet to
properly account truesize of each fragment : a full page.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoeql: dont rely on HZ=100
Eric Dumazet [Mon, 26 Mar 2012 22:52:00 +0000 (22:52 +0000)]
eql: dont rely on HZ=100

HZ is more likely to be 1000 these days.

timer handlers are run from softirq, no need to disable bh

skb priority 1 is TC_PRIO_FILLER

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agomISDN: array underflow in open_bchannel()
Dan Carpenter [Mon, 26 Mar 2012 21:20:48 +0000 (21:20 +0000)]
mISDN: array underflow in open_bchannel()

There are two channels here.  User space starts counting channels at one
but in the kernel we start at zero.  If the user passes in a zero
channel that's invalid and could lead to memory corruption.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobnx2x: fix vector traveling while looking for an empty entry
Dmitry Kravkov [Mon, 26 Mar 2012 21:08:55 +0000 (21:08 +0000)]
bnx2x: fix vector traveling while looking for an empty entry

Fixes the bug that may prevent from mac to be configured,
while there is an empty slot for it.

Reported-by: Maciej Żenczykowski <zenczykowski@gmail.com>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobnx2x: previous driver unload revised
Yuval Mintz [Mon, 26 Mar 2012 20:47:07 +0000 (20:47 +0000)]
bnx2x: previous driver unload revised

The flow in which the bnx2x driver starts after a previous driver
has been terminated in an 'unclean' manner has several bugs and
FW risks, which makes it possible for the driver to fail after
boot-from-SAN or kdump.
This patch contains a revised flow which performs a safer
initialization, solving the possible crash scenarios.
Notice this patch contains lines with over 80 characters, as it
keeps print-strings in a single line.

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoUSB: Add Motorola Rokr E6 Id to the USBNet driver "zaurus"
Guan Xin [Mon, 26 Mar 2012 04:11:46 +0000 (04:11 +0000)]
USB: Add Motorola Rokr E6 Id to the USBNet driver "zaurus"

Added Vendor/Device Id of Motorola Rokr E6 (22b8:6027) so it can be
recognized by the "zaurus" USBNet driver.
Applies to Linux 3.2.13 and 2.6.39.4.
Signed-off-by: Guan Xin <guanx.bac@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet: sh_eth: Add support SH7734
Nobuhiro Iwamatsu [Sun, 25 Mar 2012 18:59:51 +0000 (18:59 +0000)]
net: sh_eth: Add support SH7734

Add define of SH7734 register and sh_eth_reset_hw_crc function.

V3: Rebase net/HEAD.
V2: Do not split line of #if defined.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agowimax: i2400m-usb - use a private struct ethtool_ops
Phil Sutter [Mon, 26 Mar 2012 09:01:31 +0000 (09:01 +0000)]
wimax: i2400m-usb - use a private struct ethtool_ops

This way the USB variant of the driver uses usb_make_path in order to
provide bus-info compatible to other USB drivers (like e.g. asix.c).

Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agowimax: i2400m - prevent a possible kernel bug due to missing fw_name string
Phil Sutter [Mon, 26 Mar 2012 09:01:30 +0000 (09:01 +0000)]
wimax: i2400m - prevent a possible kernel bug due to missing fw_name string

This happened on a machine with a custom hotplug script calling nameif,
probably due to slow firmware loading. At the time nameif uses ethtool
to gather interface information, i2400m->fw_name is zero and so a null
pointer dereference occurs from within i2400m_get_drvinfo().

Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
David S. Miller [Wed, 28 Mar 2012 02:15:01 +0000 (22:15 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless

12 years agoe1000: fix vlan processing regression
Jiri Pirko [Tue, 20 Mar 2012 18:10:01 +0000 (18:10 +0000)]
e1000: fix vlan processing regression

This patch fixes a regression introduced by commit "e1000: do vlan
cleanup (799d531)".

Apparently some e1000 chips (not mine) are sensitive about the order of
setting vlan filter and vlan stripping/inserting functionality. So this
patch changes the order so it's the same as before vlan cleanup.

Reported-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Tested-by: Ben Greear <greearb@candelatech.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>