summaryrefslogtreecommitdiff
path: root/drivers/spi/spi-mem.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2025-05-06 20:42:00 +0300
committerIngo Molnar <mingo@kernel.org>2025-05-06 20:42:00 +0300
commit570d58b12fbf7bae0ba72d929ccf914a4df5ca7c (patch)
treedfed4e4970ba5a5a4c4c726b4d55d9f4394683c3 /drivers/spi/spi-mem.c
parent502ad6e5a6196840976c4c84b2ea2f9769942fbe (diff)
parent92a09c47464d040866cf2b4cd052bc60555185fb (diff)
downloadlinux-570d58b12fbf7bae0ba72d929ccf914a4df5ca7c.tar.xz
Merge tag 'v6.15-rc5' into x86/msr, to pick up fixes and to resolve conflicts
Conflicts: drivers/cpufreq/intel_pstate.c Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/spi/spi-mem.c')
-rw-r--r--drivers/spi/spi-mem.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c
index a31a1db07aa4..5db0639d3b01 100644
--- a/drivers/spi/spi-mem.c
+++ b/drivers/spi/spi-mem.c
@@ -596,7 +596,11 @@ u64 spi_mem_calc_op_duration(struct spi_mem_op *op)
ns_per_cycles = 1000000000 / op->max_freq;
ncycles += ((op->cmd.nbytes * 8) / op->cmd.buswidth) / (op->cmd.dtr ? 2 : 1);
ncycles += ((op->addr.nbytes * 8) / op->addr.buswidth) / (op->addr.dtr ? 2 : 1);
- ncycles += ((op->dummy.nbytes * 8) / op->dummy.buswidth) / (op->dummy.dtr ? 2 : 1);
+
+ /* Dummy bytes are optional for some SPI flash memory operations */
+ if (op->dummy.nbytes)
+ ncycles += ((op->dummy.nbytes * 8) / op->dummy.buswidth) / (op->dummy.dtr ? 2 : 1);
+
ncycles += ((op->data.nbytes * 8) / op->data.buswidth) / (op->data.dtr ? 2 : 1);
return ncycles * ns_per_cycles;