Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp4639415iog; Wed, 22 Jun 2022 02:56:49 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sTzxDBBrYU6cUQFlpdSPRzdF0HfGs+ZFJfJD4V/JgO129drXJkfvA1RcGJEZlFjm++NvOA X-Received: by 2002:a17:902:cccf:b0:168:e13c:5cd9 with SMTP id z15-20020a170902cccf00b00168e13c5cd9mr33253790ple.53.1655891808956; Wed, 22 Jun 2022 02:56:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655891808; cv=none; d=google.com; s=arc-20160816; b=ftrRAL3ZZVnRP0uPU6Bzn5qWYPHYnWZxcBKIkcdpNOmHEAWIL8FTz9ha3fz+OpU4VF 9PWm1mtp3A6G5Xip7lW+QMUSp2Bhqzs1E+sgdcwKJkeArtAKQ7xmRcc00gj3caQg7IwB aojVFUnJZRwqLhMi/dRPGS8xyID/9zmC/Z3BoYv+0/VNVLNVvUc/ifCNYBFszQ5Y/HoN wOv2x9ATAnk8z6lCX/3y8xD94f+g9TtPHoAe41PrbkBJAS6Z+kcUuXCW+/X4nFzLFGZd 26gLohBrACPtHS+dFWEB0/X4o4MrHl58zh3bTnVGbBwNssLOfUpMbc1+BxN3Xn3isj/R 8E9A== 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=vXctHTVOzF81pdOZ8fXAjW4U9pC9CMiUnXTQnQmI2QFrJfFWxCxaATcfsbdyh+hH51 u1IQokigfYQhb2SKb0cJYfAN6rdOBNIrGZ/pbtmJ39L0ufH8KWQVRRH8cfFzkjrEnvQl ovyTgCVYbId5l8arcCq9rO0ZHiSPp4HpsCb4F1UOl/dHz4O+BFsLSdpsvNmL3iSuKfSf kPffhI9knQSZ2ZCHC0/S4O6cbxaR2CU4qoOvF3VMt3imbWSXpaGvBoLMWQPwy7gKBMGF 9AqSK+6bSAHG/V39venzE16YXUKcs6SmSjmv3HWvzD7UjUdhEDWpm7uTCN2/wMLLwXg1 HwjA== 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 x24-20020a63db58000000b0040c92019495si16337096pgi.92.2022.06.22.02.56.36; Wed, 22 Jun 2022 02:56:48 -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 S1354942AbiFVJnH (ORCPT + 99 others); Wed, 22 Jun 2022 05:43:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39510 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1353056AbiFVJm4 (ORCPT ); Wed, 22 Jun 2022 05:42:56 -0400 Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E128E1FA; Wed, 22 Jun 2022 02:42:55 -0700 (PDT) Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by gandalf.ozlabs.org (Postfix) with ESMTP id 4LSdjB4S8Bz4xZj; Wed, 22 Jun 2022 19:42:54 +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 4LSdj64JWlz4xZb; Wed, 22 Jun 2022 19:42:50 +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 v2 2/2] spi: aspeed: Fix division by zero Date: Wed, 22 Jun 2022 11:42:33 +0200 Message-Id: <20220622094233.3681843-3-clg@kaod.org> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20220622094233.3681843-1-clg@kaod.org> References: <20220622094233.3681843-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,RCVD_IN_DNSWL_NONE,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