This commit fixes the Watchdog Timer Software problem by disabling it.
When the Watchdog Timer expires or crashes causes the device (in this case: Samsung Galaxy A20s) to reboot, and is fixed by just disabling it.
An example of kernel panic log:
[ 115.680218] I[5:IntentService[D: 5621] Kernel panic - not syncing: Software Watchdog Timer expired
[ 117.139710] I[5:IntentService[D: 5621] sec_debug_panic_handler :Software Watchdog Timer expired
[ 117.141840] Causing a watchdog bite!
GSI used to test whether the problem has been fixed: https://sourceforge.net/projects/gsi-projects/files/v413/ArrowOS-12.1/ArrowOS-12.1-arm64_bgN-vndklite-Unofficial.img.xz/download
Screenshot: https://imgur.com/a/7eit2Le
Signed-off-by: Hakalle <hakalle@proton.me>
Fixes a panic 100 seconds into boot, caused by /dev/watchdog0 (/dev/watchdog1 was already accounted for).
Works for the Samsung Galaxy A11, US model (SM-A115U1, a11que), so it's written to play it safe and apply only to the US vendor fingerprint.
Samsung defines the presence of UWB framework in /vendor
This is wrong, because the UWB framework is hosted in /system
Which means that when booting a GSI, framework will say it has UWB
while it doesn't
Some new Mi devices only reveal high refresh rate on `ro.product.manufacturer=Xiaomi`
Until the offending blob is pinpointed, fake the prop with copyprop
Feel free to experiment on other devices with similar symptom
Change-Id: I125cc55d6c3d57d7e62c65c997de086cca24abdd
On Mediatek devices, modem can request ro.product.device directly to
switch hardware configuration depending on the HW it is running on.
On AOSP GSI, if the ro.product.device is "generic", it'll switch to
ro.product.vendor.device, but not when it's "phhgsi.*".
Which leads to the device not loading the proper HW config, and failing
to modem altogether (notably on Redmi 9A)
To fix this, have ccci_rpcd report vendor props instead of system props
Color management fixes flickering screen on mediatek devices
The comment in SurfaceFlinger.cpp says that color mangement was disabled
by default on Android <=11, so it's simply restoring old behavior