Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp612886ybl; Fri, 24 Jan 2020 06:26:46 -0800 (PST) X-Google-Smtp-Source: APXvYqzmhoWMdMx6ad5B6MMRV1hfmTYuXs1uc3AkUfaqI8+TsbtEeB7kO/0aqhLP2322NDZZFmg7 X-Received: by 2002:a9d:62c2:: with SMTP id z2mr2926116otk.309.1579876006333; Fri, 24 Jan 2020 06:26:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579876006; cv=none; d=google.com; s=arc-20160816; b=o0ZPtr47qbv2Iuk9UMWgxQM3Ukana7RkYjhAUmAnn7SGxQdyWMHmSIp00jLfw83WLk YJ6VTCA+Zl1CChc1+73eXA0vWxJGfZIbS+ujAJi0vN74UQI5LmdFZrcunZdkk1iy9Npu 9S/HefatvG/z515LSxgTzaBATybCsJRiH8yT0KuyPfqIG+qvIvbFK4obEc/s7qBShsOt ALfvzuj1x8Wdl8VyOHokyg/kHF2XuPtxhDwQeNWgRRCd+HLa36r/wuknca/L6EwrM9Ko tssqmoX32pBu2NHIjQtpbsdHUeRTQ8zjDPLzR2luV3D21cyvYA7N7pLo+yKITWk8+koT Ds5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=hhd/qafRs9aSlyL76AxrN1E35fSQIOORUWhxLBty/ns=; b=J4XLf64UDmvwRHeYJhjw12JuAeq/9MByqAPpMZ8LYiqsXBLhb3TmR4n81psXWQADih 80ClCnuim+fX8tr/AAMgBGUXoTbfq9UogiPorfeU/eP6/o2jp91XCpg5Cne2eDPxFIGX 4mfrCyw9NVJIpTQztuWkCLUH0i8hXq9LAzDECrU/MQ3mWzL7ERVbPNmjr1I0GdHzlZyB N2YmZAxln2CZtZk9nc+C9TRG7aHW5pxRmbDdPOqDqoR3/B37rch3TykPa62uqmQwJq8n gCFV5xT7XEl1oJb/0FWsKgj9uQe5YEA2rL9GYx87bXlUVfQj1dTlSwgc3FGRHwS2rril d0eQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dhQjRWjL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t130si2411379oib.202.2020.01.24.06.26.33; Fri, 24 Jan 2020 06:26:46 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dhQjRWjL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389921AbgAXLPz (ORCPT + 99 others); Fri, 24 Jan 2020 06:15:55 -0500 Received: from mail.kernel.org ([198.145.29.99]:52502 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389650AbgAXLPv (ORCPT ); Fri, 24 Jan 2020 06:15:51 -0500 Received: from localhost (ip-213-127-102-57.ip.prioritytelecom.net [213.127.102.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 53D1220708; Fri, 24 Jan 2020 11:15:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579864551; bh=bliT4xAUHVM4G1mgu4NFRD4uUW0oCWzxaiplPWcbVyA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dhQjRWjLU5SSFmrv5DawpSl8ekuuJ3BFwHvmw7L07may4gHnu9wehGPDhy2TXVgxf PaAjO/Ni5gsDQEOvyzOcB1xvmwWZr0DWZWoW/L6SPRV/LcsdIaY0ETLfQ0dMKhknxV T6Xf2IXE6jLaLR1RO6bElUEEB0BaBbPM6N90K1mc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sowjanya Komatineni , Mark Brown , Sasha Levin Subject: [PATCH 4.19 284/639] spi: tegra114: terminate dma and reset on transfer timeout Date: Fri, 24 Jan 2020 10:27:34 +0100 Message-Id: <20200124093122.422579088@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200124093047.008739095@linuxfoundation.org> References: <20200124093047.008739095@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sowjanya Komatineni [ Upstream commit 32bd1a9551cae34e6889afa235c7afdfede9aeac ] Fixes: terminate DMA and perform controller reset on transfer timeout to clear the FIFO's and errors. Signed-off-by: Sowjanya Komatineni Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- drivers/spi/spi-tegra114.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c index 17c2c78318f71..b1b726673f850 100644 --- a/drivers/spi/spi-tegra114.c +++ b/drivers/spi/spi-tegra114.c @@ -869,7 +869,16 @@ static int tegra_spi_transfer_one_message(struct spi_master *master, if (WARN_ON(ret == 0)) { dev_err(tspi->dev, "spi transfer timeout, err %d\n", ret); + if (tspi->is_curr_dma_xfer && + (tspi->cur_direction & DATA_DIR_TX)) + dmaengine_terminate_all(tspi->tx_dma_chan); + if (tspi->is_curr_dma_xfer && + (tspi->cur_direction & DATA_DIR_RX)) + dmaengine_terminate_all(tspi->rx_dma_chan); ret = -EIO; + reset_control_assert(tspi->rst); + udelay(2); + reset_control_deassert(tspi->rst); goto complete_xfer; } -- 2.20.1