From: David S. Miller Date: Tue, 11 Nov 2008 23:43:02 +0000 (-0800) Subject: Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7e452baf6b96b5aeba097afd91501d33d390cc97;p=linux-beck.git Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/message/fusion/mptlan.c drivers/net/sfc/ethtool.c net/mac80211/debugfs_sta.c --- 7e452baf6b96b5aeba097afd91501d33d390cc97 diff --cc drivers/message/fusion/mptlan.c index 582a921c7aab,603ffd008c73..eeef0bd077f4 --- a/drivers/message/fusion/mptlan.c +++ b/drivers/message/fusion/mptlan.c @@@ -1569,79 -1537,7 +1534,6 @@@ mpt_lan_type_trans(struct sk_buff *skb fcllc = (struct fcllc *)skb->data; - #ifdef QLOGIC_NAA_WORKAROUND - { - u16 source_naa = fch->stype, found = 0; - - /* Workaround for QLogic not following RFC 2625 in regards to the NAA - value. */ - - if ((source_naa & 0xF000) == 0) - source_naa = swab16(source_naa); - - if (fcllc->ethertype == htons(ETH_P_ARP)) - dlprintk ((KERN_INFO "mptlan/type_trans: got arp req/rep w/ naa of " - "%04x.\n", source_naa)); - - if ((fcllc->ethertype == htons(ETH_P_ARP)) && - ((source_naa >> 12) != MPT_LAN_NAA_RFC2625)){ - struct NAA_Hosed *nh, *prevnh; - int i; - - dlprintk ((KERN_INFO "mptlan/type_trans: ARP Req/Rep from " - "system with non-RFC 2625 NAA value (%04x).\n", - source_naa)); - - write_lock_irq(&bad_naa_lock); - for (prevnh = nh = mpt_bad_naa; nh != NULL; - prevnh=nh, nh=nh->next) { - if ((nh->ieee[0] == fch->saddr[0]) && - (nh->ieee[1] == fch->saddr[1]) && - (nh->ieee[2] == fch->saddr[2]) && - (nh->ieee[3] == fch->saddr[3]) && - (nh->ieee[4] == fch->saddr[4]) && - (nh->ieee[5] == fch->saddr[5])) { - found = 1; - dlprintk ((KERN_INFO "mptlan/type_trans: ARP Re" - "q/Rep w/ bad NAA from system already" - " in DB.\n")); - break; - } - } - - if ((!found) && (nh == NULL)) { - - nh = kmalloc(sizeof(struct NAA_Hosed), GFP_KERNEL); - dlprintk ((KERN_INFO "mptlan/type_trans: ARP Req/Rep w/" - " bad NAA from system not yet in DB.\n")); - - if (nh != NULL) { - nh->next = NULL; - if (!mpt_bad_naa) - mpt_bad_naa = nh; - if (prevnh) - prevnh->next = nh; - - nh->NAA = source_naa; /* Set the S_NAA value. */ - for (i = 0; i < FC_ALEN; i++) - nh->ieee[i] = fch->saddr[i]; - dlprintk ((KERN_INFO "Got ARP from %pM with" - " non-compliant S_NAA value.\n", - fch->saddr)); - } else { - printk (KERN_ERR "mptlan/type_trans: Unable to" - " kmalloc a NAA_Hosed struct.\n"); - } - } else if (!found) { - printk (KERN_ERR "mptlan/type_trans: found not" - " set, but nh isn't null. Evil " - "funkiness abounds.\n"); - } - write_unlock_irq(&bad_naa_lock); - } - } - #endif -- /* Strip the SNAP header from ARP packets since we don't * pass them through to the 802.2/SNAP layers. */ diff --cc net/dsa/tag_dsa.c index ff55823a6534,31866543332e..f99a019b939e --- a/net/dsa/tag_dsa.c +++ b/net/dsa/tag_dsa.c @@@ -159,8 -159,10 +159,9 @@@ static int dsa_rcv(struct sk_buff *skb skb->dev = ds->ports[source_port]; skb_push(skb, ETH_HLEN); + skb->pkt_type = PACKET_HOST; skb->protocol = eth_type_trans(skb, skb->dev); - skb->dev->last_rx = jiffies; skb->dev->stats.rx_packets++; skb->dev->stats.rx_bytes += skb->len; diff --cc net/dsa/tag_edsa.c index 24b1c76fa7a4,9f4ce55eae59..328ec957f786 --- a/net/dsa/tag_edsa.c +++ b/net/dsa/tag_edsa.c @@@ -178,8 -178,10 +178,9 @@@ static int edsa_rcv(struct sk_buff *skb skb->dev = ds->ports[source_port]; skb_push(skb, ETH_HLEN); + skb->pkt_type = PACKET_HOST; skb->protocol = eth_type_trans(skb, skb->dev); - skb->dev->last_rx = jiffies; skb->dev->stats.rx_packets++; skb->dev->stats.rx_bytes += skb->len; diff --cc net/dsa/tag_trailer.c index 3bfd2e55877a,efd26697e716..b59132878ad1 --- a/net/dsa/tag_trailer.c +++ b/net/dsa/tag_trailer.c @@@ -95,8 -95,10 +95,9 @@@ static int trailer_rcv(struct sk_buff * skb->dev = ds->ports[source_port]; skb_push(skb, ETH_HLEN); + skb->pkt_type = PACKET_HOST; skb->protocol = eth_type_trans(skb, skb->dev); - skb->dev->last_rx = jiffies; skb->dev->stats.rx_packets++; skb->dev->stats.rx_bytes += skb->len;