]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/tipc/eth_media.c
cpusets: allow empty {cpus,mems}_allowed to be set for unpopulated cpuset
[linux-2.6-omap-h63xx.git] / net / tipc / eth_media.c
index 9be4839e32c5efe1a3ad87e24b1e6f42ecb3f9f9..0ee6ded18f3a503a99ed08c4a11cd110f8a719c2 100644 (file)
@@ -73,7 +73,7 @@ static int send_msg(struct sk_buff *buf, struct tipc_bearer *tb_ptr,
 
        clone = skb_clone(buf, GFP_ATOMIC);
        if (clone) {
-               clone->nh.raw = clone->data;
+               skb_reset_network_header(clone);
                dev = ((struct eth_bearer *)(tb_ptr->usr_handle))->dev;
                clone->dev = dev;
                dev->hard_header(clone, dev, ETH_P_TIPC,
@@ -99,8 +99,8 @@ static int recv_msg(struct sk_buff *buf, struct net_device *dev,
 
        if (likely(eb_ptr->bearer)) {
               if (likely(!dev->promiscuity) ||
-                  !memcmp(buf->mac.raw,dev->dev_addr,ETH_ALEN) ||
-                  !memcmp(buf->mac.raw,dev->broadcast,ETH_ALEN)) {
+                  !memcmp(skb_mac_header(buf), dev->dev_addr, ETH_ALEN) ||
+                  !memcmp(skb_mac_header(buf), dev->broadcast, ETH_ALEN)) {
                        size = msg_size((struct tipc_msg *)buf->data);
                        skb_trim(buf, size);
                        if (likely(buf->len == size)) {
@@ -120,16 +120,18 @@ static int recv_msg(struct sk_buff *buf, struct net_device *dev,
 
 static int enable_bearer(struct tipc_bearer *tb_ptr)
 {
-       struct net_device *dev = dev_base;
+       struct net_device *dev, *pdev;
        struct eth_bearer *eb_ptr = &eth_bearers[0];
        struct eth_bearer *stop = &eth_bearers[MAX_ETH_BEARERS];
        char *driver_name = strchr((const char *)tb_ptr->name, ':') + 1;
 
        /* Find device with specified name */
-
-       while (dev && dev->name && strncmp(dev->name, driver_name, IFNAMSIZ)) {
-               dev = dev->next;
-       }
+       dev = NULL;
+       for_each_netdev(pdev)
+               if (!strncmp(dev->name, driver_name, IFNAMSIZ)) {
+                       dev = pdev;
+                       break;
+               }
        if (!dev)
                return -ENODEV;
 
@@ -140,7 +142,7 @@ static int enable_bearer(struct tipc_bearer *tb_ptr)
                return -EDQUOT;
        if (!eb_ptr->dev) {
                eb_ptr->dev = dev;
-               eb_ptr->tipc_packet_type.type = __constant_htons(ETH_P_TIPC);
+               eb_ptr->tipc_packet_type.type = htons(ETH_P_TIPC);
                eb_ptr->tipc_packet_type.dev = dev;
                eb_ptr->tipc_packet_type.func = recv_msg;
                eb_ptr->tipc_packet_type.af_packet_priv = eb_ptr;