| 470 | } |
| 471 | |
| 472 | void BrcmPatchRAM::uploadFirmwareThread(void *arg, wait_result_t wait) |
| 473 | { |
| 474 | DebugLog("sendFirmwareThread enter\n"); |
| 475 | |
| 476 | // don't start firmware load when lock is held (instance is shutting down) |
| 477 | if (IOLockTryLock(mLoadFirmwareLock)) |
| 478 | { |
| 479 | BrcmPatchRAM* me = static_cast<BrcmPatchRAM*>(arg); |
| 480 | me->uploadFirmware(); |
| 481 | #ifndef TARGET_ELCAPITAN |
| 482 | me->publishPersonality(); |
| 483 | #endif |
| 484 | me->scheduleWork(kWorkFinished); |
| 485 | IOLockUnlock(mLoadFirmwareLock); |
| 486 | } |
| 487 | |
| 488 | DebugLog("sendFirmwareThread termination\n"); |
| 489 | thread_terminate(current_thread()); |
| 490 | DebugLog("!!! sendFirmwareThread post-terminate !!! should not be here\n"); |
| 491 | } |
| 492 | |
| 493 | #endif // #ifndef NON_RESIDENT |
| 494 |
nothing calls this directly
no test coverage detected