Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3867717ybz; Mon, 4 May 2020 11:10:42 -0700 (PDT) X-Google-Smtp-Source: APiQypI7wgjukbmChO18cfe2Wr0UwVnkPZC0jU1uZ+vsyXjgdvjt8eUyIhtJdwqqjv8WlDwI5Jk4 X-Received: by 2002:a17:906:da1b:: with SMTP id fi27mr15721166ejb.194.1588615842660; Mon, 04 May 2020 11:10:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588615842; cv=none; d=google.com; s=arc-20160816; b=N30LIGiIGLzHxDWuX3ZT6zZn+qUKV0ywqZ31oiqJWagd1+jhJczVPqaDX7kq1hDIsZ 8pKqOEdySVdrWBQpYxcYB/jojxq0NKdnqGUwOjrA9nSUhiQKNDBY8LEn8GCmMJjD2ah1 Aq643XFrLcFJqw3SmSBaAqX9jQN4ObOKO4xU3DTGBfOwSFeScMHn4VvVRedTmx7GVAdf /s79q3hujLTMdtq+e0Nfl344s9Rh8qwSehtDRKCwk6riQwUecfmwD+s+WVr5MzA07Aky SpSovRUpFJYDcACXrouanxZFnVTtPOTuk3Sep6xSWrHuYKmWLssQ1EV/6vlNI/eV6iu9 Q8QQ== 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=cwiskaa34u3Ba5woas6hOUQZRoY52La4RFzRgnjWzEc=; b=yvfOpTdmHbXRYRvjhATI0ZSILK6RJZN3UJphm3m1etfsYrwXCn/1DhahKIcM/z1jbC rYR4q4oZSOZbnSA4IvYmvudpaBRTUXySiq1iALNBHb5oBrNXo1NV/NUz4EUVx153t/2B heNQAtzPC7/kA6i18XUBfVCodGCAi6ZtFbNmzMPtfCHg9j2z8sFrtI4Rd/d8Ts8UcbGm tsafLNdYReHUuIWs7yTz9Gf5TA2ikde7L9UnsDy0S/g1XIaGa5riDGWzdYXrtg0sYdLv zinhMuVOTCpNaUoA3oi8nDPHkJTlx+r5TBGyz8qK7P13Oq5q7OyLJw1R6mDnU1Pt5otK wyhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=H9Cq5BuT; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l9si7074747ejc.237.2020.05.04.11.10.16; Mon, 04 May 2020 11:10:42 -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=@kernel.org header.s=default header.b=H9Cq5BuT; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732182AbgEDSHo (ORCPT + 99 others); Mon, 4 May 2020 14:07:44 -0400 Received: from mail.kernel.org ([198.145.29.99]:38678 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732176AbgEDSHm (ORCPT ); Mon, 4 May 2020 14:07:42 -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 278F320721; Mon, 4 May 2020 18:07:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588615661; bh=bJ2l/CHYhXqqCQmXxTph5G9oI6DoxV3kjVdO3Qi3s38=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=H9Cq5BuTeyKKghy+aCMQBB3+JBNn2GYhUZsOsolf29jWS0pdWH0io7nRtUiskmeRD 6UxEcmPo0c2ug3+6a4yDvh3tMXqeVks2S1tlMSTpUPL8dasD9jV9yE/7IlB8xI8gjI doByrODGPO6/hil2Ma/aHtRyPEo0EJ+iOWzhXOhs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Seraj Alijan , Andy Shevchenko , Vinod Koul Subject: [PATCH 5.6 71/73] dmaengine: dmatest: Fix process hang when reading wait parameter Date: Mon, 4 May 2020 19:58:14 +0200 Message-Id: <20200504165510.510085799@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200504165501.781878940@linuxfoundation.org> References: <20200504165501.781878940@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 From: Andy Shevchenko commit aa72f1d20ee973d68f26d46fce5e1cf6f9b7e1ca upstream. If we do % echo 1 > /sys/module/dmatest/parameters/run [ 115.851124] dmatest: Could not start test, no channels configured % echo dma8chan7 > /sys/module/dmatest/parameters/channel [ 127.563872] dmatest: Added 1 threads using dma8chan7 % cat /sys/module/dmatest/parameters/wait ... !!! HANG !!! ... The culprit is the commit 6138f967bccc ("dmaengine: dmatest: Use fixed point div to calculate iops") which makes threads not to run, but pending and being kicked off by writing to the 'run' node. However, it forgot to consider 'wait' routine to avoid above mentioned case. In order to fix this, check for really running threads, i.e. with pending and done flags unset. It's pity the culprit commit hadn't updated documentation and tested all possible scenarios. Fixes: 6138f967bccc ("dmaengine: dmatest: Use fixed point div to calculate iops") Cc: Seraj Alijan Signed-off-by: Andy Shevchenko Link: https://lore.kernel.org/r/20200428113518.70620-1-andriy.shevchenko@linux.intel.com Signed-off-by: Vinod Koul Signed-off-by: Greg Kroah-Hartman --- drivers/dma/dmatest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/dma/dmatest.c +++ b/drivers/dma/dmatest.c @@ -240,7 +240,7 @@ static bool is_threaded_test_run(struct struct dmatest_thread *thread; list_for_each_entry(thread, &dtc->threads, node) { - if (!thread->done) + if (!thread->done && !thread->pending) return true; } }