diff options
Diffstat (limited to 'drivers/net/au1000_eth.c')
-rw-r--r-- | drivers/net/au1000_eth.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c index d5dfc784bccd..e1fe960d71b3 100644 --- a/drivers/net/au1000_eth.c +++ b/drivers/net/au1000_eth.c | |||
@@ -52,6 +52,7 @@ | |||
52 | #include <linux/mii.h> | 52 | #include <linux/mii.h> |
53 | #include <linux/skbuff.h> | 53 | #include <linux/skbuff.h> |
54 | #include <linux/delay.h> | 54 | #include <linux/delay.h> |
55 | #include <linux/crc32.h> | ||
55 | #include <asm/mipsregs.h> | 56 | #include <asm/mipsregs.h> |
56 | #include <asm/irq.h> | 57 | #include <asm/irq.h> |
57 | #include <asm/io.h> | 58 | #include <asm/io.h> |
@@ -2038,23 +2039,6 @@ static void au1000_tx_timeout(struct net_device *dev) | |||
2038 | netif_wake_queue(dev); | 2039 | netif_wake_queue(dev); |
2039 | } | 2040 | } |
2040 | 2041 | ||
2041 | |||
2042 | static unsigned const ethernet_polynomial = 0x04c11db7U; | ||
2043 | static inline u32 ether_crc(int length, unsigned char *data) | ||
2044 | { | ||
2045 | int crc = -1; | ||
2046 | |||
2047 | while(--length >= 0) { | ||
2048 | unsigned char current_octet = *data++; | ||
2049 | int bit; | ||
2050 | for (bit = 0; bit < 8; bit++, current_octet >>= 1) | ||
2051 | crc = (crc << 1) ^ | ||
2052 | ((crc < 0) ^ (current_octet & 1) ? | ||
2053 | ethernet_polynomial : 0); | ||
2054 | } | ||
2055 | return crc; | ||
2056 | } | ||
2057 | |||
2058 | static void set_rx_mode(struct net_device *dev) | 2042 | static void set_rx_mode(struct net_device *dev) |
2059 | { | 2043 | { |
2060 | struct au1000_private *aup = (struct au1000_private *) dev->priv; | 2044 | struct au1000_private *aup = (struct au1000_private *) dev->priv; |