aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/dl2k.c
diff options
context:
space:
mode:
authorKomuro <komurojun@nifty.com>2007-08-12 20:45:41 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:50:42 -0400
commitdf950828b0ee51ff63c49c67d561bfd3d6096788 (patch)
tree0e74e4c664c4e6da6cdcdd7486259ff5aae33cfd /drivers/net/dl2k.c
parentb6aec32a7774a398c4a194ad6b6392528b5a7a5b (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.c23
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;