mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
Firmware requests triggered by userspace action can be executed in interruptible context, which can cause signals to interrupt firmware loading. Ordinarily, one would propagate the error code to userspace and let it retry. However, request_firmware does not have proper handling of retryable errors, as sysfs fallbacks will clobber the original error code. Furthermore, pm_runtime, through which we would propagate the error code, doesn't support transient resume failures either. As such, as a quick fix, change to request_firmware_direct and retry it directly in situ 10 times. Bug 4753613 Co-developed-by: Zuyi Hu <zuyih@nvidia.com> Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> Change-Id: Idb9a04d4fa80aeffbfd0ad0176cce55c4dedf488 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3202848 (cherry picked from commit a17e81cad18bbdfef0194471524b675d74501054) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3219109 (cherry picked from commit 30c08f369a8f3acd642fcec70814086bd472e734) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3253514 GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com> Reviewed-by: Santosh BS <santoshb@nvidia.com> Tested-by: Zuyi Hu <zuyih@nvidia.com>