From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (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 CA54C3FFFA2 for ; Fri, 5 Jun 2026 15:04:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.12 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780671850; cv=fail; b=c9D6i9XgfworEbrm7Tewdb4N4N/ruBKNNSxDAcHQgcRiXx/8Zu8kU1uWxQsi+KN+Uo0G6IEFox3I94Rte6kxe02qze6pxDkK1BucTyx3g1/PrKT9V5MwEr+0hAuuzg1EsLC4P+u8+wFa4QIdgHwc99wNKk1ZCtocX+UdTr8/45E= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780671850; c=relaxed/simple; bh=HSn/QCiGcTQ5ic+UBXnBA4hP8ycqSnFC8Pbk8NI4VEA=; h=Message-ID:Date:Subject:From:To:CC:References:In-Reply-To: Content-Type:MIME-Version; b=ihPPbORVcSxT7A4lAg6BesbSUbbGe7ovtUm/54EqChrOShe0Sczln1PA7Cbjr124vdZAzl4mcAoWbZ3Siq4JprVnttI2I8rA7nz4qhA8bsYwbSStjyW1SA93PbnOaFhF2l6RHOkBuDjoMBJkP+hiDXOc8Zwg2XA1qpNkGSXWsHI= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=I9dwCV1v; arc=fail smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="I9dwCV1v" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1780671848; x=1812207848; h=message-id:date:subject:from:to:cc:references: in-reply-to:content-transfer-encoding:mime-version; bh=HSn/QCiGcTQ5ic+UBXnBA4hP8ycqSnFC8Pbk8NI4VEA=; b=I9dwCV1vQWyT6csFI0B9gPnkVpcHTs4Tuw+02V9aFDrxyorck49uHMHh 4sUt1ZOUk8wGGZp08Ov53U54bB99hj1HOiVhto4Woh+exxJ/W/xWv/WTY dcJWsPN9wsZMMUaIg571l4uucA0rQtB8ooy/kII3IknGH7oEFOyGk2Kbp d2xh6AEshI1FrTPukNXU5RtFJOHujgB1LK2aOo5skYcqwCmExSTHj/fqH 5KCWgRcZX1/5YinSg1fUj8QCtPPLc+4t8EYvrZpdtsHH3VFCqNz35utLg u+T6cVEamsmcOPqEi79YuMskZadR7oEwyTSm0syJpx2ZWgV8lnfLew1sr w==; X-CSE-ConnectionGUID: d+dv+s1yRtShPMC3r1dKCQ== X-CSE-MsgGUID: 24/W7KHgRTSB0u2Op55qSQ== X-IronPort-AV: E=McAfee;i="6800,10657,11807"; a="85358625" X-IronPort-AV: E=Sophos;i="6.24,188,1774335600"; d="scan'208";a="85358625" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2026 08:04:08 -0700 X-CSE-ConnectionGUID: UrgGd4N9QNWRH0nSmus+zg== X-CSE-MsgGUID: 1c5Ru4FkQvKEQRcrtsuR+w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.24,188,1774335600"; d="scan'208";a="241884775" Received: from fmsmsx902.amr.corp.intel.com ([10.18.126.91]) by fmviesa007.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2026 08:04:08 -0700 Received: from FMSMSX903.amr.corp.intel.com (10.18.126.92) by fmsmsx902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Fri, 5 Jun 2026 08:04:07 -0700 Received: from fmsedg902.ED.cps.intel.com (10.1.192.144) by FMSMSX903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Fri, 5 Jun 2026 08:04:07 -0700 Received: from SA9PR02CU001.outbound.protection.outlook.com (40.93.196.60) by edgegateway.intel.com (192.55.55.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Fri, 5 Jun 2026 08:04:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=miT1iuzvTx0EGEISpdVrliS42fXaIZ28FSi4n4ydZLZ7oofFQMOl07nDE9FpKbfB+TFZ1IppLDrcDxMS46R2+8stKCs+qZLEonYLP7g3b/Erqqf5unL0IVLQLSY63YHhflGqQ1Xagivv3mgnuuR3ZDOVW6AxOMabS5QPu7fuNhqYOsw6w7yN3Xqs7hw8HZ3MjfoQHr+s3h5tDTUuSHCbu/p6ert1KLGraIyRZg5s3XlOS708Sl/Q1dOn2WIKqlfhkobX6PEwpW6nfZXNZTw3+8DHa2MQsAnHm8V8aN6UXLZsznVivGwIxTCMxPBoxjfOugS/W0jwaNCVZUyTsKAtvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VNlZNuGW6FLbUaWYylYEq9i9Mh9A25NxoNI/wiJOT3M=; b=Dyc1gfzjCbzTLZ09wL9d0xSk7szMRHjrSGmIWM40LdNyB1OuPQNAzI7sIY4pq44M3VwLR68bp+b06YeCWzWOnXlHWnVsJmm9t/aEBdRWa2aodNAVAnZBkB7hEggTsqmzgWCrcjYJEFTD/uYfk9Ms1IjiJBrmhryxFX0yEUMl6XP5K8JEbcfguCTcq8JJ9rdIYf/zprFwa3NGXugFOvhz03U4xIzo6EhpDF9cItIfL1LPvGkBTxwxGSzU8Wu1WiWDyEJpQ8I+8kqy2hRga8Vuz4XcQp7zBuXemIT+0pUwd11rSL3XKoQpPoJOkQcXjfG6J2Q/mTW7EKQjrcfxqCXf+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from IA1PR11MB7198.namprd11.prod.outlook.com (2603:10b6:208:419::15) by SJ5PPF7CF5FEA5F.namprd11.prod.outlook.com (2603:10b6:a0f:fc02::838) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026 15:04:05 +0000 Received: from IA1PR11MB7198.namprd11.prod.outlook.com ([fe80::2c4e:e92a:4fa:a456]) by IA1PR11MB7198.namprd11.prod.outlook.com ([fe80::2c4e:e92a:4fa:a456%3]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026 15:04:05 +0000 Message-ID: <31683eb0-7514-4bf6-9c57-803ed58be4da@intel.com> Date: Fri, 5 Jun 2026 18:04:00 +0300 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH V2 2/8] i3c: master: Serialize i3c_set_hotjoin() with the maintenance lock From: Adrian Hunter To: , CC: , , References: <20260518115520.98335-1-adrian.hunter@intel.com> <20260518115520.98335-3-adrian.hunter@intel.com> Content-Language: en-US Organization: Intel Finland Oy, Registered Address: c/o Alberga Business Park, 6 krs, Bertel Jungin Aukio 5, 02600 Espoo, Business Identity Code: 0357606 - 4, Domiciled in Helsinki In-Reply-To: <20260518115520.98335-3-adrian.hunter@intel.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DB8P191CA0030.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::40) To IA1PR11MB7198.namprd11.prod.outlook.com (2603:10b6:208:419::15) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR11MB7198:EE_|SJ5PPF7CF5FEA5F:EE_ X-MS-Office365-Filtering-Correlation-Id: 4cda1d2a-051b-4375-f2ad-08dec313af63 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|56012099006|22082099003|18002099003|4143699003|11063799006; X-Microsoft-Antispam-Message-Info: E8EL2Rm3zlj+kXBu2+x/9f4TA2kDs7cvXlWzA6WlC0xGILMWuXFcMXW70qBfFQAX3YFffJckYuNDX+bkziURDy5h/VB9W8Jldz3oxOy9VPNIspmDQBxdNRptk5RZFUu0QJUDlX2S5bq7CbW4MmGzH6bsCQORs7GTJhP7gOtkbrQaI2XLREB+HZ3DvOF2S4Go+IXFTBE1GUq4q/LUop28AWDuq7Uop3kjAHB5iY8Z7Nez/6soLd3Qzi8/HHMSImMR7V7bwqmmSVeOYy9edrxcAg5jWxkYcUXnRGDefPaTQudUCsQfttbjsoLEJW2rTkZKo4QfQP4l1J6tbGETrogmCohChq4ahAPBQg05byhL7VVt9Du5gpqGGVAFy/FOKiPyb2xLm6vS5vBtD2EG2YmguwynHaCYylrrUXBfoIXlJRjXEZzHLu/zIHiwIPjreUNq2yQzQBAAWImguT2ciyEc03fNfJ15VpPP9brKRHfiIBoUSfEeo+da650oHNOXHaE0ldKZlHw7HdE4oSdM27VInHbh7oCEgSicG2w1aLwvhdGX2Z+kENJXqBq2Le1+EeySCO0iQoTEYG31WyALu0tfWhSvRfdpZVY61zuiImyI9ILv41Ui3DO0yEA149zcyYGaVPSOT73gT6iP2351KC+6BXRtbyMi5OlsIW5JZpHdHqXu2Lj0M9k4bhXqde5vArsP X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR11MB7198.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(56012099006)(22082099003)(18002099003)(4143699003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZXFPUkNlcE9jdWRsa3VpNkUyWmVPSUJQYTREbTNUS05meWZBSXdSWVNickE3?= =?utf-8?B?S1J3S2hIRVlLeHFYdjh6UThEY3RseXpiNy8waTFRVlVsVHZRaTlaQjdMeDdN?= =?utf-8?B?WWFEdEFVN3BHWTZLbVh4bEZjTVdvNzUwRkdWbjhVMDZVcnRHRlZTSkRyMnlR?= =?utf-8?B?MGZIQnY3N2xLWkh6Q2dQekVoTWo0eVc3YkJMN3RuMkU1U0ZTaCsvei8yN0xP?= =?utf-8?B?dVp2bVlYakh4aitQcUNCYjVKN3ZydmZ3UTVaVm5QODMyT3lyYlV0VG1RM0ZE?= =?utf-8?B?dmZkbVNaZmprdFl5anNoYjBhUzNlUUwzYXB1ZkFmWEpoelh5RndyN2g4L3N5?= =?utf-8?B?bWlYU0xiUXFCUWJIMVE1dUF2bjRBdE8ySHVPQ0czQm1ncWt2Nm5NYWhkQ2hB?= =?utf-8?B?aEU0Vk13OC8vZ2dFakt3ZTNLMUlIdGlQMmhkYTNxWnBYM3NyZTFTdTlUanUz?= =?utf-8?B?ZVVpakxHbUNGdXlmeWlQV2VadkNQSTY4VlQyLytrbXFlKzE0YW9KVXExVWR2?= =?utf-8?B?aDQ1VkVFaUpWMUtqenhQZTkvREozMmh6VmVxdEttYVJ4Q1gzMEU0WCtnajAv?= =?utf-8?B?bFFWbFJDdHJVV0ZKMmZQRUM4QVZEWGwxeXA1eEdVNk5pSEM2Y3M2ZCt6blBT?= =?utf-8?B?NjNiT045emk0dllqUDJTSFBKV1hFWllYTHlDbTFsdHovVmVBdkVKbEFJL2J3?= =?utf-8?B?dzBUbWN3b0tnZnRnajdxQkwrVzlFc2lLaXIvcy9Vb3p1S0wxcW9KMmhrc3Y5?= =?utf-8?B?VklQMHRoaFpTQ2dsQ2VyS0o4aHJJUXc0cUpFQ0xCRE1seUl3bzV4VDcrVUlk?= =?utf-8?B?TEFycXNKWkVJTDhuRFR1NDN2TmkrUWt3MHFPemJ6THk5eVJ3NEVoSGhlM3A2?= =?utf-8?B?aDZTZmtORWVLSTUrVkZmWU1aakpyOFJ0cHJDN2d6d0NSQzcxWEI2eVNnZEJS?= =?utf-8?B?QzBRQklVZHJFR3ptS2hiODVpeTVEbkZQK3R1bytnKzE5WFV4ZnEvYmRKOWVr?= =?utf-8?B?cys4Z1F6S1E5OHlGVi9YbjFiUllzQ0UxWnBrN3ZrWEJIcEo2WkNVVU1hWi9Q?= =?utf-8?B?TXhrN2hQbmFOZ0lma0grK2MwdjV1YWw2WXhXd2h0U2JpVkRqUFpUTjJMOGJ6?= =?utf-8?B?Szg1R056WXdGamNHNUR2VEZwdzNvNGNYdHJZS3hSY3J1bFZOZUp2OUt5eGdF?= =?utf-8?B?SE0rbHF0L25pTmhnRWorOEQ4ZXNNSnA0TXlnTkl2VzdsVUVBSndSL21OVkxO?= =?utf-8?B?Y2Z6ck1QL0lLQlJWSE5idHU0UjRaUkZFa2tLRXBwMUd6bHZCMUZZMlJNcVJT?= =?utf-8?B?TWVCTWdVcHpCUis4REdjTzNBUWVoaWlyaEpBRUhuRzU5b0xhSWloTmtaVUNt?= =?utf-8?B?blM1NjZ6cXkyaCtwdDc5ellyeEpSUTJJcnRCTzJVK2lSQU5xaEtlSEdycHh5?= =?utf-8?B?M2tqUjlMcXBBYTYyNE1ZejNpd0JSZjE5RGN3ejNtZXJwL1F5dWl1RHh3d1hO?= =?utf-8?B?S1FkRXN5a0ptRWhGRWhFZTF4NHVwTkNmbmlSMWpiUzJDSE1aa0tUN3UrVFVs?= =?utf-8?B?V0NtbGIwTUt0MXdVcHZmbS9EQ0RCM2k1V1pNcGtYNWc1dDZ0ZFBpY0FQU3JE?= =?utf-8?B?ZVFRZWJSZXBrVkFTVTZyYkUyRzhZcGRWdTUvVWNteTFRcUpHcTRMQlNLMEJ4?= =?utf-8?B?cmZzK29RK0d4bkVpcWRyckpnMmFWTGF0eXN3Z3J3YVVmcTg1WUg0M3I3N3VD?= =?utf-8?B?b0R2T1IxdjRmbGJBUi9vKzR4QU8yL2dHNjQvdlYxYTVUOXhxZE4raHJwQTdZ?= =?utf-8?B?RlVCcmJWakhqWjRGeVVack02bS9Fcnc2R1p2VHg2eFFMdk00U1dZM3ByR3Zr?= =?utf-8?B?OU1UME01OTIwOTRVbGp3bzIvNkxoRjgrTFM4dldPTDF6VWtlYmJBeVUyb0V3?= =?utf-8?B?L1dpT3RCbnlqdjVBY1F4dElzbjBGSldqdi92czNqbVpHWU5ieU9SbVJVbnRF?= =?utf-8?B?UG44QUJpMWppcml3c0lCem1DenBSOWQyVE15YWRDVnIvdUJYLzVCbjI0YVVM?= =?utf-8?B?alkxZW41WVhHb0RxeFBiMFg1OHdGS0hEKzY1UXZsVWtXaFR0Ly9tcHJmYmdB?= =?utf-8?B?K1NFd3c3S2l3d093Um00c1NzTW83L3llby95bUhJUGN3UFFnSmNvc1UwZlh2?= =?utf-8?B?V3ZwUTRsNmkwK0R3NmZ2VlhqWlZXK05LY2xnSFdUdE1hRG92bFlpY21GdWlO?= =?utf-8?B?UVZUVnFBRHMvT3NkVC9OOC9BbWRNd0lCVDJ2MWtVWTZGUmFZOTdVTVBiYVpC?= =?utf-8?B?OGh6M250K21lb1pYVU5BT1FVWVhmU1dJU2FSaFlyRlNaamFJT0tDN3Q0Z05x?= =?utf-8?Q?v0/EiAFSXaIllyiI=3D?= X-Exchange-RoutingPolicyChecked: eqbCmqvPSSsFJLzhzaMvPIUtrZiFkyT3oK+0cvY792M3g1KHmZ7NXnwQOys458BPZa8cnOnd2fJGr1gvRu5JtKOW4fshRLBuonYC4y9Spemrgmay/DkioM/XKUe6o0oMhIiGeJtwNFvESZrsrToXMa2WZP7IiXg0a0AuQD0aeTV4PoVUg01cwURG+aS16UEo3FoyDAi3r3YcILKEMffjaTkvW6ckC5sydjFQOJEZG+56b1AMukcW3o2J52vyq4JbQnb7m/7a76+cmB8aWY3tRyOTyApwz2sntGlzutqyzgNqh/W0y120JXzF5txiHaMsOSIqMXMHBI4xaJb3bmlJlQ== X-MS-Exchange-CrossTenant-Network-Message-Id: 4cda1d2a-051b-4375-f2ad-08dec313af63 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7198.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 15:04:04.9990 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RHdG4xkaTZup+Th62aCOqoqmkm+Brbp3IK7TOEdVE3ZqazK+quCobDVwgUoFp6lw0BPfe5XvKuJrfgZB84+QZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPF7CF5FEA5F X-OriginatorOrg: intel.com On 18/05/2026 14:55, Adrian Hunter wrote: > i3c_set_hotjoin() dispatches the controller's enable_hotjoin() or > disable_hotjoin() op and updates master->hotjoin under > i3c_bus_normaluse_lock(). That lock is a read-side acquisition of > bus->lock (down_read()), so it does not exclude concurrent callers. > > The hotjoin sysfs attribute can be opened multiple times, and writes > through different opens are not serialized. Two concurrent writers > to "hotjoin" can therefore race in i3c_set_hotjoin(), with the > controller op and the master->hotjoin store from one call interleaving > with the other. The hardware enable/disable state and the value reported > by hotjoin_show() can end up out of sync. > > Take i3c_bus_maintenance_lock() instead. Toggling Hot Join enable > changes bus state and is conceptually a maintenance operation, so the > write-side acquisition of bus->lock is the appropriate lock and > serializes concurrent callers against each other and against other > maintenance operations. > > Fixes: 317bacf960a48 ("i3c: master: add enable(disable) hot join in sys entry") > Signed-off-by: Adrian Hunter Any comments on this patch? > --- > > > Changes in V2: > > Add Fixes tag > > > drivers/i3c/master.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > index ab11e2d79aab..38ffc8713167 100644 > --- a/drivers/i3c/master.c > +++ b/drivers/i3c/master.c > @@ -649,7 +649,7 @@ static int i3c_set_hotjoin(struct i3c_master_controller *master, bool enable) > return ret; > } > > - i3c_bus_normaluse_lock(&master->bus); > + i3c_bus_maintenance_lock(&master->bus); > > if (enable) > ret = master->ops->enable_hotjoin(master); > @@ -659,7 +659,7 @@ static int i3c_set_hotjoin(struct i3c_master_controller *master, bool enable) > if (!ret) > master->hotjoin = enable; > > - i3c_bus_normaluse_unlock(&master->bus); > + i3c_bus_maintenance_unlock(&master->bus); > > if ((enable && ret) || (!enable && !ret) || master->rpm_ibi_allowed) > i3c_master_rpm_put(master);