Page MenuHomeFreeBSD

D6352.1775694763.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D6352.1775694763.diff

Index: sys/dev/acpica/Osd/OsdSynch.c
===================================================================
--- sys/dev/acpica/Osd/OsdSynch.c
+++ sys/dev/acpica/Osd/OsdSynch.c
@@ -188,6 +188,23 @@
}
break;
default:
+ if (cold) {
+ /*
+ * Just spin polling the semaphore once a
+ * millisecond.
+ */
+ while (!ACPISEM_AVAIL(as, Units)) {
+ if (Timeout == 0) {
+ status = AE_TIME;
+ break;
+ }
+ Timeout--;
+ mtx_unlock(&as->as_lock);
+ DELAY(1000);
+ mtx_lock(&as->as_lock);
+ }
+ break;
+ }
tmo = timeout2hz(Timeout);
while (!ACPISEM_AVAIL(as, Units)) {
prevtick = ticks;
@@ -381,6 +398,23 @@
}
break;
default:
+ if (cold) {
+ /*
+ * Just spin polling the mutex once a
+ * millisecond.
+ */
+ while (!ACPIMTX_AVAIL(am)) {
+ if (Timeout == 0) {
+ status = AE_TIME;
+ break;
+ }
+ Timeout--;
+ mtx_unlock(&am->am_lock);
+ DELAY(1000);
+ mtx_lock(&am->am_lock);
+ }
+ break;
+ }
tmo = timeout2hz(Timeout);
while (!ACPIMTX_AVAIL(am)) {
prevtick = ticks;

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 9, 12:32 AM (14 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28299073
Default Alt Text
D6352.1775694763.diff (1 KB)

Event Timeline