Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1176444yba; Thu, 9 May 2019 12:02:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqyfjvyskcoRJ/A1+c5z47yKwCzIysr0QxhPlV7y8i7voIoLZKn3X3q+Rr4lXmWJTyz5oeKt X-Received: by 2002:aa7:90ca:: with SMTP id k10mr7698373pfk.20.1557428527030; Thu, 09 May 2019 12:02:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557428527; cv=none; d=google.com; s=arc-20160816; b=K7OytP6XLg6LGlkLrjAVUM56CBQs6oicr48xV6nWSqpPdeLbuRWKYa2pnQDTUl06SG WWiQ/q8DFtvN4nXsimYg1E3WRVaHMPSBHlsbk4zD0+4qh4sdlBuXLoYglI/xejGzbKuN 2Czk3kGWDBlOt6Puj6mKdBQmdIMHcD0BWPOzS3+cEStWfdl+qpX0ADhDNssudlFSvXQW UfVYaeVMXmblo4Q96LrmNqRTzpEHopfIoOz9Wtlt77VV1NjTvzKXwyvRirlXFto/lttI RItCXzppEuEcByjIQVcInTTnDsnxBblr3uNAk/B2EPs+cEoZ88DjVnYvuFCiUjQGtfel w1dg== 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=N9pLyN2gXE6tHVUl0Ga2cP5oNp96bN7CAuJyc4bODJw=; b=bBkBbXuhfSl1JU+qZZapBTjJq4xoEhCQ2Vn1NDXk0uS+GSUuFDH0phaVDEsxQqHMEw rVMm3CThl9j05IYiv5SAKL/E9N+APyamswbkJ0iGxmXDgVD3SlvNoqXSFI2XofO7UMwN lCzoS08htq/tKYRIXELUefuDycViK8Dzd6kpbvIl/fqUCuUbD25qIZm0xBe4cl61gMob rh5w8XGbbUe1gVt0Q5gTYFiZS+AD8dvpK9AsSrqzASxZEDDlNcdKdvAODGx1yJsu8ha5 /GK0S/qlqQ0pEekRz0r7l9uyMvvsF6RZIkctjIM+Q8ECVW4/T7jnK6a0Pr3xfh+uIgKb jGkA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=qTkNNysO; 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 j9si3954961plk.125.2019.05.09.12.01.50; Thu, 09 May 2019 12:02:07 -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=qTkNNysO; 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 S1726682AbfEISvj (ORCPT + 99 others); Thu, 9 May 2019 14:51:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:45360 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728569AbfEISve (ORCPT ); Thu, 9 May 2019 14:51:34 -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 C1BC3217D7; Thu, 9 May 2019 18:51:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1557427894; bh=bHoOnIlsyTPfLVH1YTxoNF1t9ZcKKZiYw2OEkn5sGCU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qTkNNysOThHnZ2p2OD13+CsLMZeouHGzB2bW6S3Mat+PXzXFcGqxKfbIXD8G5T7nh 2L2fYHBrka/yFl5Og+D1zIzBS+R0MAGbPeY6qJwbj3wsucZv5WPIYDE+ZDf28cUQ/v 9GLrjOa1pHWdEd3hMyr6LEEy1wm/DTVfwl36QeDo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Wentao Lou , =?UTF-8?q?Christian=20K=C3=B6nig?= , Alex Deucher , Sasha Levin Subject: [PATCH 5.0 44/95] drm/amdgpu: amdgpu_device_recover_vram always failed if only one node in shadow_list Date: Thu, 9 May 2019 20:42:01 +0200 Message-Id: <20190509181312.518662004@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190509181309.180685671@linuxfoundation.org> References: <20190509181309.180685671@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 [ Upstream commit 1712fb1a2f6829150032ac76eb0e39b82a549cfb ] amdgpu_bo_restore_shadow would assign zero to r if succeeded. r would remain zero if there is only one node in shadow_list. current code would always return failure when r <= 0. restart the timeout for each wait was a rather problematic bug as well. The value of tmo SHOULD be changed, otherwise we wait tmo jiffies on each loop. Signed-off-by: Wentao Lou Reviewed-by: Christian König Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 7ff3a28fc9038..d55dd570a7023 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -3158,11 +3158,16 @@ static int amdgpu_device_recover_vram(struct amdgpu_device *adev) break; if (fence) { - r = dma_fence_wait_timeout(fence, false, tmo); + tmo = dma_fence_wait_timeout(fence, false, tmo); dma_fence_put(fence); fence = next; - if (r <= 0) + if (tmo == 0) { + r = -ETIMEDOUT; break; + } else if (tmo < 0) { + r = tmo; + break; + } } else { fence = next; } @@ -3173,8 +3178,8 @@ static int amdgpu_device_recover_vram(struct amdgpu_device *adev) tmo = dma_fence_wait_timeout(fence, false, tmo); dma_fence_put(fence); - if (r <= 0 || tmo <= 0) { - DRM_ERROR("recover vram bo from shadow failed\n"); + if (r < 0 || tmo <= 0) { + DRM_ERROR("recover vram bo from shadow failed, r is %ld, tmo is %ld\n", r, tmo); return -EIO; } -- 2.20.1