Received: by 2002:a89:2c3:0:b0:1ed:23cc:44d1 with SMTP id d3csp665332lqs; Tue, 5 Mar 2024 12:36:17 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCX3Bl9dGMlAK4wKYx8tEsYCo8L2nFHB6mdRiE56fqPlzBkyLlpX1sHR707GB291dsQdG20PSnOkYF2FBYy72k5JjlZLSGesEWOC9q6QkQ== X-Google-Smtp-Source: AGHT+IETNvXfxuWzGLqkU6tPiNbABJOKczpP5QZpgBOf5X+oPk7D5vfolXJrhe6uvXXxs16arepy X-Received: by 2002:a37:c242:0:b0:787:bb6b:f024 with SMTP id j2-20020a37c242000000b00787bb6bf024mr3059981qkm.60.1709670977108; Tue, 05 Mar 2024 12:36:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709670977; cv=pass; d=google.com; s=arc-20160816; b=gsg1w47bybSHB5NJ7sQu14SKhiXAkf/RqWV7+rIllweG5qVo8kROto6nB5Nl6G//2c WwPYFjATKzt2DlOrFigUb6cbsosEGfQEflfeNvCF42hlX7KISeWqZxSqp8h1nmC+/30W IZzMXW1HsSVsVSgCuEEe3OcRDisBrdIjb4auZ0Af1vwmDuqoiYiQopt8Ph1FLL9hXgw9 AS6RNCuK7gL/5ZwjClRUpy9owUcKyK8+RCRV0hk+2SYPTxeO2I62knYD2zSK6mleuTt3 Dsuf/e0DyOyW0Flm2IxqXF8xdXND+KyJnBLD6GufTPhThLwp5OlQqYhrCYDjyruxS17Q vX8Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=QWII9KL0aIa47qOshj6cnyrnk4IdQFQfKpUZL8v8Yz0=; fh=Lt7ERQXsORBJvnQChaTPXLcfUax7BN/Vcr/GdYHaiac=; b=CLMbqrRoVp0kK7+ZMpxxOab+8ritEb4GuIOhKf+D8JUdPgsfcn2GLgaC1H9i+wSSQS hoJEA7NVvZ/9O1gmpYcQ/lV2Zt8NmumSrQhUZ9X8VyultzhjDmeA4HYORrVjs4hbmuv8 n4APmVVcfAA9IXVJHpWnXlnYxhX2FAXAToE6K8cG59+SHrjzTycojMojWf7N5TD4SFoW o+qO/Mfb6z6U9jOIuCUvRI+RsQCqJwCh9tnazUiPAugdxMpsfrj+OUq0QHzIHdzhBrNO bv0zUkWlrOo9gzD9EeqYLFrHfKlW8J/0gmrrGOVh7NF9DLQQErqlH+2ELVo8zvhO5Rk2 3dLg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=Bgz3QteW; arc=pass (i=1 dkim=pass dkdomain=bgdev-pl.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-92876-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-92876-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id pc34-20020a05620a842200b00785d68e7bdcsi12726540qkn.205.2024.03.05.12.36.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Mar 2024 12:36:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-92876-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=Bgz3QteW; arc=pass (i=1 dkim=pass dkdomain=bgdev-pl.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-92876-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-92876-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 80BB91C22C20 for ; Tue, 5 Mar 2024 19:11:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4833624B59; Tue, 5 Mar 2024 19:11:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="Bgz3QteW" Received: from mail-ua1-f49.google.com (mail-ua1-f49.google.com [209.85.222.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20B461C2BD for ; Tue, 5 Mar 2024 19:11:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709665890; cv=none; b=srt+JsOeojB8vHFmVOzpXqnvYirqrrEXlQirnrcC1KxKfKVgHKMCMmj05Z9nuwG4NZ+gLrCAUgmmbaPA+RA3yGIUUAiIuMj+aA9eLupJCUsQSBhffqzq4YKWxttj9IDqX5xbphkYqyEONfN56X/n7H7IA4bDCkkIrOhKrbE8ulg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709665890; c=relaxed/simple; bh=EmazSDYJNF/9+QGKc0N0wE9a8wCKrzuioeOJExzJZiE=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=k2VbC5sz7RGMrikPBtPA6VnTKKwO+9LGNSu9AAlIMrOMteZT7LHz4tpzpZWPEn1f4/3Oa3jsyY795rbrQ3o7krainh/iHvf3fwKO+gE+gpF+C/EyLem/NAoSeqk/n1t2VxrsqXzsSYfENz2R2hKsVJcgRQ5duhbmsC0KRYe40DA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=Bgz3QteW; arc=none smtp.client-ip=209.85.222.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Received: by mail-ua1-f49.google.com with SMTP id a1e0cc1a2514c-7dad83f225cso33086241.2 for ; Tue, 05 Mar 2024 11:11:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1709665888; x=1710270688; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=QWII9KL0aIa47qOshj6cnyrnk4IdQFQfKpUZL8v8Yz0=; b=Bgz3QteWITe0FMHwt4rXl34mdez8c5wynCZdBMNiVd1X9O1IGvvHYI9I1g1pOo1LrT aajD0w+lNpo/U073GZN3/UCuqEWAo7YdolTZqkwNU/P82WmWaD9TU71w+KwcZYdujLnj 5slbDTKE8P0XR2GjthSmT8nXZG+Ni7K09I3QQW4hf2nwwBypqBAAkAlE70fiZwUSVDyz 6Gh9VWU6yko5etBIcngA/8xn8EdFuA/NyeNbuMw6HeGbaUyGUcL86ZwXaX2bt5ZKzdy+ s+V6ieoI9A1d0wsi/OYLHy3uhmYZDEjWylR0qDNnLETuEUUxXCm/Jx9o5sEp7SXBSks1 CUDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709665888; x=1710270688; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QWII9KL0aIa47qOshj6cnyrnk4IdQFQfKpUZL8v8Yz0=; b=HTFKlIqOaeqJeTm4gs2AmnoMJkiC2I8YmKKzc6cpn+c91vTvC5znZH/H2v38KpXCvT zfuDsMYbellM968mkwDKY+MKQHNZCMnW7448Q1+0cOuk9Kt5wJrpf+IyZ0o1BfN4/JEX v1ad1H9lSKdFQq3UQJNKAUxsNrCi0IxXV5Mc0KUTbubZLc3ZLdulT+ZNL9QSX9LiLF65 dzCIgfbz+XV/EByYw4fh2QVosEhu9j2ZX3cbIelRnJpuwUiW8vAHWKDMc9bUOlSN8FuU 3RCl2K1iX1Z6GUDDj4lTIMsmGObHVWab/XZktw6tD0MtYeR8tEjMned5GKG6uAI0xy/E Eq/A== X-Forwarded-Encrypted: i=1; AJvYcCXdldbUu/xrH3Mh08OaybdKKTRN4awbLVUpov5dfn4uddZ6xMkE2Fx1GxNGMqHExK11hiMipDxfZLKWdOEtQFoVut9ScSwE0imDSABQ X-Gm-Message-State: AOJu0Yzs64rFPUX0aOJaPBrcd+G3GXtQvHNDAr9IrUQlOpNgwRIjdwu4 M06BiGLACaUDoivTWLke8KPYD/okpcXb7LQVOd1P7MI5srvrXmFavkkssvE124JKlwTc8gCbjY5 g37K9sz9qTFvxS1Xz1WmHMiUe2CWZhGAkMsSNCKfujUzj4AcDw2Q= X-Received: by 2002:a05:6122:e46:b0:4c0:7756:547c with SMTP id bj6-20020a0561220e4600b004c07756547cmr2101976vkb.6.1709665887732; Tue, 05 Mar 2024 11:11:27 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240228-multi_waitq-v1-0-ccb096419af0@quicinc.com> <20240228-multi_waitq-v1-1-ccb096419af0@quicinc.com> In-Reply-To: <20240228-multi_waitq-v1-1-ccb096419af0@quicinc.com> From: Bartosz Golaszewski Date: Tue, 5 Mar 2024 20:11:17 +0100 Message-ID: Subject: Re: [PATCH 1/3] firmware: qcom-scm: Initialize waitq before setting global __scm To: Unnathi Chalicheemala Cc: Bjorn Andersson , Konrad Dybcio , Sibi Sankar , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@quicinc.com, Prasad Sodagudi , Murali Nalajala , Satya Durga Srinivasu Prabhala Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Feb 28, 2024 at 7:50=E2=80=AFPM Unnathi Chalicheemala wrote: > > Suppose there's another device probing at the same time as SCM driver. > It calls into SCM and triggers WAITQ sleep but waitq completion > structure may not be initialized yet. > Fix this by moving initialization of waitq before setting global __scm. > > Fixes: 6bf325992236 ("firmware: qcom: scm: Add wait-queue handling logic"= ) > Signed-off-by: Unnathi Chalicheemala > --- > drivers/firmware/qcom/qcom_scm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qco= m_scm.c > index 520de9b5633a..c1be8270ead1 100644 > --- a/drivers/firmware/qcom/qcom_scm.c > +++ b/drivers/firmware/qcom/qcom_scm.c > @@ -1854,11 +1854,11 @@ static int qcom_scm_probe(struct platform_device = *pdev) > if (ret) > return ret; > > + init_completion(&scm->waitq_comp); > + > __scm =3D scm; > __scm->dev =3D &pdev->dev; If another driver can actually probe at the same time then this needs to be moved to the end of this function, the `__scm->dev` assignment must be done before the `__scm =3D scm` one and it must use WRITE_ONCE(). Bart > > - init_completion(&__scm->waitq_comp); > - > irq =3D platform_get_irq_optional(pdev, 0); > if (irq < 0) { > if (irq !=3D -ENXIO) > > -- > 2.25.1 > >