diff options
author | Oded Gabbay <ogabbay@kernel.org> | 2021-04-11 21:06:05 +0300 |
---|---|---|
committer | Oded Gabbay <ogabbay@kernel.org> | 2021-05-08 11:21:57 +0300 |
commit | 001d5f66c156f2c30b6bf85346de09de8db49b59 (patch) | |
tree | d92295311cd3076951f9df17783355e755d576f3 /drivers/misc | |
parent | 285c0faddcebdf360412fc9ef9cde63cf98da7f6 (diff) | |
download | linux-001d5f66c156f2c30b6bf85346de09de8db49b59.tar.xz |
habanalabs: skip reading f/w errors on bad status
If we read all FF from the boot status register, then something is
totally wrong and there is no point of reading specific errors.
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/habanalabs/common/firmware_if.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c index 7cf82da67dab..fff29f057b6d 100644 --- a/drivers/misc/habanalabs/common/firmware_if.c +++ b/drivers/misc/habanalabs/common/firmware_if.c @@ -850,8 +850,13 @@ int hl_fw_read_preboot_status(struct hl_device *hdev, u32 cpu_boot_status_reg, if (rc) { dev_err(hdev->dev, "Failed to read preboot version\n"); detect_cpu_boot_status(hdev, status); - fw_read_errors(hdev, boot_err0_reg, - cpu_security_boot_status_reg); + + /* If we read all FF, then something is totally wrong, no point + * of reading specific errors + */ + if (status != -1) + fw_read_errors(hdev, boot_err0_reg, + cpu_security_boot_status_reg); return -EIO; } |