aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/de/if_de.c
diff options
context:
space:
mode:
authorMike Smith <msmith@FreeBSD.org>2000-02-16 01:12:09 +0000
committerMike Smith <msmith@FreeBSD.org>2000-02-16 01:12:09 +0000
commit7af42aebc45074b5ab65851e78dbb8dd31c73283 (patch)
tree2e8677f5233419e67afad8aceec628accd3019a1 /sys/dev/de/if_de.c
parent05d5ca35873dcfda726c27fdedc6ba7ffafc08dd (diff)
Notes
Diffstat (limited to 'sys/dev/de/if_de.c')
-rw-r--r--sys/dev/de/if_de.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/de/if_de.c b/sys/dev/de/if_de.c
index 5883f882b09f..dd7786f09c90 100644
--- a/sys/dev/de/if_de.c
+++ b/sys/dev/de/if_de.c
@@ -5135,7 +5135,7 @@ tulip_pci_attach(pcici_t config_id, int unit)
tulip_media_t media = TULIP_MEDIA_UNKNOWN;
#endif
int retval, idx;
- u_int32_t revinfo, cfdainfo, id;
+ u_int32_t revinfo, cfdainfo, id, cfcsinfo;
#if !defined(TULIP_IOMAPPED)
vm_offset_t pa_csrs;
#endif
@@ -5154,6 +5154,13 @@ tulip_pci_attach(pcici_t config_id, int unit)
revinfo = pci_conf_read(config_id, PCI_CFRV) & 0xFF;
id = pci_conf_read(config_id, PCI_CFID);
cfdainfo = pci_conf_read(config_id, PCI_CFDA);
+ cfcsinfo = pci_conf_read(config_id, PCI_CFCS);
+
+ /* turn busmaster on in case BIOS doesn't set it */
+ if(!(cfcsinfo & PCIM_CMD_BUSMASTEREN)) {
+ cfcsinfo |= PCIM_CMD_BUSMASTEREN;
+ pci_conf_write(config_id, PCI_CFCS, cfcsinfo);
+ }
if (PCI_VENDORID(id) == DEC_VENDORID) {
if (PCI_CHIPID(id) == CHIPID_21040)