From: Oded Gabbay Date: Wed, 9 Dec 2020 21:07:58 +0000 (+0200) Subject: habanalabs/gaudi: retry loading TPC f/w on -EINTR X-Git-Tag: howlett/maple/20220722_2~4025^2~5^2~4 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=98e8781f008372057bd5cb059ca6b507371e473d;p=users%2Fjedix%2Flinux-maple.git habanalabs/gaudi: retry loading TPC f/w on -EINTR If loading the firmware file for the TPC f/w was interrupted, try to do it again, up to 5 times. Signed-off-by: Oded Gabbay --- diff --git a/drivers/misc/habanalabs/gaudi/gaudi.c b/drivers/misc/habanalabs/gaudi/gaudi.c index 88d0e4356d594..8c09e4466af8c 100644 --- a/drivers/misc/habanalabs/gaudi/gaudi.c +++ b/drivers/misc/habanalabs/gaudi/gaudi.c @@ -838,11 +838,17 @@ static int gaudi_init_tpc_mem(struct hl_device *hdev) size_t fw_size; void *cpu_addr; dma_addr_t dma_handle; - int rc; + int rc, count = 5; +again: rc = request_firmware(&fw, GAUDI_TPC_FW_FILE, hdev->dev); + if (rc == -EINTR && count-- > 0) { + msleep(50); + goto again; + } + if (rc) { - dev_err(hdev->dev, "Firmware file %s is not found!\n", + dev_err(hdev->dev, "Failed to load firmware file %s\n", GAUDI_TPC_FW_FILE); goto out; }