Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp1099305ybg; Thu, 4 Jun 2020 00:36:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy7pKNzBaWLZ7IZ6ci+Gzc3dW3+5yBiFtuMrKVRhTCjYLM0Roa/P9LtOQifntgVNiyU7tE4 X-Received: by 2002:a50:aca3:: with SMTP id x32mr2986906edc.194.1591256188688; Thu, 04 Jun 2020 00:36:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591256188; cv=none; d=google.com; s=arc-20160816; b=I8ZOX7IoBzFeXDzAw0B8smJoUtP7Iyw/CDQUfC10jqU8PrIaPzcT3BIy6U3b/ZoHV8 PPBkiPJegyz7ETqkznhIBfoLpYN7XQ6cSJf9PgAqLzs1I0H/M5yx0f+dWqKCQHSUYQcv yCsBxFErg1CcQ4olP9v7CWrW2IFwxSxl9M/1XVNSf/RJF1chq7Xc8BKbCpFuXk7C/Pkl 6b+Y0KKYsFIRUgsv2tW/fjY5rmmGEcnzEU8v224+mdChjKDQLNdXoi7WZFPhqEaTCwBy SkPAKlwAfHj32qWciIxw8keBmsk8t4grbgzB0fI+V5B2kz6SwQB6dPhJgwunMkkHFiaP hdoQ== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=ScSOSv2NtMOfy/k7kNuH62249T1/AmnJUmlOdYJpg9M=; b=qy6JNKW1yk4/Xode5Hfj5/CXBRC9J1KsBMIPWVOly3Q5byp7LlN9GbfSDwdETuf74M pzGH26kHo5le6jILXxBGOQymEM4+7WMdNxw+Rh2uTclu7ds6nTR90aA7S0BL6BKVn1cj Yj+uCc3SSZyumLU6vlF4J6LweaQBCm1TSWPi9Ap4NzpArsRm2grDt/9If6eUx6v82Q/q ElkJxzpr+NpW4f8ETeQCnDOOvvqrLMz5b+YEqa8vIFl9dCiqP5VD7DZH7nthR7RYMwcS m7uA5pi/XrMv7oeG5AJsweDRcyZDUsaGBLiYgI41dfv+k8RCYYSSgWoSgC5XZXPMM05p cuEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="XY/MGP0x"; 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id oi20si1162724ejb.571.2020.06.04.00.36.06; Thu, 04 Jun 2020 00:36:28 -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=@redhat.com header.s=mimecast20190719 header.b="XY/MGP0x"; 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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728003AbgFDHbs (ORCPT + 99 others); Thu, 4 Jun 2020 03:31:48 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:35783 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727768AbgFDHbs (ORCPT ); Thu, 4 Jun 2020 03:31:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591255907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=ScSOSv2NtMOfy/k7kNuH62249T1/AmnJUmlOdYJpg9M=; b=XY/MGP0xDTzKnmsh8orfkQCDBpZyFPrEdWbY4FD5qpjbUiRG0JGPx4g2I9f99ktS8C516J eLgCEhnkFnn6BHpKOJ0MoBpGXuJsMS2vMmfeszhrEeB90sjyq48JmzFTDjfmx8TSiwDSN5 8Dwc4D39d5EPgxy6x2fSjNnEdMHMoIs= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-382-nCNyXAvDNe6LobAjFOmQpg-1; Thu, 04 Jun 2020 03:31:45 -0400 X-MC-Unique: nCNyXAvDNe6LobAjFOmQpg-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 53FA119057A1; Thu, 4 Jun 2020 07:31:44 +0000 (UTC) Received: from cantor.redhat.com (ovpn-113-227.phx2.redhat.com [10.3.113.227]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8DC9C2DE74; Thu, 4 Jun 2020 07:31:43 +0000 (UTC) From: Jerry Snitselaar To: linux-kernel@vger.kernel.org Cc: iommu@lists.linux-foundation.org, Joerg Roedel Subject: [PATCH] iommu: Don't attach deferred device in iommu_group_do_dma_attach Date: Thu, 4 Jun 2020 00:31:42 -0700 Message-Id: <20200604073142.74701-1-jsnitsel@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Attaching a deferred device should be delayed until dma api is called. Cc: iommu@lists.linux-foundation.org Suggested-by: Joerg Roedel Signed-off-by: Jerry Snitselaar --- If you already have thrown a patch together, then ignore this. Also feel free to swap out the signed-off-by with your's since this is more your patch than mine. You can put a reviewed-by and tested-by instead for me. drivers/iommu/iommu.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index b5ea203f6c68..d43120eb1dc5 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -1680,8 +1680,12 @@ static void probe_alloc_default_domain(struct bus_type *bus, static int iommu_group_do_dma_attach(struct device *dev, void *data) { struct iommu_domain *domain = data; + int ret = 0; - return __iommu_attach_device(domain, dev); + if (!iommu_is_attach_deferred(domain, dev)) + ret = __iommu_attach_device(domain, dev); + + return ret; } static int __iommu_group_dma_attach(struct iommu_group *group) -- 2.24.0