Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp4992004iog; Wed, 22 Jun 2022 09:41:28 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tF76b9TtN2wJma9Otn2NsHLe7fwCeXYGEVDZesqX7+kGPtrmH/wdOfC59o7cIuJlOYbYwf X-Received: by 2002:a17:902:d502:b0:16a:2cb3:74eb with SMTP id b2-20020a170902d50200b0016a2cb374ebmr14307321plg.160.1655916088116; Wed, 22 Jun 2022 09:41:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655916088; cv=none; d=google.com; s=arc-20160816; b=lBFX+uOSW0tdGYxeK2XgJbAxWrOLfTMyaX+oLS82f0FNplWdUa8/9qF3FuC9qVPg+1 AB7pqmtEexDbnUIAiCl7eHZUSV0p1EGBEm5b/qKlBO81gYv47JtdHSuYVZ2fPTgnCm4h 6YeIjdJNhx0FDcGMEa2ZsEtkB5HNUxuZsi5Vfwh7fy7aUyMRVqQVykfLI0Aa7oU9jXzq U98hfrY4e28K8j+JcPKtHmcszxqe7f/M4lQlQTOVkeZ62Mb7ZJauHM/ssw6ks9xQj43Z o8gsJfpFOPqh48dX3OrwLNOcmfLp60vCVaSR97a/zWPPe158P+qnpG5EwC5TbcUlkYiD ukvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=nq0NaB8mmbxmISw00qEZcX6Slg33iILrVs9/e9+gcUY=; b=0x0PO5uig/4Pmkc0PQgjgzJEaZhWiJJQ6u5eTZvgmMTZXbxTNGAc5TRPNdW6VhlgkC kVpEmQE5E1koE0D5oXfgD9Dw1Tw3Nj3vCxDy3M+8Sct9tG2Z2+ECnVe92M4KKDafMuNy pQ91jZFhIkfomTZPZVBnHTDrnqfs26n/yxPrRtljr7TRNycdFfIAzPr+eI/Xpg2R09Dw 4nuC5aGe/Ym5AMGsyJjZDyee/y/bRUUCv5UOgaERjXnp4vPc3W6YJEo1/sIg9D7cLAHH iDU7LZv2bKq5zf5D+JfqksCKznLHZ6UpwkBTmRiQv4IRvVPfNDunO9LZx+MEkX5ZiuWA aoow== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h9-20020a654689000000b003fca01bf92esi26413231pgr.482.2022.06.22.09.41.15; Wed, 22 Jun 2022 09:41:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376404AbiFVQQm (ORCPT + 99 others); Wed, 22 Jun 2022 12:16:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1355693AbiFVQQk (ORCPT ); Wed, 22 Jun 2022 12:16:40 -0400 Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A61B38780; Wed, 22 Jun 2022 09:16:39 -0700 (PDT) Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by gandalf.ozlabs.org (Postfix) with ESMTP id 4LSpRV1JNBz4xZp; Thu, 23 Jun 2022 02:16:38 +1000 (AEST) Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4LSpRQ2DLzz4xDK; Thu, 23 Jun 2022 02:16:34 +1000 (AEST) From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= To: linux-spi@vger.kernel.org Cc: Mark Brown , Pratyush Yadav , linux-aspeed@lists.ozlabs.org, openbmc@lists.ozlabs.org, Joel Stanley , Andrew Jeffery , Chin-Ting Kuo , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Ian Woloschin , Ian Woloschin Subject: [PATCH v3 2/2] spi: aspeed: Fix division by zero Date: Wed, 22 Jun 2022 18:16:17 +0200 Message-Id: <20220622161617.3719096-3-clg@kaod.org> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20220622161617.3719096-1-clg@kaod.org> References: <20220622161617.3719096-1-clg@kaod.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When using the normal read operation for data transfers, the dummy bus width is zero. In that case, they are no dummy bytes to transfer and setting the dummy field in the controller register becomes useless. Issue was found on a custom "Bifrost" board based on the AST2500 SoC and using a MX25L51245GMI-08G SPI Flash. Reported-by: Ian Woloschin Reviewed-by: Pratyush Yadav Tested-by: Ian Woloschin Fixes: 54613fc6659b ("spi: aspeed: Add support for direct mapping") Signed-off-by: Cédric Le Goater --- drivers/spi/spi-aspeed-smc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-aspeed-smc.c b/drivers/spi/spi-aspeed-smc.c index ac64be289e59..3e891bf22470 100644 --- a/drivers/spi/spi-aspeed-smc.c +++ b/drivers/spi/spi-aspeed-smc.c @@ -582,9 +582,11 @@ static int aspeed_spi_dirmap_create(struct spi_mem_dirmap_desc *desc) ctl_val = readl(chip->ctl) & ~CTRL_IO_CMD_MASK; ctl_val |= aspeed_spi_get_io_mode(op) | op->cmd.opcode << CTRL_COMMAND_SHIFT | - CTRL_IO_DUMMY_SET(op->dummy.nbytes / op->dummy.buswidth) | CTRL_IO_MODE_READ; + if (op->dummy.nbytes) + ctl_val |= CTRL_IO_DUMMY_SET(op->dummy.nbytes / op->dummy.buswidth); + /* Tune 4BYTE address mode */ if (op->addr.nbytes) { u32 addr_mode = readl(aspi->regs + CE_CTRL_REG); -- 2.35.3