Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp2503715ybx; Sat, 2 Nov 2019 21:59:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqw0/mIEs20ybHcxccIsK/j3jmUXI6RGAKmIkNAKni9unXsUmfBHBWb44pkzgYTqdNc6fiM4 X-Received: by 2002:a05:6402:1a50:: with SMTP id bf16mr701939edb.116.1572757197114; Sat, 02 Nov 2019 21:59:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572757197; cv=none; d=google.com; s=arc-20160816; b=Mu3Mnb+kcZNY7TPIpfFH/Wu2D3dDH/uyZLKS40tsH4xyTpdMg9v4MlpCPPXzi5YfC5 1WiVYFaS1TZ4Aw+V6dENkfM3SmcgZvutqBDJJt++p4IZ5TKcprpl09WNPSj140FTpj/m LigMjL8nk4MUAsdexBNSKPC6uTTxDnM/fzfN4t+jYl6bEwQR/bY2Eg9DA/e4+lCa4R+e OiBaYTl4VabC/fZj/WHrG6GRbl/+j4lqCwWtM55lGI5AwrhHgVnZjZNYjGWFQdO4P5p2 mHTn+b/mBHVdi4mDdUVrRbNIm9cESmK2i7LrOOImjUUQk0upY6DUVUUdYyhLqb+4i2kC UamA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=eQOK2cr7QQVXxz1hkap0ng1/8bApAedqdx73NBM++MI=; b=KVdIAOn6f16IfLIKv3g6jwSpIOcwox8S/AuwaRsWgG9AQ0TI/qG/dyNVzM/T2O8vU7 QuYBeDV+Xqf2lhSePb4APLzt28p1eIrpBCpBVm9E9jyW0b/hzskIJHntrdbV0EaT/63J VhEIT0l7HSOURE+Sq6BHjPljSVGb/Nc04hCI0G+jK0pkuXhKW2fhCIYVRxTzuXxCGXnX cTs63/GQS0F7PTB1iIByZsdsh8RKDfAdKFdCTdSqZc5uK+nSZomsVfR2fmOBExsRPdPL YcHVNZomoZrF7M2OgE1IMzabh7M7UQ5A4NojnplKngBGTRSc8Ocw77wYp9y5XcQ1s7px Q4bA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="V/I69N0+"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j43si4714675ede.239.2019.11.02.21.59.33; Sat, 02 Nov 2019 21:59:57 -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="V/I69N0+"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727366AbfKCE4R (ORCPT + 99 others); Sun, 3 Nov 2019 00:56:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:53278 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726343AbfKCE4R (ORCPT ); Sun, 3 Nov 2019 00:56:17 -0400 Received: from localhost (unknown [106.206.115.146]) (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 F1C7220848; Sun, 3 Nov 2019 04:56:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572756977; bh=LNDBIGrezfGTuxdh0E7VEudgND+qq4oiCQ1SZqWL0Mc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=V/I69N0+C9oVDKL7HN9+0fKDiBaDsDsasQC9P8sMi9jalbpYL7ZllA/HXhYQEdAvO 0ZPXGRHtRXFtQwiI8I8JF3HBGupOzfho0vOE435xH/7PKZnc5LMJpDr0Z8JeGgFdPK +6K4W2ZUsZbnsyMgci6mMGOZ8nKizI7GbalGYUoc= Date: Sun, 3 Nov 2019 10:26:04 +0530 From: Vinod Koul To: Pierre-Louis Bossart Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, tiwai@suse.de, broonie@kernel.org, gregkh@linuxfoundation.org, jank@cadence.com, srinivas.kandagatla@linaro.org, slawomir.blauciak@intel.com, Bard liao , Rander Wang , Ranjani Sridharan , Sanyog Kale Subject: Re: [PATCH 1/4] soundwire: sdw_slave: add new fields to track probe status Message-ID: <20191103045604.GE2695@vkoul-mobl.Dlink> References: <20191023210657.32440-1-pierre-louis.bossart@linux.intel.com> <20191023210657.32440-2-pierre-louis.bossart@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191023210657.32440-2-pierre-louis.bossart@linux.intel.com> User-Agent: Mutt/1.12.1 (2019-06-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 23-10-19, 16:06, Pierre-Louis Bossart wrote: > Changes to the sdw_slave structure needed to solve race conditions on > driver probe. Can you please explain the race you have observed, it would be a very useful to document it as well > > The functionality is added in the next patch. which one..? > > Signed-off-by: Pierre-Louis Bossart > --- > include/linux/soundwire/sdw.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h > index 688b40e65c89..a381a596212b 100644 > --- a/include/linux/soundwire/sdw.h > +++ b/include/linux/soundwire/sdw.h > @@ -545,6 +545,10 @@ struct sdw_slave_ops { > * @node: node for bus list > * @port_ready: Port ready completion flag for each Slave port > * @dev_num: Device Number assigned by Bus > + * @probed: boolean tracking driver state > + * @probe_complete: completion utility to control potential races > + * on startup between driver probe/initialization and SoundWire > + * Slave state changes/imp-def interrupts > */ > struct sdw_slave { > struct sdw_slave_id id; > @@ -559,6 +563,8 @@ struct sdw_slave { > struct list_head node; > struct completion *port_ready; > u16 dev_num; > + bool probed; > + struct completion probe_complete; > }; > > #define dev_to_sdw_dev(_dev) container_of(_dev, struct sdw_slave, dev) > -- > 2.20.1 -- ~Vinod