Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1015084yba; Thu, 4 Apr 2019 02:28:18 -0700 (PDT) X-Google-Smtp-Source: APXvYqxJ4SVT+Fa30O/LXnx9Zn/V6sTb+aBTmEdgmKBjn6Fnn/KONhFOMuIYbnWxaiyE6pVCENca X-Received: by 2002:a65:5c8c:: with SMTP id a12mr4806212pgt.296.1554370098212; Thu, 04 Apr 2019 02:28:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554370098; cv=none; d=google.com; s=arc-20160816; b=VWrO+IwZ8hVraAf+4WX37chRENtZkEYwwL6BAhFddFY6u2LvQ7X4XqiF+N4FbdqAz7 a1mCx5mCMBQfxf+KuPK34kLB3p2PLRBdDZ9EYY9XrK72IXNZJEajecAzKHNzzKMnl9It pKVpr8Ig6FvqOKvF03qxUfbQ6KC49+7jH/pzxOZ/7xlRCxvCr2lS6gUiwJoiEoLMeO5i e7EVwEhC/nkX4S5VKrXEf4oEKubjCrnNlmgQz7RwQ69EfmO5AbXHEoYORFd3QLtAgzWX a2/Z2/2A269GoGgMu054rjv77sGcMTxV812OMVKCZsUKE1SXfuyLPZH+wWRlC/yDXLDA PXTg== 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=Y0ZTsvOoJSvdCJTomYCedRegmGil8EEy6MNzxvI/ShM=; b=hNi5tcOw8aKWoN7fHMnlCOILOpg/6uhS4nvCD3cMVEQ60PIMa21RVPDM6NqwrDqaA7 mS4aGzMjd7qY7koRfQ1B1/3sWJhPjnTKMgjeqhauNndfef/tZ6Qmql6Ebogmmnohdbnw s1SYnpwRdr3NWTrNDoH/67its4HsMeG/nJGontCuknKJguhKCo9t/rwpNbjlQC8R0g4D rUnIS4n9eQ4oqV285WO6cxotZmR/O60BTuFdsGMz4mBFo6DPZxw/sdoeUq/7UnbGjPZa HgZ4h8SZF8WdbE4/bnwZEbXytUm4K8zWFr9ZOAySx/NIU2lZ05BLpqjUnESYZHBzs8mb I52w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BSKgmpws; 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 u5si16654549pgl.36.2019.04.04.02.28.02; Thu, 04 Apr 2019 02:28:18 -0700 (PDT) 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=BSKgmpws; 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 S2387572AbfDDJ1Z (ORCPT + 99 others); Thu, 4 Apr 2019 05:27:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:52686 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732939AbfDDJMf (ORCPT ); Thu, 4 Apr 2019 05:12:35 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 3B19020820; Thu, 4 Apr 2019 09:12:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1554369154; bh=JP3RgJAahmTvqcRyfwyhb8P7eieox5ibCRIp1xRoRHo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BSKgmpwsEa5S4MrISNLWoEsjCP4/DjW67cjSF9XHz9SfIAL1lZJVl0Tv1HVHxYUBP YQyutxdZ2zSSdYuWy454u+oPgnevR07HF74hQcaBpLjZzqrmkrpCdrXFy344NY/L/U rSgwczIsT9UNky29oQxCc7WkRDuTZhwKO/5f4sCo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Karsten Graul , Hans Wippel , Sebastian Ott , Martin Schwidefsky , Sasha Levin Subject: [PATCH 5.0 104/246] s390/ism: ignore some errors during deregistration Date: Thu, 4 Apr 2019 10:46:44 +0200 Message-Id: <20190404084622.786876458@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190404084619.236418459@linuxfoundation.org> References: <20190404084619.236418459@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 5.0-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 0ff06c44efeede4acd068847d3bf8cf894b6c664 ] Prior to dma unmap/free operations the ism driver tries to ensure that the memory is no longer accessed by the HW. When errors during deregistration of memory regions from the HW occur the ism driver will not unmap/free this memory. When we receive notification from the hypervisor that a PCI function has been detached we can no longer access the device and would never unmap/free these memory regions which led to complaints by the DMA debug API. Treat this kind of errors during the deregistration of memory regions from the HW as success since it is already ensured that the memory is no longer accessed by HW. Reported-by: Karsten Graul Reported-by: Hans Wippel Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky Signed-off-by: Sasha Levin --- drivers/s390/net/ism_drv.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/s390/net/ism_drv.c b/drivers/s390/net/ism_drv.c index ed8e58f09054..3e132592c1fe 100644 --- a/drivers/s390/net/ism_drv.c +++ b/drivers/s390/net/ism_drv.c @@ -141,10 +141,13 @@ static int register_ieq(struct ism_dev *ism) static int unregister_sba(struct ism_dev *ism) { + int ret; + if (!ism->sba) return 0; - if (ism_cmd_simple(ism, ISM_UNREG_SBA)) + ret = ism_cmd_simple(ism, ISM_UNREG_SBA); + if (ret && ret != ISM_ERROR) return -EIO; dma_free_coherent(&ism->pdev->dev, PAGE_SIZE, @@ -158,10 +161,13 @@ static int unregister_sba(struct ism_dev *ism) static int unregister_ieq(struct ism_dev *ism) { + int ret; + if (!ism->ieq) return 0; - if (ism_cmd_simple(ism, ISM_UNREG_IEQ)) + ret = ism_cmd_simple(ism, ISM_UNREG_IEQ); + if (ret && ret != ISM_ERROR) return -EIO; dma_free_coherent(&ism->pdev->dev, PAGE_SIZE, @@ -287,7 +293,7 @@ static int ism_unregister_dmb(struct smcd_dev *smcd, struct smcd_dmb *dmb) cmd.request.dmb_tok = dmb->dmb_tok; ret = ism_cmd(ism, &cmd); - if (ret) + if (ret && ret != ISM_ERROR) goto out; ism_free_dmb(ism, dmb); -- 2.19.1