Received: by 2002:ab2:1149:0:b0:1f3:1f8c:d0c6 with SMTP id z9csp2722029lqz; Wed, 3 Apr 2024 06:54:49 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXRhlFVLk0L94QiRBUUGjfgCn1Jb65Ypg4YWYjJ9gboMKU6coh1tINKs05xIA3xDdefvFQnBsOgBzwGi0Q7lsz/iZdTG/S8wqn2q5Wo3A== X-Google-Smtp-Source: AGHT+IGYfT0vkHZ8JyeMssdiJi5U8ItwFTpo2iM9xaxx8LlzUG7xPta7kwNm47jIGqFIrLLUWs88 X-Received: by 2002:a17:902:e747:b0:1e0:e8b5:3225 with SMTP id p7-20020a170902e74700b001e0e8b53225mr4317810plf.12.1712152489600; Wed, 03 Apr 2024 06:54:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712152489; cv=pass; d=google.com; s=arc-20160816; b=TUKBRMDoUCO/NYaLi/ZmbCPcUL5G/GkBX9xCQdMfpMvHA4qRQfuiOSnId5l8z1Uckf hLtwMfpZfQsaJsl4/8T7SYHwmAwalyGuUXKssFdj1yDTIO+adU/T2hDKkBGueWXCCXUm OS6sEHP3de5GVjjHcvSFNaWs5QK2TqUPCVnhjAi+Ncx9lhB0jz2ySi07uyHosjmjKXgx SWKRil53PVTJfsDx4QKz0vLykyJfujKOpHeBy2MI7Rc457giFLUAwmVy1sUpJCnOMnXR yg5Oz7kymXV1u/IUk3bpBuMh0Yvk9tMKG+BLtp5KTNiceTzlIzDkUbmBslPHrL11HkgH N1tw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=ORKUjRn2jHWqbxp4gZMuhuEryN2l1qvoEYTjt4NYkeY=; fh=f2xeiQw1cH/OxzhRAY2/GHVm2Vi4c+0kmJKwJDuq6cE=; b=MC1IPGhahYIh873v/R6uXc/3Xc6a1FXBApNS/H25apQJX+riGq6XS+8O4sxQiqyHrx Eork6f2lCE7mD9FEFV9MHUU6pt7k7W/hTLiFD4Bhfz6tFglVOykJCwbMWO8cW1bpIDZ1 NXHaFcAM7wS6OBGPxb3WHGm1Y558wd2vj6NVsqb0vPr16fObvg9iUxIcUlZRqzpTVr2M CUVrXbwO9w6TomYjpzeoQ6A9NVVFhweioIG8JUbrsO1Ttfq2xWgDPLfhRiY+Zh0rHJUT IF+o1Buvbqv+VjxL40GyyHA0fdX1rdrWj6r+YB5YP/sCddBYxYogSZod2SSLJD/Ut00n r+Wg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="lc4xMIj/"; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-129603-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-129603-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id v13-20020a1709028d8d00b001dd6e237b9csi12612617plo.421.2024.04.03.06.54.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Apr 2024 06:54:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-129603-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="lc4xMIj/"; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-129603-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-129603-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com 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 sy.mirrors.kernel.org (Postfix) with ESMTPS id BE564B27761 for ; Wed, 3 Apr 2024 10:46:55 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E2CCA1411E8; Wed, 3 Apr 2024 10:46:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="lc4xMIj/" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D8F43137C47; Wed, 3 Apr 2024 10:46:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.13 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712141166; cv=none; b=jY2/rt7GR58JOqIm7VG0e7kajBB5hVnI24f6X7U/RRgwX/6EVNg1c6lEUz0K0uz4GIm62ofDb50wsAjuDkf6wWdJKmLnUIdPAuh/PfjUZA52Ivkp+PF86LqW3FGU/+rLf72JD8t87vZKBiJm0fFgWO82KKHER905s8Dq85HQ7dE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712141166; c=relaxed/simple; bh=J14sLh9bFuqxnc7SY8mcH1I46NF5bOyBXqn1GfbFCjU=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ZO1iSE1N+G1lgHWDAfDnNoy2s5RMej+eMuGuI05pg19nYEBAVmQNnM+BQolLYVXk3DR98FVf72WeWhxsYSXdk9O7CYadH52G4qzzzyQFAVO7brdRMmpBspWjFOtl/sbbbtn3yJr0YW/mIYGFcjt0TiuuiMQ9BIyUQFrnsIva5R8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=lc4xMIj/; arc=none smtp.client-ip=192.198.163.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1712141163; x=1743677163; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=J14sLh9bFuqxnc7SY8mcH1I46NF5bOyBXqn1GfbFCjU=; b=lc4xMIj/ErGGynXfSfPP0BdJdiQFl/17qLNnIvfU8AbxYiTCME1nlShc aooSh+7uRyuiuZ1yiYT1JOuRwvEOM5LTBinKJqA58fw97b4353rlFndpQ mGYDxnUNzvOtorVrqBzt/0TPOwm/KunAkQehJSXDcas/2MaC069jfZosn ixGgMi9R00o9U0n13+Mv1p4jhNaCiTfhcQAPY0pbdb5WhfRX4nbMEXVtd LS88l/t26c0q8jsn1XDPatEHKPBoIW+trAwvmjp8HkoBoxtd1x/LaeiS6 FTfTKQU1WsetOZ7CYpyt2gv2uU+YJm9Xfmj2MrwofY6ZukD4poJ4unzcv A==; X-CSE-ConnectionGUID: tpbvA0bOSlaq5P6GCgT0DA== X-CSE-MsgGUID: L786OjHCREqIcLOnuY+oaQ== X-IronPort-AV: E=McAfee;i="6600,9927,11032"; a="10332529" X-IronPort-AV: E=Sophos;i="6.07,177,1708416000"; d="scan'208";a="10332529" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Apr 2024 03:42:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11032"; a="937084846" X-IronPort-AV: E=Sophos;i="6.07,177,1708416000"; d="scan'208";a="937084846" Received: from kuha.fi.intel.com ([10.237.72.185]) by fmsmga001.fm.intel.com with SMTP; 03 Apr 2024 03:42:26 -0700 Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Wed, 03 Apr 2024 13:42:26 +0300 Date: Wed, 3 Apr 2024 13:42:26 +0300 From: Heikki Krogerus To: "Christian A. Ehrhardt" Cc: linux-kernel@vger.kernel.org, Dmitry Baryshkov , stable@kernel.org, Greg Kroah-Hartman , Prashant Malani , Jameson Thies , Abhishek Pandit-Subedi , Neil Armstrong , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , Samuel =?utf-8?B?xIxhdm9q?= , linux-usb@vger.kernel.org Subject: Re: [PATCH] usb: typec: ucsi: Fix connector check on init Message-ID: References: <20240401210515.1902048-1-lk@c--e.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240401210515.1902048-1-lk@c--e.de> On Mon, Apr 01, 2024 at 11:05:15PM +0200, Christian A. Ehrhardt wrote: > Fix issues when initially checking for a connector change: > - Use the correct connector number not the entire CCI. > - Call ->read under the PPM lock. > - Remove a bogus READ_ONCE. > > Fixes: 808a8b9e0b87 ("usb: typec: ucsi: Check for notifications after init") > Cc: stable@kernel.org > Signed-off-by: Christian A. Ehrhardt Reviewed-by: Heikki Krogerus > --- > drivers/usb/typec/ucsi/ucsi.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c > index 31d8a46ae5e7..bd6ae92aa39e 100644 > --- a/drivers/usb/typec/ucsi/ucsi.c > +++ b/drivers/usb/typec/ucsi/ucsi.c > @@ -1736,11 +1736,13 @@ static int ucsi_init(struct ucsi *ucsi) > ucsi->connector = connector; > ucsi->ntfy = ntfy; > > + mutex_lock(&ucsi->ppm_lock); > ret = ucsi->ops->read(ucsi, UCSI_CCI, &cci, sizeof(cci)); > + mutex_unlock(&ucsi->ppm_lock); > if (ret) > return ret; > - if (UCSI_CCI_CONNECTOR(READ_ONCE(cci))) > - ucsi_connector_change(ucsi, cci); > + if (UCSI_CCI_CONNECTOR(cci)) > + ucsi_connector_change(ucsi, UCSI_CCI_CONNECTOR(cci)); > > return 0; > > -- > 2.40.1 -- heikki