canCastInterface: always return true for IBase

Don't do a binder call for passing interface
around, especially since every HIDL thing is
already IBase.

Bug: 68217907
Test: hidl's run_all_device_tests, boot + camera/YT sanity
Merged-In: Ic195e9c19f181828296c515a3004c75daccdd03f
Change-Id: Ic195e9c19f181828296c515a3004c75daccdd03f
(cherry picked from commit 3fa8e305eb60aeba52b721c875618d0e168dddce)
diff --git a/transport/include/hidl/HidlTransportUtils.h b/transport/include/hidl/HidlTransportUtils.h
index fbd6516..a69c123 100644
--- a/transport/include/hidl/HidlTransportUtils.h
+++ b/transport/include/hidl/HidlTransportUtils.h
@@ -34,6 +34,12 @@
         return false;
     }
 
+    // b/68217907
+    // Every HIDL interface is a base interface.
+    if (std::string(::android::hidl::base::V1_0::IBase::descriptor) == castTo) {
+        return true;
+    }
+
     bool canCast = false;
     auto chainRet = interface->interfaceChain([&](const hidl_vec<hidl_string> &types) {
         for (size_t i = 0; i < types.size(); i++) {