Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2535359pxb; Mon, 19 Apr 2021 07:58:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwPpiovkWZely7lNo2Pp4TwTvGzjxjel2C5XBLKU1E63bvsaqWEsIWTqjQilutBL4HqkL+y X-Received: by 2002:a63:531b:: with SMTP id h27mr12156621pgb.395.1618844284713; Mon, 19 Apr 2021 07:58:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618844284; cv=none; d=google.com; s=arc-20160816; b=qMWwq7C10cIj9FKr8SX5gfTyL6iJe5OkoiyijVQkFZvc00bs+lfZ3qbE8zELzNZLAu V5TZ88lj34NFIOGCEkd9rxC6fwyVG3pKfN2XthOg4jRdcI1Fm99QG6MLMRXkVNpVxxiv 08yXvjlUjEjCU4nwokeYg/oWASyOI6XfdOBp5gfsDE7c0l2G404gUw2cg63tzPCWsW0l hFH2LfJWDoKc/G1wQ6JyAXfQosXB+NAF3SPkrxyxYbs0U+ojfEn5XH46xzpBqwBPfFff yZRpqYH4TiXvMWm7EGJtyIuwZhbwshluayVgOeZVxgNLbQ7wB35+C1pzttfUlqGuUkXH LD2Q== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=2N1mpN0zq1l5zWmWKi8/AnduMwpEDTWZHALIrE55IOw=; b=ZLp5Jdnnw6FF2x3tJ9/cbSOP0ojTC8qE43wgeFObYji+sV2Kjddlqz+YagenZR/F0X RtZgxWB+Ij2R0UJ5DMbr8FBc03Tj0RPc+s5XgjrHlIza6/xO/HL/R3gNiLiGS1rwun1Q e/1QVQFjY0//BUboO53RgLh9pcQ2RsxLtUCvtm6J78XgLD2kmnXhvMZAA86SQuL7S4U+ HTeb9cGenKKdDJQHgEKK66HQkEoyfCyBCRd5kxS1EgOFj0Cb+4RlntXMWP2ktp2QhaW6 E//cMByrwMl/qkRK50tHJfJ56RLzAEfVduQWZfJ2nI8fJNMDr9Q4lZImIeRihAMI/crf g+/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=EJ73KC4+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q15si18787630plx.202.2021.04.19.07.57.52; Mon, 19 Apr 2021 07:58:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=EJ73KC4+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239623AbhDSNJ3 (ORCPT + 99 others); Mon, 19 Apr 2021 09:09:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:43914 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239513AbhDSNJG (ORCPT ); Mon, 19 Apr 2021 09:09:06 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C94EB61246; Mon, 19 Apr 2021 13:08:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1618837715; bh=9fit+ZwLq+cZsxsHwump4B0ialnZx1ujVbYkJm6BlLo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EJ73KC4+9F/Ps7T3Q6cOYr7uGlgHifPfMa4WftdxPC1DURepFIDg3MRa3oG0IWcjk QJ19raYmR/KZCXe1UhJvfmUj6LLuZeXOnZraTU8jKHvHd4KM2HRnxfmcy5A/buhGA2 TPCrUieZN0A7TWNv9B1x+oSYNvAfwIvN6Qwf0vLw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sanjay Kumar , Dave Jiang , Vinod Koul , Sasha Levin Subject: [PATCH 5.11 007/122] dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback Date: Mon, 19 Apr 2021 15:04:47 +0200 Message-Id: <20210419130530.423797059@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210419130530.166331793@linuxfoundation.org> References: <20210419130530.166331793@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dave Jiang [ Upstream commit ea941ac294d75d0ace50797aebf0056f6f8f7a7f ] Current code blindly writes over the SWERR and the OVERFLOW bits. Write back the bits actually read instead so the driver avoids clobbering the OVERFLOW bit that comes after the register is read. Fixes: bfe1d56091c1 ("dmaengine: idxd: Init and probe for Intel data accelerators") Reported-by: Sanjay Kumar Signed-off-by: Dave Jiang Link: https://lore.kernel.org/r/161352082229.3511254.1002151220537623503.stgit@djiang5-desk3.ch.intel.com Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- drivers/dma/idxd/irq.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/dma/idxd/irq.c b/drivers/dma/idxd/irq.c index a60ca11a5784..f1463fc58112 100644 --- a/drivers/dma/idxd/irq.c +++ b/drivers/dma/idxd/irq.c @@ -124,7 +124,9 @@ static int process_misc_interrupts(struct idxd_device *idxd, u32 cause) for (i = 0; i < 4; i++) idxd->sw_err.bits[i] = ioread64(idxd->reg_base + IDXD_SWERR_OFFSET + i * sizeof(u64)); - iowrite64(IDXD_SWERR_ACK, idxd->reg_base + IDXD_SWERR_OFFSET); + + iowrite64(idxd->sw_err.bits[0] & IDXD_SWERR_ACK, + idxd->reg_base + IDXD_SWERR_OFFSET); if (idxd->sw_err.valid && idxd->sw_err.wq_idx_valid) { int id = idxd->sw_err.wq_idx; -- 2.30.2