| From 5adeb389140c592f3b8e04295069bd3b11655402 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 10 Jun 2021 09:01:57 +0300 |
| Subject: habanalabs: set rc as 'valid' in case of intentional func exit |
| |
| From: Koby Elbaz <kelbaz@habana.ai> |
| |
| [ Upstream commit 11d5cb8b95456e2432dfee2ffcebf0623998493a ] |
| |
| fix the following smatch warnings: |
| hl_fw_static_init_cpu() warn: missing error code 'rc' |
| |
| Signed-off-by: Koby Elbaz <kelbaz@habana.ai> |
| Reviewed-by: Oded Gabbay <ogabbay@kernel.org> |
| Signed-off-by: Oded Gabbay <ogabbay@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/misc/habanalabs/common/device.c | 5 +++-- |
| drivers/misc/habanalabs/common/firmware_if.c | 5 ++++- |
| 2 files changed, 7 insertions(+), 3 deletions(-) |
| |
| diff --git a/drivers/misc/habanalabs/common/device.c b/drivers/misc/habanalabs/common/device.c |
| index 334009e83823..b11e9830422e 100644 |
| --- a/drivers/misc/habanalabs/common/device.c |
| +++ b/drivers/misc/habanalabs/common/device.c |
| @@ -1370,8 +1370,9 @@ int hl_device_init(struct hl_device *hdev, struct class *hclass) |
| } |
| |
| /* |
| - * From this point, in case of an error, add char devices and create |
| - * sysfs nodes as part of the error flow, to allow debugging. |
| + * From this point, override rc (=0) in case of an error to allow |
| + * debugging (by adding char devices and create sysfs nodes as part of |
| + * the error flow). |
| */ |
| add_cdev_sysfs_on_err = true; |
| |
| diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c |
| index 09706c571e95..7a96c9753dbf 100644 |
| --- a/drivers/misc/habanalabs/common/firmware_if.c |
| +++ b/drivers/misc/habanalabs/common/firmware_if.c |
| @@ -803,11 +803,14 @@ int hl_fw_init_cpu(struct hl_device *hdev, u32 cpu_boot_status_reg, |
| |
| if (!(hdev->fw_loading & FW_TYPE_LINUX)) { |
| dev_info(hdev->dev, "Skip loading Linux F/W\n"); |
| + rc = 0; |
| goto out; |
| } |
| |
| - if (status == CPU_BOOT_STATUS_SRAM_AVAIL) |
| + if (status == CPU_BOOT_STATUS_SRAM_AVAIL) { |
| + rc = 0; |
| goto out; |
| + } |
| |
| dev_info(hdev->dev, |
| "Loading firmware to device, may take some time...\n"); |
| -- |
| 2.30.2 |
| |