diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-12 23:35:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-12 23:35:10 -0400 |
commit | a0e1d1d075cc0efe9a3ac8579bce9393d070e09f (patch) | |
tree | 92964216b94d2f9753c2ec043ab5a121f22bbd6d /drivers/net/ehea/ehea_main.c | |
parent | dd14cbc994709a1c5a64ed3621f583c49a27e521 (diff) | |
parent | b232923966f1210e1183353bbd1d52ee53b79fbf (diff) |
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (89 commits)
myri10ge: update driver version
myri10ge: report when the link partner is running in Myrinet mode
myri10ge: limit the number of recoveries
NetXen: Fix link status messages
Revert "[netdrvr e100] experiment with doing RX in a similar manner to eepro100"
[PATCH] libertas: convert libertas_mpp into anycast_mask
[PATCH] libertas: actually send mesh frames to mesh netdev
[PATCH] libertas: deauthenticate from AP in channel switch
[PATCH] libertas: pull current channel from firmware on mesh autostart
[PATCH] libertas: reduce SSID and BSSID mixed-case abuse
[PATCH] libertas: remove WPA_SUPPLICANT structure
[PATCH] libertas: remove structure WLAN_802_11_SSID and libertas_escape_essid
[PATCH] libertas: tweak association debug output
[PATCH] libertas: fix big-endian associate command.
[PATCH] libertas: don't byte-swap firmware version number. It's a byte array.
[PATCH] libertas: more endianness fixes, in tx.c this time
[PATCH] libertas: More endianness fixes.
[PATCH] libertas: first pass at fixing up endianness issues
[PATCH] libertas: sparse fixes
[PATCH] libertas: fix character set in README
...
Diffstat (limited to 'drivers/net/ehea/ehea_main.c')
-rw-r--r-- | drivers/net/ehea/ehea_main.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c index 152bb2016a2c..9e13433a268a 100644 --- a/drivers/net/ehea/ehea_main.c +++ b/drivers/net/ehea/ehea_main.c | |||
@@ -451,7 +451,8 @@ static struct ehea_cqe *ehea_proc_rwqes(struct net_device *dev, | |||
451 | processed_rq3++; | 451 | processed_rq3++; |
452 | } | 452 | } |
453 | 453 | ||
454 | if (cqe->status & EHEA_CQE_VLAN_TAG_XTRACT) | 454 | if ((cqe->status & EHEA_CQE_VLAN_TAG_XTRACT) |
455 | && port->vgrp) | ||
455 | vlan_hwaccel_receive_skb(skb, port->vgrp, | 456 | vlan_hwaccel_receive_skb(skb, port->vgrp, |
456 | cqe->vlan_tag); | 457 | cqe->vlan_tag); |
457 | else | 458 | else |
@@ -1910,10 +1911,7 @@ static void ehea_vlan_rx_register(struct net_device *dev, | |||
1910 | goto out; | 1911 | goto out; |
1911 | } | 1912 | } |
1912 | 1913 | ||
1913 | if (grp) | 1914 | memset(cb1->vlan_filter, 0, sizeof(cb1->vlan_filter)); |
1914 | memset(cb1->vlan_filter, 0, sizeof(cb1->vlan_filter)); | ||
1915 | else | ||
1916 | memset(cb1->vlan_filter, 0xFF, sizeof(cb1->vlan_filter)); | ||
1917 | 1915 | ||
1918 | hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id, | 1916 | hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id, |
1919 | H_PORT_CB1, H_PORT_CB1_ALL, cb1); | 1917 | H_PORT_CB1, H_PORT_CB1_ALL, cb1); |
@@ -1947,7 +1945,7 @@ static void ehea_vlan_rx_add_vid(struct net_device *dev, unsigned short vid) | |||
1947 | } | 1945 | } |
1948 | 1946 | ||
1949 | index = (vid / 64); | 1947 | index = (vid / 64); |
1950 | cb1->vlan_filter[index] |= ((u64)(1 << (vid & 0x3F))); | 1948 | cb1->vlan_filter[index] |= ((u64)(0x8000000000000000 >> (vid & 0x3F))); |
1951 | 1949 | ||
1952 | hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id, | 1950 | hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id, |
1953 | H_PORT_CB1, H_PORT_CB1_ALL, cb1); | 1951 | H_PORT_CB1, H_PORT_CB1_ALL, cb1); |
@@ -1982,7 +1980,7 @@ static void ehea_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) | |||
1982 | } | 1980 | } |
1983 | 1981 | ||
1984 | index = (vid / 64); | 1982 | index = (vid / 64); |
1985 | cb1->vlan_filter[index] &= ~((u64)(1 << (vid & 0x3F))); | 1983 | cb1->vlan_filter[index] &= ~((u64)(0x8000000000000000 >> (vid & 0x3F))); |
1986 | 1984 | ||
1987 | hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id, | 1985 | hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id, |
1988 | H_PORT_CB1, H_PORT_CB1_ALL, cb1); | 1986 | H_PORT_CB1, H_PORT_CB1_ALL, cb1); |