From 9cd94f3cc3a73f51b4ba99332c7bf2f4d897504c Mon Sep 17 00:00:00 2001 From: Jonathan Gray Date: Mon, 24 Apr 2017 13:20:47 +0000 Subject: Since rev 1.1 ix has attempted to require a 64 bit BAR, the test for this was wrong and was corrected at the end of last year in rev 1.140. Before then a 64 bit BAR was not enforced as the test was wrong. It turns out there exist 82598 parts which have a 32 bit BAR so change the test to only require a memory BAR and not a 64 bit memory BAR. Problem reported by Robert Blacquiere. ok mikeb@ --- sys/dev/pci/if_ix.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'sys') diff --git a/sys/dev/pci/if_ix.c b/sys/dev/pci/if_ix.c index b24326f26e1..b46163ec37a 100644 --- a/sys/dev/pci/if_ix.c +++ b/sys/dev/pci/if_ix.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ix.c,v 1.150 2017/01/24 03:57:35 dlg Exp $ */ +/* $OpenBSD: if_ix.c,v 1.151 2017/04/24 13:20:46 jsg Exp $ */ /****************************************************************************** @@ -1550,8 +1550,7 @@ ixgbe_allocate_pci_resources(struct ix_softc *sc) int val; val = pci_conf_read(pa->pa_pc, pa->pa_tag, PCIR_BAR(0)); - if (PCI_MAPREG_TYPE(val) != PCI_MAPREG_TYPE_MEM || - PCI_MAPREG_MEM_TYPE(val) != PCI_MAPREG_MEM_TYPE_64BIT) { + if (PCI_MAPREG_TYPE(val) != PCI_MAPREG_TYPE_MEM) { printf(": mmba is not mem space\n"); return (ENXIO); } -- cgit v1.2.3