diff options
| author | Herbert Valerio Riedel <hvr@gnu.org> | 2006-05-01 09:37:09 -0400 |
|---|---|---|
| committer | Stephen Hemminger <shemminger@osdl.org> | 2006-05-08 19:00:47 -0400 |
| commit | 8cd35da094bed8a41eb722c1d03eab24d57bf706 (patch) | |
| tree | 1cff48eb5261048d9f6f5bf90c5f34b4fbbfd0cb | |
| parent | 6d4b0f617d577975108ccc7e3b0c7dbe50144df6 (diff) | |
au1000_eth.c: use ether_crc() from <linux/crc32.h>
since the au1000 driver already selects the CRC32 routines, simply replace
the internal ether_crc() implementation with the semantically equivalent
one from <linux/crc32.h>
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
| -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 1363083b4d83..14dbad14afb6 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> |
| @@ -2070,23 +2071,6 @@ static void au1000_tx_timeout(struct net_device *dev) | |||
| 2070 | netif_wake_queue(dev); | 2071 | netif_wake_queue(dev); |
| 2071 | } | 2072 | } |
| 2072 | 2073 | ||
| 2073 | |||
| 2074 | static unsigned const ethernet_polynomial = 0x04c11db7U; | ||
| 2075 | static inline u32 ether_crc(int length, unsigned char *data) | ||
| 2076 | { | ||
| 2077 | int crc = -1; | ||
| 2078 | |||
| 2079 | while(--length >= 0) { | ||
| 2080 | unsigned char current_octet = *data++; | ||
| 2081 | int bit; | ||
| 2082 | for (bit = 0; bit < 8; bit++, current_octet >>= 1) | ||
| 2083 | crc = (crc << 1) ^ | ||
| 2084 | ((crc < 0) ^ (current_octet & 1) ? | ||
| 2085 | ethernet_polynomial : 0); | ||
| 2086 | } | ||
| 2087 | return crc; | ||
| 2088 | } | ||
| 2089 | |||
| 2090 | static void set_rx_mode(struct net_device *dev) | 2074 | static void set_rx_mode(struct net_device *dev) |
| 2091 | { | 2075 | { |
| 2092 | struct au1000_private *aup = (struct au1000_private *) dev->priv; | 2076 | struct au1000_private *aup = (struct au1000_private *) dev->priv; |
