Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 187983
b: refs/heads/master
c: 21fde74
h: refs/heads/master
i:
  187981: 31c39bb
  187979: b96e0d2
  187975: 26f8059
  187967: 4d4a899
v: v3
  • Loading branch information
Frank Blaschka authored and David S. Miller committed Mar 10, 2010
1 parent edd2afe commit 9dbb0ed
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fe7a26257a4191de6047f7e1d38832472eb22f85
refs/heads/master: 21fde749cbf71d03e8cf87a7a9a45349597e138a
3 changes: 2 additions & 1 deletion trunk/drivers/s390/net/qeth_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -763,7 +763,8 @@ static inline int qeth_get_micros(void)

static inline int qeth_get_ip_version(struct sk_buff *skb)
{
switch (skb->protocol) {
struct ethhdr *ehdr = (struct ethhdr *)skb->data;
switch (ehdr->h_proto) {
case ETH_P_IPV6:
return 6;
case ETH_P_IP:
Expand Down
10 changes: 4 additions & 6 deletions trunk/drivers/s390/net/qeth_l3_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2900,10 +2900,8 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
int data_offset = -1;
int nr_frags;

if ((card->info.type == QETH_CARD_TYPE_IQD) &&
(((skb->protocol != htons(ETH_P_IPV6)) &&
(skb->protocol != htons(ETH_P_IP))) ||
card->options.sniffer))
if (((card->info.type == QETH_CARD_TYPE_IQD) && (!ipv)) ||
card->options.sniffer)
goto tx_drop;

if ((card->state != CARD_STATE_UP) || !card->lan_online) {
Expand Down Expand Up @@ -2949,14 +2947,14 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
if (data_offset < 0)
skb_pull(new_skb, ETH_HLEN);
} else {
if (new_skb->protocol == htons(ETH_P_IP)) {
if (ipv == 4) {
if (card->dev->type == ARPHRD_IEEE802_TR)
skb_pull(new_skb, TR_HLEN);
else
skb_pull(new_skb, ETH_HLEN);
}

if (new_skb->protocol == ETH_P_IPV6 && card->vlangrp &&
if (ipv == 6 && card->vlangrp &&
vlan_tx_tag_present(new_skb)) {
skb_push(new_skb, VLAN_HLEN);
skb_copy_to_linear_data(new_skb, new_skb->data + 4, 4);
Expand Down

0 comments on commit 9dbb0ed

Please sign in to comment.