Detect QNAP board last, because a Realtek chip at pci device 15 is used

on several boards.
This commit is contained in:
phx 2011-04-30 11:12:58 +00:00
parent 4f729153dd
commit a5da0088ea
1 changed files with 8 additions and 8 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: pci_machdep.c,v 1.26 2011/04/04 20:37:53 dyoung Exp $ */
/* $NetBSD: pci_machdep.c,v 1.27 2011/04/30 11:12:58 phx Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All rights reserved.
@ -43,7 +43,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: pci_machdep.c,v 1.26 2011/04/04 20:37:53 dyoung Exp $");
__KERNEL_RCSID(0, "$NetBSD: pci_machdep.c,v 1.27 2011/04/30 11:12:58 phx Exp $");
#include "opt_pci.h"
@ -135,12 +135,6 @@ pci_attach_hook(struct device *parent, struct device *self,
}
tag = pci_make_tag(pba->pba_pc, pba->pba_bus, 15, 0);
dev15 = pci_conf_read(pba->pba_pc, tag, PCI_ID_REG);
if (PCI_VENDOR(dev15) == PCI_VENDOR_INTEL
|| PCI_VENDOR(dev15) == PCI_VENDOR_REALTEK) {
/* Intel or Realtek GbE at dev 15 */
brdtype = BRD_QNAPTS;
return;
}
if (PCI_VENDOR(dev15) == PCI_VENDOR_MARVELL) {
/* Marvell GbE at dev 15 */
brdtype = BRD_SYNOLOGY;
@ -165,6 +159,12 @@ pci_attach_hook(struct device *parent, struct device *self,
brdtype = BRD_NH230NAS;
return;
}
if (PCI_VENDOR(dev15) == PCI_VENDOR_INTEL
|| PCI_VENDOR(dev15) == PCI_VENDOR_REALTEK) {
/* Intel or Realtek GbE at dev 15 */
brdtype = BRD_QNAPTS;
return;
}
brdtype = BRD_UNKNOWN;
}