summaryrefslogtreecommitdiffstats
path: root/sys/dev/fxp
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2003-04-14 09:45:25 +0000
committersobomax <sobomax@FreeBSD.org>2003-04-14 09:45:25 +0000
commit6efce81948c67ccea6ca2bb90a447bb8da444c8b (patch)
treea4e6c3519a8cc84808784bb6938df80c9cc12b98 /sys/dev/fxp
parent3f6cd8397d4a70b56bfde286d1f43d540c245fa6 (diff)
downloadFreeBSD-src-6efce81948c67ccea6ca2bb90a447bb8da444c8b.zip
FreeBSD-src-6efce81948c67ccea6ca2bb90a447bb8da444c8b.tar.gz
Before attaching device set PCIM_CMD_PORTEN in addition to
PCIM_CMD_MEMEN and PCIM_CMD_BUSMASTEREN, becaise some braindead BIOSes (such as one found in my vprmatrix notebook) forget to initialize it properly resulting in attachment failure.
Diffstat (limited to 'sys/dev/fxp')
-rw-r--r--sys/dev/fxp/if_fxp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/fxp/if_fxp.c b/sys/dev/fxp/if_fxp.c
index bf9d18f..8829739 100644
--- a/sys/dev/fxp/if_fxp.c
+++ b/sys/dev/fxp/if_fxp.c
@@ -385,11 +385,11 @@ fxp_attach(device_t dev)
s = splimp();
/*
- * Enable bus mastering. Enable memory space too, in case
+ * Enable bus mastering. Enable memory/port space too, in case
* BIOS/Prom forgot about it.
*/
val = pci_read_config(dev, PCIR_COMMAND, 2);
- val |= (PCIM_CMD_MEMEN|PCIM_CMD_BUSMASTEREN);
+ val |= (PCIM_CMD_PORTEN|PCIM_CMD_MEMEN|PCIM_CMD_BUSMASTEREN);
pci_write_config(dev, PCIR_COMMAND, val, 2);
val = pci_read_config(dev, PCIR_COMMAND, 2);
OpenPOWER on IntegriCloud