From 799821e163f67ea122d2480714405b5f5c8be09a Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 7 Oct 2020 13:15:24 +0200 Subject: [PATCH] modem/rmtfs: fix downstream (MR 1640) The -s switch to automatically start/stop the modem remoteproc only works on mainline, on downstream it fails with "Failed to get rprocfd". Let's abuse /usr/lib/preload/libqipcrtr4msmipc.so to check if we are (probably) running on a downstream installation, and omit the -s argument in this case. The modem remoteproc needs to be started differently on downstream. --- modem/rmtfs/APKBUILD | 2 +- modem/rmtfs/rmtfs.initd | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/modem/rmtfs/APKBUILD b/modem/rmtfs/APKBUILD index 74293927f..3088aa35d 100644 --- a/modem/rmtfs/APKBUILD +++ b/modem/rmtfs/APKBUILD @@ -29,5 +29,5 @@ package() { } sha512sums="23545e5ee6dd77c252eb99230fff532c6f43a7502e5637280e9e6ca77830b37c0198e4ad75cc30e1f1c6358c9387b95d883bced314f0ffd3136f5235b1fa34ab rmtfs-0d00985e5eda7b5fb5c2d49e1c41cdb5118ffe2c.tar.gz -088b49aa8c251302f01e2233974333d7b66c8f64388e8da1811d0c4a375c1d58722c549ddc03b22d8eb68ea70edcb2cf40f7e50434415eb3e35b9674fed73ab9 rmtfs.initd +e7cff3fb61a377924b1e526bea87a9d0bccae05f341d456a50885123c68c0f185752c057c689a20b1a05605a4111feb9de59fb6ce1505cbc6b38ed395248ccf4 rmtfs.initd cb2435c159d81d3a40d30e1355c82a3d560dc2df7d05fee95085bc80e492ac93a728258f2f1b463c04a964979760990c8c9176b22cb585cbec19ab285cd45440 udev.rules" diff --git a/modem/rmtfs/rmtfs.initd b/modem/rmtfs/rmtfs.initd index 0d03a43f9..025fbac70 100644 --- a/modem/rmtfs/rmtfs.initd +++ b/modem/rmtfs/rmtfs.initd @@ -4,18 +4,23 @@ supervisor=supervise-daemon name="RMTFS" description="Qualcomm remote file system service" -# libqipcrtr4msmipc.so may not be present, on devices that don't need it -export LD_PRELOAD=/usr/lib/preload/libqipcrtr4msmipc.so - # -P: find and use raw EFS partitions # -r: avoid writing to storage -# -s: enable sync for the mss rproc instance command="/usr/sbin/rmtfs" -command_args="-P -r -s" +command_args="-P -r" # https://github.com/andersson/rmtfs/commit/dfb8f3ed1c8fbde621cd08aaf9e7724a4c55cbd1 respawn_delay=1 +# Downstream hacks: use libqipcrtr4msmipc.so +if [ -f /usr/lib/preload/libqipcrtr4msmipc.so ]; then + export LD_PRELOAD=/usr/lib/preload/libqipcrtr4msmipc.so +else + # -s: enable sync for the mss rproc instance (works only on mainline) + # Basically: start/stop modem remoteproc together with rmtfs + command_args="$command_args -s" +fi + depend() { after udev-settle use qrtr-ns