summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_mx.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/pci/if_mx.c')
-rw-r--r--sys/pci/if_mx.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/sys/pci/if_mx.c b/sys/pci/if_mx.c
index a1938f0..6ea96aa 100644
--- a/sys/pci/if_mx.c
+++ b/sys/pci/if_mx.c
@@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: if_mx.c,v 1.27 1998/12/01 15:55:20 wpaul Exp $
+ * $Id: if_mx.c,v 1.28 1998/12/04 21:34:33 wpaul Exp $
*/
/*
@@ -94,7 +94,7 @@
#ifndef lint
static char rcsid[] =
- "$Id: if_mx.c,v 1.27 1998/12/01 15:55:20 wpaul Exp $";
+ "$Id: if_mx.c,v 1.28 1998/12/04 21:34:33 wpaul Exp $";
#endif
/*
@@ -1240,9 +1240,11 @@ mx_probe(config_id, device_id)
((device_id >> 16) & 0xFFFF) == t->mx_did) {
/* Check the PCI revision */
rev = pci_conf_read(config_id, MX_PCI_REVID) & 0xFF;
- if (rev > MX_REVISION_98713 && rev < MX_REVISION_98715)
+ if (t->mx_did == MX_DEVICEID_98713 &&
+ rev >= MX_REVISION_98713A)
t++;
- if (rev >= MX_REVISION_98725)
+ if (t->mx_did == MX_DEVICEID_987x5 &&
+ rev >= MX_REVISION_98725)
t++;
return(t->mx_name);
}
@@ -1358,9 +1360,12 @@ mx_attach(config_id, unit)
/* Need this info to decide on a chip type. */
revision = pci_conf_read(config_id, MX_PCI_REVID) & 0x000000FF;
pci_id = pci_conf_read(config_id, MX_PCI_VENDOR_ID) & 0x0000FFFF;
+ pci_id = (pci_conf_read(config_id,MX_PCI_VENDOR_ID) >> 16) & 0x0000FFFF;
- if (pci_id == MX_DEVICEID_98713 && revision == MX_REVISION_98713)
+ if (pci_id == MX_DEVICEID_98713 && revision < MX_REVISION_98713A)
sc->mx_type = MX_TYPE_98713;
+ else if (pci_id == MX_DEVICEID_98713 && revision >= MX_REVISION_98713A)
+ sc->mx_type = MX_TYPE_98713A;
else
sc->mx_type = MX_TYPE_987x5;
OpenPOWER on IntegriCloud