diff mbox series

[v2] spi: spi-cadence-quadspi: Fix division by zero warning

Message ID 362e0cbc-ed82-bf7d-025c-d586d11eaac2@nskint.co.jp (mailing list archive)
State Superseded
Headers show
Series [v2] spi: spi-cadence-quadspi: Fix division by zero warning | expand

Commit Message

Yoshitaka Ikeda July 15, 2021, 12:46 a.m. UTC
Fix below division by zero warning:
- Added an if statement because buswidth can be zero, resulting in division by zero.
- The modified code was based on another driver (atmel-quadspi).

[    0.795337] Division by zero in kernel.
   :
[    0.834051] [<807fd40c>] (__div0) from [<804e1acc>] (Ldiv0+0x8/0x10)
[    0.839097] [<805f0710>] (cqspi_exec_mem_op) from [<805edb4c>] (spi_mem_exec_op+0x3b0/0x3f8)

Signed-off-by: Yoshitaka Ikeda <ikeda@nskint.co.jp>
---
v2:
- Fix commit message.
---
   drivers/spi/spi-cadence-quadspi.c | 10 ++++++----
   1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Mark Brown July 15, 2021, 12:24 p.m. UTC | #1
On Thu, Jul 15, 2021 at 12:46:30AM +0000, Yoshitaka Ikeda wrote:
> Fix below division by zero warning:
> - Added an if statement because buswidth can be zero, resulting in division by zero.
> - The modified code was based on another driver (atmel-quadspi).

This doesn't apply against current code, please check and resend:

Applying: spi: spi-cadence-quadspi: Fix division by zero warning
Using index info to reconstruct a base tree...
error: patch failed: drivers/spi/spi-cadence-quadspi.c:307
error: drivers/spi/spi-cadence-quadspi.c: patch does not apply
error: Did you hand edit your patch?
It does not apply to blobs recorded in its index.
Patch failed at 0001 spi: spi-cadence-quadspi: Fix division by zero warning
Yoshitaka Ikeda July 15, 2021, 4:18 p.m. UTC | #2
On 2021/07/15 21:24, Mark Brown wrote:
> This doesn't apply against current code, please check and resend:

Sorry, the text was corrupted due to a setting in the mailer.
I will repost it later.
Mark Brown July 15, 2021, 7:53 p.m. UTC | #3
On Thu, 15 Jul 2021 00:46:30 +0000, Yoshitaka Ikeda wrote:
> Fix below division by zero warning:
> - Added an if statement because buswidth can be zero, resulting in division by zero.
> - The modified code was based on another driver (atmel-quadspi).
> 
> [    0.795337] Division by zero in kernel.
>    :
> [    0.834051] [<807fd40c>] (__div0) from [<804e1acc>] (Ldiv0+0x8/0x10)
> [    0.839097] [<805f0710>] (cqspi_exec_mem_op) from [<805edb4c>] (spi_mem_exec_op+0x3b0/0x3f8)

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/1] spi: spi-cadence-quadspi: Fix division by zero warning
      commit: 55cef88bbf12f3bfbe5c2379a8868a034707e755

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
diff mbox series

Patch

diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c
index 7a00346ff9b9..13d1f0ce618e 100644
--- a/drivers/spi/spi-cadence-quadspi.c
+++ b/drivers/spi/spi-cadence-quadspi.c
@@ -307,11 +307,13 @@  static unsigned int cqspi_calc_rdreg(struct cqspi_flash_pdata *f_pdata)
   
   static unsigned int cqspi_calc_dummy(const struct spi_mem_op *op, bool dtr)
   {
-	unsigned int dummy_clk;
+	unsigned int dummy_clk = 0;
   
-	dummy_clk = op->dummy.nbytes * (8 / op->dummy.buswidth);
-	if (dtr)
-		dummy_clk /= 2;
+	if (op->dummy.buswidth && op->dummy.nbytes) {
+		dummy_clk = op->dummy.nbytes * (8 / op->dummy.buswidth);
+		if (dtr)
+			dummy_clk /= 2;
+	}
   
   	return dummy_clk;
   }