FreeBSD Bugzilla – Attachment 217358 Details for
Bug 248746
panic during boot in ACPI Platform Error Interfaces
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
stable/12 port of r364407
apei_tbl_12.patch (text/plain), 1.84 KB, created by
Alexander Motin
on 2020-08-19 23:51:18 UTC
(
hide
)
Description:
stable/12 port of r364407
Filename:
MIME Type:
Creator:
Alexander Motin
Created:
2020-08-19 23:51:18 UTC
Size:
1.84 KB
patch
obsolete
>Index: sys/dev/acpica/acpi_apei.c >=================================================================== >--- sys/dev/acpica/acpi_apei.c (revision 364408) >+++ sys/dev/acpica/acpi_apei.c (working copy) >@@ -550,14 +550,22 @@ apei_identify(driver_t *driver, device_t parent) > { > device_t child; > int found; >+ ACPI_TABLE_HEADER *hest; >+ ACPI_STATUS status; > > if (acpi_disabled("apei")) > return; >- if (acpi_find_table(ACPI_SIG_HEST) == 0) >+ >+ /* Without HEST table we have nothing to do. */ >+ status = AcpiGetTable(ACPI_SIG_HEST, 0, &hest); >+ if (ACPI_FAILURE(status)) > return; >+ AcpiPutTable(hest); >+ > /* Only one APEI device can exist. */ > if (devclass_get_device(apei_devclass, 0)) > return; >+ > /* Search for ACPI error device to be used. */ > found = 0; > AcpiWalkNamespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, >@@ -564,6 +572,7 @@ apei_identify(driver_t *driver, device_t parent) > 100, apei_find, NULL, NULL, (void *)&found); > if (found) > return; >+ > /* If not found - create a fake one. */ > child = BUS_ADD_CHILD(parent, 2, "apei", 0); > if (child == NULL) >@@ -573,18 +582,27 @@ apei_identify(driver_t *driver, device_t parent) > static int > apei_probe(device_t dev) > { >+ ACPI_TABLE_HEADER *hest; >+ ACPI_STATUS status; > int rv; > > if (acpi_disabled("apei")) > return (ENXIO); >- if (acpi_find_table(ACPI_SIG_HEST) == 0) >- return (ENXIO); >- if (acpi_get_handle(dev) != NULL) >+ >+ if (acpi_get_handle(dev) != NULL) { > rv = (ACPI_ID_PROBE(device_get_parent(dev), dev, apei_ids) == NULL); >- else >+ if (rv > 0) >+ return (rv); >+ } else > rv = 0; >- if (rv <= 0) >- device_set_desc(dev, "Platform Error Interface"); >+ >+ /* Without HEST table we have nothing to do. */ >+ status = AcpiGetTable(ACPI_SIG_HEST, 0, &hest); >+ if (ACPI_FAILURE(status)) >+ return (ENXIO); >+ AcpiPutTable(hest); >+ >+ device_set_desc(dev, "ACPI Platform Error Interface"); > return (rv); > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 248746
:
217331
|
217332
|
217333
|
217334
|
217343
|
217346
|
217347
|
217348
|
217349
|
217353
| 217358 |
217405