diff options
author | Dafna Hirschfeld <dhirschfeld@habana.ai> | 2023-02-08 16:46:00 +0300 |
---|---|---|
committer | Oded Gabbay <ogabbay@kernel.org> | 2023-03-15 14:29:13 +0300 |
commit | 1d0f9ad7ce2e6eb89ec46f603c4a8c7e71301296 (patch) | |
tree | 6c96c977b3dd93d86a91c848a4c1a659b26fdc26 | |
parent | 39ab4da9c15b603e4706d9b9ef1aa8c3ef681312 (diff) | |
download | linux-1d0f9ad7ce2e6eb89ec46f603c4a8c7e71301296.tar.xz |
accel/habanalabs: in hl_device_reset small refactor for readabilty
in the out_err flow, combine the two cases of soft-reset since
they have mostly common code. In addition unlock reset_info.lock
after touching reset count.
Signed-off-by: Dafna Hirschfeld <dhirschfeld@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
-rw-r--r-- | drivers/accel/habanalabs/common/device.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/accel/habanalabs/common/device.c b/drivers/accel/habanalabs/common/device.c index 47ed2fec68bc..8e71793c6ad1 100644 --- a/drivers/accel/habanalabs/common/device.c +++ b/drivers/accel/habanalabs/common/device.c @@ -1852,17 +1852,16 @@ out_err: "%s Failed to reset! Device is NOT usable\n", dev_name(&(hdev)->pdev->dev)); hdev->reset_info.hard_reset_cnt++; - } else if (reset_upon_device_release) { - spin_unlock(&hdev->reset_info.lock); - dev_err(hdev->dev, "Failed to reset device after user release\n"); - flags |= HL_DRV_RESET_HARD; - flags &= ~HL_DRV_RESET_DEV_RELEASE; - hard_reset = true; - goto escalate_reset_flow; } else { + if (reset_upon_device_release) { + dev_err(hdev->dev, "Failed to reset device after user release\n"); + flags &= ~HL_DRV_RESET_DEV_RELEASE; + } else { + dev_err(hdev->dev, "Failed to do compute reset\n"); + hdev->reset_info.compute_reset_cnt++; + } + spin_unlock(&hdev->reset_info.lock); - dev_err(hdev->dev, "Failed to do compute reset\n"); - hdev->reset_info.compute_reset_cnt++; flags |= HL_DRV_RESET_HARD; hard_reset = true; goto escalate_reset_flow; |