]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/s390/net/qeth_l3_main.c
net: set name_assign_type in alloc_netdev()
[mirror_ubuntu-artful-kernel.git] / drivers / s390 / net / qeth_l3_main.c
index 3524d34ff694c273afefc7d85bfa17b6bce38af9..f8427a2c4840b9e2453e7a9129068cb69e438397 100644 (file)
@@ -63,7 +63,7 @@ void qeth_l3_ipaddr4_to_string(const __u8 *addr, char *buf)
 int qeth_l3_string_to_ipaddr4(const char *buf, __u8 *addr)
 {
        int count = 0, rc = 0;
-       int in[4];
+       unsigned int in[4];
        char c;
 
        rc = sscanf(buf, "%u.%u.%u.%u%c",
@@ -1659,7 +1659,7 @@ static void qeth_l3_add_vlan_mc(struct qeth_card *card)
        for_each_set_bit(vid, card->active_vlans, VLAN_N_VID) {
                struct net_device *netdev;
 
-               netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q),
+               netdev = __vlan_find_dev_deep_rcu(card->dev, htons(ETH_P_8021Q),
                                              vid);
                if (netdev == NULL ||
                    !(netdev->flags & IFF_UP))
@@ -1721,7 +1721,7 @@ static void qeth_l3_add_vlan_mc6(struct qeth_card *card)
        for_each_set_bit(vid, card->active_vlans, VLAN_N_VID) {
                struct net_device *netdev;
 
-               netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q),
+               netdev = __vlan_find_dev_deep_rcu(card->dev, htons(ETH_P_8021Q),
                                              vid);
                if (netdev == NULL ||
                    !(netdev->flags & IFF_UP))
@@ -1766,7 +1766,7 @@ static void qeth_l3_free_vlan_addresses4(struct qeth_card *card,
 
        QETH_CARD_TEXT(card, 4, "frvaddr4");
 
-       netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q), vid);
+       netdev = __vlan_find_dev_deep_rcu(card->dev, htons(ETH_P_8021Q), vid);
        if (!netdev)
                return;
        in_dev = in_dev_get(netdev);
@@ -1796,7 +1796,7 @@ static void qeth_l3_free_vlan_addresses6(struct qeth_card *card,
 
        QETH_CARD_TEXT(card, 4, "frvaddr6");
 
-       netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q), vid);
+       netdev = __vlan_find_dev_deep_rcu(card->dev, htons(ETH_P_8021Q), vid);
        if (!netdev)
                return;
        in6_dev = in6_dev_get(netdev);
@@ -2089,7 +2089,7 @@ static int qeth_l3_verify_vlan_dev(struct net_device *dev,
                struct net_device *netdev;
 
                rcu_read_lock();
-               netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q),
+               netdev = __vlan_find_dev_deep_rcu(card->dev, htons(ETH_P_8021Q),
                                              vid);
                rcu_read_unlock();
                if (netdev == dev) {
@@ -2926,8 +2926,11 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
        struct sk_buff *new_skb = NULL;
        int ipv = qeth_get_ip_version(skb);
        int cast_type = qeth_l3_get_cast_type(card, skb);
-       struct qeth_qdio_out_q *queue = card->qdio.out_qs
-               [qeth_get_priority_queue(card, skb, ipv, cast_type)];
+       struct qeth_qdio_out_q *queue =
+               card->qdio.out_qs[card->qdio.do_prio_queueing
+                       || (cast_type && card->info.is_multicast_different) ?
+                       qeth_get_priority_queue(card, skb, ipv, cast_type) :
+                       card->qdio.default_out_queue];
        int tx_bytes = skb->len;
        bool large_send;
        int data_offset = -1;
@@ -3284,7 +3287,8 @@ static int qeth_l3_setup_netdev(struct qeth_card *card)
                        }
                }
        } else if (card->info.type == QETH_CARD_TYPE_IQD) {
-               card->dev = alloc_netdev(0, "hsi%d", ether_setup);
+               card->dev = alloc_netdev(0, "hsi%d", NET_NAME_UNKNOWN,
+                                        ether_setup);
                if (!card->dev)
                        return -ENODEV;
                card->dev->flags |= IFF_NOARP;
@@ -3298,7 +3302,7 @@ static int qeth_l3_setup_netdev(struct qeth_card *card)
        card->dev->ml_priv = card;
        card->dev->watchdog_timeo = QETH_TX_TIMEOUT;
        card->dev->mtu = card->info.initial_mtu;
-       SET_ETHTOOL_OPS(card->dev, &qeth_l3_ethtool_ops);
+       card->dev->ethtool_ops = &qeth_l3_ethtool_ops;
        card->dev->features |=  NETIF_F_HW_VLAN_CTAG_TX |
                                NETIF_F_HW_VLAN_CTAG_RX |
                                NETIF_F_HW_VLAN_CTAG_FILTER;