]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/net/qeth_main.c
Merge branch 'for-2.6.24' of git://git.kernel.org/pub/scm/linux/kernel/git/galak...
[linux-2.6-omap-h63xx.git] / drivers / s390 / net / qeth_main.c
index c67e7dfd56cc075fa9d8c6ae3e9d1e3f18a1b3a1..ff999ff0b6272a9edc2dc1feb5990f549642e416 100644 (file)
@@ -6580,11 +6580,12 @@ qeth_hard_header_parse(const struct sk_buff *skb, unsigned char *haddr)
 {
        const struct qeth_card *card;
        const struct ethhdr *eth;
+       struct net_device *dev = skb->dev;
 
        if (dev->type != ARPHRD_IEEE802_TR)
                return 0;
 
-       card = qeth_get_card_from_dev(skb->dev);
+       card = qeth_get_card_from_dev(dev);
        if (card->options.layer2)
                goto haveheader;
 #ifdef CONFIG_QETH_IPV6
@@ -6642,7 +6643,8 @@ qeth_netdev_init(struct net_device *dev)
        dev->vlan_rx_kill_vid = qeth_vlan_rx_kill_vid;
        dev->vlan_rx_add_vid = qeth_vlan_rx_add_vid;
 #endif
-       dev->header_ops = &qeth_null_ops;
+       if (qeth_get_netdev_flags(card) & IFF_NOARP)
+               dev->header_ops = &qeth_null_ops;
 
 #ifdef CONFIG_QETH_IPV6
        /*IPv6 address autoconfiguration stuff*/