mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 18:16:01 +03:00
The function "nvgpu_engine_mmu_fault_id_to_eng_id_and_veid" updates only the veid field and leaves the engine_id as invalid. This can cause the recovery to be skipped in certain instances of MMUFAULT; For example, the MMUFAULT when a unbind is done on a channel which is currently active on the engine. In this case, the ch_id associated with the fault is -1 and the function "gv11b_mm_mmu_fault_handle_non_replayable" will not set the rc_type correctly causing recovery to be skipped and leaving the engine in a bad state. Bug 3163660 Change-Id: Ic99c47771a4002c153ac77ab0473b11d01cfd54a Signed-off-by: Antony Clince Alex <aalex@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2457259 Reviewed-by: Rajesh Devaraj <rdevaraj@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit