[SCSI] libfc: recognize incoming FLOGI for point-to-point mode
[safe/jmp/linux-2.6] / drivers / net / stmmac / dwmac100.c
index 010c8b2..4cacca6 100644 (file)
   Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
 *******************************************************************************/
 
-#include <linux/netdevice.h>
 #include <linux/crc32.h>
 #include <linux/mii.h>
 #include <linux/phy.h>
+#include <linux/slab.h>
 
 #include "common.h"
 #include "dwmac100.h"
@@ -266,7 +266,7 @@ static int dwmac100_get_rx_frame_status(void *data,
                ret = discard_frame;
 
        if (unlikely(p->des01.rx.length_error)) {
-               x->rx_lenght++;
+               x->rx_length++;
                ret = discard_frame;
        }
        if (unlikely(p->des01.rx.mii_error)) {
@@ -306,17 +306,16 @@ static void dwmac100_set_filter(struct net_device *dev)
                value |= MAC_CONTROL_PR;
                value &= ~(MAC_CONTROL_PM | MAC_CONTROL_IF | MAC_CONTROL_HO |
                           MAC_CONTROL_HP);
-       } else if ((dev->mc_count > HASH_TABLE_SIZE)
+       } else if ((netdev_mc_count(dev) > HASH_TABLE_SIZE)
                   || (dev->flags & IFF_ALLMULTI)) {
                value |= MAC_CONTROL_PM;
                value &= ~(MAC_CONTROL_PR | MAC_CONTROL_IF | MAC_CONTROL_HO);
                writel(0xffffffff, ioaddr + MAC_HASH_HIGH);
                writel(0xffffffff, ioaddr + MAC_HASH_LOW);
-       } else if (dev->mc_count == 0) {        /* no multicast */
+       } else if (netdev_mc_empty(dev)) {      /* no multicast */
                value &= ~(MAC_CONTROL_PM | MAC_CONTROL_PR | MAC_CONTROL_IF |
                           MAC_CONTROL_HO | MAC_CONTROL_HP);
        } else {
-               int i;
                u32 mc_filter[2];
                struct dev_mc_list *mclist;
 
@@ -327,8 +326,7 @@ static void dwmac100_set_filter(struct net_device *dev)
                           MAC_CONTROL_IF | MAC_CONTROL_HO);
 
                memset(mc_filter, 0, sizeof(mc_filter));
-               for (i = 0, mclist = dev->mc_list;
-                    mclist && i < dev->mc_count; i++, mclist = mclist->next) {
+               netdev_for_each_mc_addr(mclist, dev) {
                        /* The upper 6 bits of the calculated CRC are used to
                         * index the contens of the hash table */
                        int bit_nr =