summaryrefslogtreecommitdiffstats
path: root/src/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/net/intel.c6
-rw-r--r--src/drivers/net/intel.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/drivers/net/intel.c b/src/drivers/net/intel.c
index 548bf90a..1bca87bc 100644
--- a/src/drivers/net/intel.c
+++ b/src/drivers/net/intel.c
@@ -295,7 +295,9 @@ static int intel_reset ( struct intel_nic *intel ) {
mdelay ( INTEL_RESET_DELAY_MS );
/* Set a sensible default configuration */
- ctrl |= ( INTEL_CTRL_SLU | INTEL_CTRL_ASDE );
+ if ( ! ( intel->flags & INTEL_NO_ASDE ) )
+ ctrl |= INTEL_CTRL_ASDE;
+ ctrl |= INTEL_CTRL_SLU;
ctrl &= ~( INTEL_CTRL_LRST | INTEL_CTRL_FRCSPD | INTEL_CTRL_FRCDPLX );
writel ( ctrl, intel->regs + INTEL_CTRL );
mdelay ( INTEL_RESET_DELAY_MS );
@@ -1110,7 +1112,7 @@ static struct pci_device_id intel_nics[] = {
PCI_ROM ( 0x8086, 0x1518, "82576ns", "82576NS SerDes", 0 ),
PCI_ROM ( 0x8086, 0x1521, "i350", "I350", 0 ),
PCI_ROM ( 0x8086, 0x1522, "i350-f", "I350 Fiber", 0 ),
- PCI_ROM ( 0x8086, 0x1523, "i350-b", "I350 Backplane", 0 ),
+ PCI_ROM ( 0x8086, 0x1523, "i350-b", "I350 Backplane", INTEL_NO_ASDE ),
PCI_ROM ( 0x8086, 0x1524, "i350-2", "I350", 0 ),
PCI_ROM ( 0x8086, 0x1525, "82567v-4", "82567V-4", 0 ),
PCI_ROM ( 0x8086, 0x1526, "82576-5", "82576", 0 ),
diff --git a/src/drivers/net/intel.h b/src/drivers/net/intel.h
index 630eaf84..14877687 100644
--- a/src/drivers/net/intel.h
+++ b/src/drivers/net/intel.h
@@ -306,6 +306,8 @@ enum intel_flags {
INTEL_VMWARE = 0x0002,
/** PHY reset is broken */
INTEL_NO_PHY_RST = 0x0004,
+ /** ASDE is broken */
+ INTEL_NO_ASDE = 0x0008,
};
/**