summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorpdeuskar <pdeuskar@FreeBSD.org>2001-12-06 17:50:21 +0000
committerpdeuskar <pdeuskar@FreeBSD.org>2001-12-06 17:50:21 +0000
commit125cbff8786f534c1e8abb272938cd72c797310b (patch)
tree08b551bd0aa1e3aa2dce0076040092cc6ec8cf95 /sys
parent3de059d62151313c4bca22c4358a50c4e4eb3bfe (diff)
downloadFreeBSD-src-125cbff8786f534c1e8abb272938cd72c797310b.zip
FreeBSD-src-125cbff8786f534c1e8abb272938cd72c797310b.tar.gz
Fixed two problems:
1. Changed incorrect conditional in fxhw.c which would never evaluate to true. Thanks to John Polstra for pointing that out. 2. Write to PCI config space by default, enabling memory access and bus master enable. Submitted by:Prafulla Deuskar MFC after:3 days
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/em/if_em.c10
-rw-r--r--sys/dev/em/if_em_fxhw.c4
2 files changed, 5 insertions, 9 deletions
diff --git a/sys/dev/em/if_em.c b/sys/dev/em/if_em.c
index 199e907..6073af5 100644
--- a/sys/dev/em/if_em.c
+++ b/sys/dev/em/if_em.c
@@ -55,7 +55,7 @@ struct adapter *em_adapter_list = NULL;
* Driver version
*********************************************************************/
-char em_driver_version[] = "1.0.6";
+char em_driver_version[] = "1.0.7";
/*********************************************************************
@@ -1142,12 +1142,8 @@ em_identify_hardware(struct adapter * Adapter)
/* Make sure our PCI config space has the necessary stuff set */
Adapter->PciCommandWord = pci_read_config(dev, PCIR_COMMAND, 2);
- if (!(Adapter->PciCommandWord & (PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN))) {
- printf("em%d: Memory Access or Bus Master bits were not set!",
- Adapter->unit);
- Adapter->PciCommandWord |= (PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN);
- pci_write_config(dev, PCIR_COMMAND, Adapter->PciCommandWord, 2);
- }
+ Adapter->PciCommandWord |= (PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN);
+ pci_write_config(dev, PCIR_COMMAND, Adapter->PciCommandWord, 2);
/* Save off the information about this board */
Adapter->VendorId = pci_get_vendor(dev);
diff --git a/sys/dev/em/if_em_fxhw.c b/sys/dev/em/if_em_fxhw.c
index e49f8ab..0fdde0f 100644
--- a/sys/dev/em/if_em_fxhw.c
+++ b/sys/dev/em/if_em_fxhw.c
@@ -344,7 +344,7 @@ void em_mta_set(struct adapter *Adapter, u32 HashValue)
MtaRegisterValue |= (1 << HashBit);
- if ((Adapter->MacType == MAC_CORDOVA) && ((HashReg & 0x0E) == 1)) {
+ if ((Adapter->MacType == MAC_CORDOVA) && ((HashReg & 0x1) == 1)) {
Temp = E1000_READ_REG(Mta[HashReg - 1]);
E1000_WRITE_REG(Mta[HashReg], HashValue);
E1000_WRITE_REG(Mta[HashReg - 1], Temp);
@@ -375,7 +375,7 @@ void em_write_vfta(struct adapter *Adapter, u32 Offset, u32 Value)
{
u32 Temp;
- if ((Adapter->MacType == MAC_CORDOVA) && ((Offset & 0x0E) == 1)) {
+ if ((Adapter->MacType == MAC_CORDOVA) && ((Offset & 0x1) == 1)) {
Temp = E1000_READ_REG(Vfta[Offset - 1]);
E1000_WRITE_REG(Vfta[Offset], Value);
E1000_WRITE_REG(Vfta[Offset - 1], Temp);
OpenPOWER on IntegriCloud