Commit abc368a1 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by Jeff Garzik
Browse files

sky2: remove Gigabyte 88e8056 restriction



The problems with Gigabyte motherboards are system configuration dependent.
Since it works fine for some users, it doesn't make sense to deprive
them.

Signed-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 0479ea0e
Loading
Loading
Loading
Loading
+0 −30
Original line number Original line Diff line number Diff line
@@ -40,7 +40,6 @@
#include <linux/if_vlan.h>
#include <linux/if_vlan.h>
#include <linux/prefetch.h>
#include <linux/prefetch.h>
#include <linux/mii.h>
#include <linux/mii.h>
#include <linux/dmi.h>


#include <asm/irq.h>
#include <asm/irq.h>


@@ -151,8 +150,6 @@ static const char *yukon2_name[] = {
	"FE",		/* 0xb7 */
	"FE",		/* 0xb7 */
};
};


static int dmi_blacklisted;

/* Access to external PHY */
/* Access to external PHY */
static int gm_phy_write(struct sky2_hw *hw, unsigned port, u16 reg, u16 val)
static int gm_phy_write(struct sky2_hw *hw, unsigned port, u16 reg, u16 val)
{
{
@@ -2534,17 +2531,6 @@ static int __devinit sky2_init(struct sky2_hw *hw)
		return -EOPNOTSUPP;
		return -EOPNOTSUPP;
	}
	}



	/* Some Gigabyte motherboards have 88e8056 but cause problems
	 * There is some unresolved hardware related problem that causes
	 * descriptor errors and receive data corruption.
	 */
	if (hw->chip_id == CHIP_ID_YUKON_EC_U && dmi_blacklisted) {
		dev_err(&hw->pdev->dev,
			"88E8056 on this motherboard not supported\n");
		return -EOPNOTSUPP;
	}

	hw->pmd_type = sky2_read8(hw, B2_PMD_TYP);
	hw->pmd_type = sky2_read8(hw, B2_PMD_TYP);
	hw->ports = 1;
	hw->ports = 1;
	t8 = sky2_read8(hw, B2_Y2_HW_RES);
	t8 = sky2_read8(hw, B2_Y2_HW_RES);
@@ -3910,24 +3896,8 @@ static struct pci_driver sky2_driver = {
	.shutdown = sky2_shutdown,
	.shutdown = sky2_shutdown,
};
};


static struct dmi_system_id __initdata broken_dmi_table[] = {
	{
		.ident = "Gigabyte 965P-S3",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Gigabyte Technology Co., Ltd."),
			DMI_MATCH(DMI_PRODUCT_NAME, "965P-S3"),

		},
	},
	{ }
};

static int __init sky2_init_module(void)
static int __init sky2_init_module(void)
{
{
	/* Look for sick motherboards */
	if (dmi_check_system(broken_dmi_table))
		dmi_blacklisted = 1;

	return pci_register_driver(&sky2_driver);
	return pci_register_driver(&sky2_driver);
}
}