net: unset IFF_XMIT_DST_RELEASE for qeth and ipoib
authorEric Dumazet <eric.dumazet@gmail.com>
Sun, 31 May 2009 06:04:46 +0000 (23:04 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 31 May 2009 06:04:46 +0000 (23:04 -0700)
Last two drivers that need skb->dst in their start_xmit() function

Tell dev_hard_start_xmit() to no release it by unsetting  IFF_XMIT_DST_RELEASE

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/s390/net/qeth_l3_main.c

index ab2c192..69c6304 100644 (file)
@@ -1053,6 +1053,7 @@ static void ipoib_setup(struct net_device *dev)
        dev->tx_queue_len        = ipoib_sendq_size * 2;
        dev->features            = (NETIF_F_VLAN_CHALLENGED     |
                                    NETIF_F_HIGHDMA);
+       dev->priv_flags         &= ~IFF_XMIT_DST_RELEASE;
 
        memcpy(dev->broadcast, ipv4_bcast_addr, INFINIBAND_ALEN);
 
index b36b5cd..cb64b0b 100644 (file)
@@ -3012,6 +3012,7 @@ static int qeth_l3_setup_netdev(struct qeth_card *card)
        card->dev->features |=  NETIF_F_HW_VLAN_TX |
                                NETIF_F_HW_VLAN_RX |
                                NETIF_F_HW_VLAN_FILTER;
+       card->dev->priv_flags &= ~IFF_XMIT_DST_RELEASE;
 
        SET_NETDEV_DEV(card->dev, &card->gdev->dev);
        return register_netdev(card->dev);