After discussions, revert svn r253708.

Changelog for 253708 was completely wrong and the code implemented something
non-standard for the wrong reasons.

Sponsored by:	Yahoo! Inc.
This commit is contained in:
Sean Bruno 2013-07-30 18:41:36 +00:00
parent f1135552c6
commit 9b2566742d
2 changed files with 11 additions and 10 deletions

View File

@ -56,15 +56,8 @@ ipmi_isa_identify(driver_t *driver, device_t parent)
struct ipmi_get_info info;
uint32_t devid;
/*
* Give other drivers precedence. Unfortunately, this doesn't
* work if we have an SMBIOS table that duplicates a PCI device
* that's later on the bus than the PCI-ISA bridge.
*/
if (ipmi_attached)
return;
if (ipmi_smbios_identify(&info) && info.iface_type != SSIF_MODE) {
if (ipmi_smbios_identify(&info) && info.iface_type != SSIF_MODE &&
device_find_child(parent, "ipmi", -1) == NULL) {
/*
* XXX: Hack alert. On some broken systems, the IPMI
* interface is described via SMBIOS, but the actual
@ -182,6 +175,14 @@ ipmi_isa_attach(device_t dev)
!ipmi_hint_identify(dev, &info))
return (ENXIO);
/*
* Give other drivers precedence. Unfortunately, this doesn't
* work if we have an SMBIOS table that duplicates a PCI device
* that's later on the bus than the PCI-ISA bridge.
*/
if (ipmi_attached)
return (EBUSY);
switch (info.iface_type) {
case KCS_MODE:
count = 2;

View File

@ -219,7 +219,7 @@ struct ipmi_ipmb {
((sc)->ipmi_io_res[1] != NULL ? OUTB_MULTIPLE(sc, x, value) : \
OUTB_SINGLE(sc, x, value))
#define MAX_TIMEOUT 6 * hz
#define MAX_TIMEOUT 3 * hz
int ipmi_attach(device_t);
int ipmi_detach(device_t);