diff options
author | Komuro <komurojun@nifty.com> | 2007-08-12 20:45:41 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:50:42 -0400 |
commit | df950828b0ee51ff63c49c67d561bfd3d6096788 (patch) | |
tree | 0e74e4c664c4e6da6cdcdd7486259ff5aae33cfd /drivers/net/dl2k.c | |
parent | b6aec32a7774a398c4a194ad6b6392528b5a7a5b (diff) |
dl2k: add Sundance/Tamarack TC902x Gigabit Ethernet Adapter support
Actually, D-Link modified the VendorID/ProductID of the TC902x.
The TC902x is the original chipset.
Signed-off-by: Komuro <komurojun-mbn@nifty.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/dl2k.c')
-rw-r--r-- | drivers/net/dl2k.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/drivers/net/dl2k.c b/drivers/net/dl2k.c index 04e3710c9082..ca21a1888ffa 100644 --- a/drivers/net/dl2k.c +++ b/drivers/net/dl2k.c | |||
@@ -10,9 +10,9 @@ | |||
10 | (at your option) any later version. | 10 | (at your option) any later version. |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #define DRV_NAME "D-Link DL2000-based linux driver" | 13 | #define DRV_NAME "DL2000/TC902x-based linux driver" |
14 | #define DRV_VERSION "v1.18" | 14 | #define DRV_VERSION "v1.19" |
15 | #define DRV_RELDATE "2006/06/27" | 15 | #define DRV_RELDATE "2007/08/12" |
16 | #include "dl2k.h" | 16 | #include "dl2k.h" |
17 | #include <linux/dma-mapping.h> | 17 | #include <linux/dma-mapping.h> |
18 | 18 | ||
@@ -339,17 +339,24 @@ parse_eeprom (struct net_device *dev) | |||
339 | #ifdef MEM_MAPPING | 339 | #ifdef MEM_MAPPING |
340 | ioaddr = dev->base_addr; | 340 | ioaddr = dev->base_addr; |
341 | #endif | 341 | #endif |
342 | /* Check CRC */ | 342 | if (np->pdev->vendor == PCI_VENDOR_ID_DLINK) { /* D-Link Only */ |
343 | crc = ~ether_crc_le (256 - 4, sromdata); | 343 | /* Check CRC */ |
344 | if (psrom->crc != crc) { | 344 | crc = ~ether_crc_le (256 - 4, sromdata); |
345 | printk (KERN_ERR "%s: EEPROM data CRC error.\n", dev->name); | 345 | if (psrom->crc != crc) { |
346 | return -1; | 346 | printk (KERN_ERR "%s: EEPROM data CRC error.\n", |
347 | dev->name); | ||
348 | return -1; | ||
349 | } | ||
347 | } | 350 | } |
348 | 351 | ||
349 | /* Set MAC address */ | 352 | /* Set MAC address */ |
350 | for (i = 0; i < 6; i++) | 353 | for (i = 0; i < 6; i++) |
351 | dev->dev_addr[i] = psrom->mac_addr[i]; | 354 | dev->dev_addr[i] = psrom->mac_addr[i]; |
352 | 355 | ||
356 | if (np->pdev->vendor != PCI_VENDOR_ID_DLINK) { | ||
357 | return 0; | ||
358 | } | ||
359 | |||
353 | /* Parse Software Information Block */ | 360 | /* Parse Software Information Block */ |
354 | i = 0x30; | 361 | i = 0x30; |
355 | psib = (u8 *) sromdata; | 362 | psib = (u8 *) sromdata; |