Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df950828 authored by Komuro's avatar Komuro Committed by David S. Miller
Browse files

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: default avatarKomuro <komurojun-mbn@nifty.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent b6aec32a
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1995,14 +1995,15 @@ config ACENIC_OMIT_TIGON_I
	  The safe and default value for this is N.

config DL2K
	tristate "D-Link DL2000-based Gigabit Ethernet support"
	tristate "DL2000/TC902x-based Gigabit Ethernet support"
	depends on PCI
	select CRC32
	help
	  This driver supports D-Link 2000-based gigabit ethernet cards, which
	  includes
	  This driver supports DL2000/TC902x-based Gigabit ethernet cards,
	  which includes
	  D-Link DGE-550T Gigabit Ethernet Adapter.
	  D-Link DL2000-based Gigabit Ethernet Adapter.
	  Sundance/Tamarack TC902x Gigabit Ethernet Adapter.

	  To compile this driver as a module, choose M here: the
	  module will be called dl2k.
+15 −8
Original line number Diff line number Diff line
@@ -10,9 +10,9 @@
    (at your option) any later version.
*/

#define DRV_NAME	"D-Link DL2000-based linux driver"
#define DRV_VERSION	"v1.18"
#define DRV_RELDATE	"2006/06/27"
#define DRV_NAME	"DL2000/TC902x-based linux driver"
#define DRV_VERSION	"v1.19"
#define DRV_RELDATE	"2007/08/12"
#include "dl2k.h"
#include <linux/dma-mapping.h>

@@ -339,17 +339,24 @@ parse_eeprom (struct net_device *dev)
#ifdef	MEM_MAPPING
	ioaddr = dev->base_addr;
#endif
	if (np->pdev->vendor == PCI_VENDOR_ID_DLINK) {	/* D-Link Only */
		/* Check CRC */
		crc = ~ether_crc_le (256 - 4, sromdata);
		if (psrom->crc != crc) {
		printk (KERN_ERR "%s: EEPROM data CRC error.\n", dev->name);
			printk (KERN_ERR "%s: EEPROM data CRC error.\n",
					dev->name);
			return -1;
		}
	}

	/* Set MAC address */
	for (i = 0; i < 6; i++)
		dev->dev_addr[i] = psrom->mac_addr[i];

	if (np->pdev->vendor != PCI_VENDOR_ID_DLINK) {
		return 0;
	}

	/* Parse Software Information Block */
	i = 0x30;
	psib = (u8 *) sromdata;
+1 −0
Original line number Diff line number Diff line
@@ -692,6 +692,7 @@ struct netdev_private {

static const struct pci_device_id rio_pci_tbl[] = {
	{0x1186, 0x4000, PCI_ANY_ID, PCI_ANY_ID, },
	{0x13f0, 0x1021, PCI_ANY_ID, PCI_ANY_ID, },
	{ }
};
MODULE_DEVICE_TABLE (pci, rio_pci_tbl);