From patchwork Tue Apr 6 17:12:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Gardner X-Patchwork-Id: 1462922 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FFDcM2yxBz9sX5; Wed, 7 Apr 2021 03:12:50 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1lTpFt-0007kO-TR; Tue, 06 Apr 2021 17:12:45 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1lTpFs-0007ju-6b for kernel-team@lists.ubuntu.com; Tue, 06 Apr 2021 17:12:44 +0000 Received: from mail-pg1-f200.google.com ([209.85.215.200]) by youngberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1lTpFr-0000sz-Qn for kernel-team@lists.ubuntu.com; Tue, 06 Apr 2021 17:12:44 +0000 Received: by mail-pg1-f200.google.com with SMTP id v5so10657763pgj.7 for ; Tue, 06 Apr 2021 10:12:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Nkn4m42/56F/ZK0OvsJEV42pzrcm+bamzLUEsSbL0kA=; b=HYoMyu1z+bu3IDU0x2FV1nutTZohUnabP4vWaHZWtKt5Cp3qc6DYAJmZ2XPD9POD4j D14f0cC7ZDoON4c89YApyx/krd2VPu5sxxED/8IygfuQJRfjWgWtJLFHiCGgg2Z9Ibrn PdhvxO5vozHDcdz4s2cVRLjYeHIedPBiQcTU7M+ktIiRb8CfDErdB24+Ii6wNhgvTc+D ULUlNE5D9KLihl/qnGcSyjy5v2EiVdH8QmrLb+6+UugFmd27bvQbL6/UJVXYt49Yi6CM O9t8e6GF+uK8o9MWgRk3VFsqQ0DEQcw8LrYz+OEfw5Y0ulODJapBHAbkuxbKOHFfGjsr E52Q== X-Gm-Message-State: AOAM532j+tdWUbmkh/Dt2RFeYpwUnHXso9BrQtsEW/MGCj6CivPpevcu wA/kFP/ygfKWPMy+m5h7fj/aHggkPip5YDrYF0zm/UMXe+JXattHl/X4SjNBLUhXXw5M4S6HXwQ NF6uC7u62lPR8A7FQt6/xDbUB652R+STCkgGTlhZIZg== X-Received: by 2002:a62:fb14:0:b029:22e:e189:c6b1 with SMTP id x20-20020a62fb140000b029022ee189c6b1mr29328203pfm.31.1617729162180; Tue, 06 Apr 2021 10:12:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw4gmUcTmv6sAe/MQ2+N5I/3fe04HnXY1KtWmgI7q2l6EHfcYq1v6WO9KLfkH0STo32c31Pvw== X-Received: by 2002:a62:fb14:0:b029:22e:e189:c6b1 with SMTP id x20-20020a62fb140000b029022ee189c6b1mr29328195pfm.31.1617729161981; Tue, 06 Apr 2021 10:12:41 -0700 (PDT) Received: from localhost.localdomain ([69.163.84.166]) by smtp.gmail.com with ESMTPSA id 11sm19818774pfn.146.2021.04.06.10.12.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Apr 2021 10:12:41 -0700 (PDT) From: Tim Gardner To: kernel-team@lists.ubuntu.com Subject: [PATCH 3/6] iommu/vt-d: Move deferred device attachment into helper function Date: Tue, 6 Apr 2021 11:12:25 -0600 Message-Id: <20210406171228.14463-4-tim.gardner@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210406171228.14463-1-tim.gardner@canonical.com> References: <20210406171228.14463-1-tim.gardner@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Joerg Roedel BugLink: https://bugs.launchpad.net/bugs/1922738 Move the code that does the deferred device attachment into a separate helper function. Fixes: 1ee0186b9a12 ("iommu/vt-d: Refactor find_domain() helper") Cc: stable@vger.kernel.org # v5.5 Reviewed-by: Jerry Snitselaar Acked-by: Lu Baolu Signed-off-by: Joerg Roedel (cherry picked from commit 034d98cc0cdcde2415c6f598fa9125e3eaa02569) Signed-off-by: Tim Gardner --- drivers/iommu/intel-iommu.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index 9828f5167332..d234cb22369e 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c @@ -2447,16 +2447,20 @@ static struct dmar_domain *find_domain(struct device *dev) return NULL; } -static struct dmar_domain *deferred_attach_domain(struct device *dev) +static void do_deferred_attach(struct device *dev) { - if (unlikely(attach_deferred(dev))) { - struct iommu_domain *domain; + struct iommu_domain *domain; - dev->archdata.iommu = NULL; - domain = iommu_get_domain_for_dev(dev); - if (domain) - intel_iommu_attach_device(domain, dev); - } + dev->archdata.iommu = NULL; + domain = iommu_get_domain_for_dev(dev); + if (domain) + intel_iommu_attach_device(domain, dev); +} + +static struct dmar_domain *deferred_attach_domain(struct device *dev) +{ + if (unlikely(attach_deferred(dev))) + do_deferred_attach(dev); return find_domain(dev); }