summary refs log tree commit diff
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2005-12-09 11:34:53 -0800
committerJeff Garzik <jgarzik@pobox.com>2005-12-12 15:27:19 -0500
commit92f965e8c5433408d5a3805c6882b657eb6cbdb1 (patch)
tree063db455feceaa73fdc3305c14e17cab838e6da1 /drivers/net/sky2.c
parentb1086eef813ecee09bd6b8ae364acf0fad065cba (diff)
downloadlinux-92f965e8c5433408d5a3805c6882b657eb6cbdb1.tar.gz
[PATCH] sky2: don't die if we see chip rev 0xb5
There maybe new versions of Yukon2 in the future, so make the
driver more robust to handle this.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r--drivers/net/sky2.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 7dc5b4821ae4..0f694a917fbd 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -128,17 +128,15 @@ MODULE_DEVICE_TABLE(pci, sky2_id_table);
 static const unsigned txqaddr[] = { Q_XA1, Q_XA2 };
 static const unsigned rxqaddr[] = { Q_R1, Q_R2 };
 
-static const char *yukon_name[] = {
-	[CHIP_ID_YUKON_LITE - CHIP_ID_YUKON] = "Lite",	/* 0xb0 */
-	[CHIP_ID_YUKON_LP - CHIP_ID_YUKON] = "LP",	/* 0xb2 */
-	[CHIP_ID_YUKON_XL - CHIP_ID_YUKON] = "XL",	/* 0xb3 */
-	[CHIP_ID_YUKON_EC_U - CHIP_ID_YUKON] = "EC Ultra", /* 0xb4 */
-
-	[CHIP_ID_YUKON_EC - CHIP_ID_YUKON] = "EC",	/* 0xb6 */
-	[CHIP_ID_YUKON_FE - CHIP_ID_YUKON] = "FE",	/* 0xb7 */
+/* This driver supports yukon2 chipset only */
+static const char *yukon2_name[] = {
+	"XL",		/* 0xb3 */
+	"EC Ultra", 	/* 0xb4 */
+	"UNKNOWN",	/* 0xb5 */
+	"EC",		/* 0xb6 */
+	"FE",		/* 0xb7 */
 };
 
-
 /* Access to external PHY */
 static int gm_phy_write(struct sky2_hw *hw, unsigned port, u16 reg, u16 val)
 {
@@ -2951,7 +2949,7 @@ static int __devinit sky2_probe(struct pci_dev *pdev,
 
 	printk(KERN_INFO PFX "v%s addr 0x%lx irq %d Yukon-%s (0x%x) rev %d\n",
 	       DRV_VERSION, pci_resource_start(pdev, 0), pdev->irq,
-	       yukon_name[hw->chip_id - CHIP_ID_YUKON],
+	       yukon2_name[hw->chip_id - CHIP_ID_YUKON_XL],
 	       hw->chip_id, hw->chip_rev);
 
 	dev = sky2_init_netdev(hw, 0, using_dac);