diff options
| author | Naresh Kumar Ravulapalli <[email protected]> | 2025-06-30 21:43:11 -0700 |
|---|---|---|
| committer | Michal Simek <[email protected]> | 2025-07-08 14:58:43 +0200 |
| commit | a988d4ea00809e68617c210aba0bb9ca6fc0ebde (patch) | |
| tree | a59da8699f278ff4e9d5db53ba92a4a09251b3e1 /drivers/fpga | |
| parent | 14f627bf43ffa143ee78f8fee726eb57bf349452 (diff) | |
drivers: fpga: intel_sdm_mb: Check SIP SMC status in send_bitstream()
While sending bitstream via SIP SMC, busy status received does not
correspond to error, instead it means transfer is accepted but SDM
doesn't have any more free buffer space. Hence, data transmission
is continued when busy status is received.
Signed-off-by: Naresh Kumar Ravulapalli <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Michal Simek <[email protected]>
Diffstat (limited to 'drivers/fpga')
| -rw-r--r-- | drivers/fpga/intel_sdm_mb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/fpga/intel_sdm_mb.c b/drivers/fpga/intel_sdm_mb.c index a2f3b160a73..5f4aae47d6d 100644 --- a/drivers/fpga/intel_sdm_mb.c +++ b/drivers/fpga/intel_sdm_mb.c @@ -687,7 +687,8 @@ static int send_bitstream(const void *rbf_data, size_t rbf_size) debug("wr_ret = %d, rbf_data = %p, buf_size = %08lx\n", wr_ret, rbf_data, buf_size); - if (wr_ret) + if (wr_ret != INTEL_SIP_SMC_STATUS_OK && + wr_ret != INTEL_SIP_SMC_STATUS_BUSY) continue; rbf_size -= buf_size; |
