summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rob VanReenen <quic_rvanreen@quicinc.com> 2024-08-01 12:07:00 -0700
committer Rob VanReenen <quic_rvanreen@quicinc.com> 2024-08-01 12:26:43 -0700
commit189318d74a8b7ce74dbc76ec4d614e369d22a00a (patch)
treefa39eaaa0b820b184c5ad34440f00d4ba1ba827a
parent45ccd13dd68b5be72440cbcadb3c5bbe7f71ba4d (diff)
Fix updatable driver loading issue with Vulkan.
When unloading Vulkan driver, check if close() function is non-NULL before calling it. Bug: 349287141 Change-Id: I1e6c3c80e57dceecd41888541044807e1dab45af
-rw-r--r--vulkan/libvulkan/driver.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/vulkan/libvulkan/driver.cpp b/vulkan/libvulkan/driver.cpp
index 81fd1185b6..e9204ab65a 100644
--- a/vulkan/libvulkan/driver.cpp
+++ b/vulkan/libvulkan/driver.cpp
@@ -339,10 +339,13 @@ void Hal::UnloadBuiltinDriver() {
ALOGD("Unload builtin Vulkan driver.");
- // Close the opened device
- int err = hal_.dev_->common.close(
- const_cast<struct hw_device_t*>(&hal_.dev_->common));
- ALOG_ASSERT(!err, "hw_device_t::close() failed.");
+ if (hal_.dev_->common.close != nullptr)
+ {
+ // Close the opened device
+ int err = hal_.dev_->common.close(
+ const_cast<struct hw_device_t*>(&hal_.dev_->common));
+ ALOG_ASSERT(!err, "hw_device_t::close() failed.");
+ }
// Close the opened shared library in the hw_module_t
android_unload_sphal_library(hal_.dev_->common.module->dso);