From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) (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 00A1430FF26; Mon, 9 Feb 2026 23:59:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.15 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770681591; cv=fail; b=rTtP9m31g3V3Em7mnxIyhs45rNlomWzP2fU4FE9aZp+UZLLtKzbc5dcwusluyLhc4KaXqrRvptJoqJOXZea6sVe/MO4VTr5vVFIu/Ex6L1iE2sMlX+Cd6UbiE1vKncQcAb71kenafxn+/fbsRG56TEvWyJy69ByGrnVhrWL27jg= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770681591; c=relaxed/simple; bh=l/g2NDzEnumFFNZ0djSzbckfekE9AVHuDQtZTyEzsdg=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=AMTii4h6VahbtorA9Ikmhz0Qxj5pEr2UxIddILZPlgE5iU/N3hBW/NXbEYp77PfGW3DHdtMxU5HzTY884rOlel7twze7Mlq4wXUbASGq0Vpn52qDXJF/P15eRaFivai4kSumSgJ97aqcpmHgmRpKc7/dzfZ5N+09K99dmAUtIks= 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=KUjgwXKs; arc=fail smtp.client-ip=192.198.163.15 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="KUjgwXKs" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1770681590; x=1802217590; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=l/g2NDzEnumFFNZ0djSzbckfekE9AVHuDQtZTyEzsdg=; b=KUjgwXKsrHw4L4C1yOqUYdi3TD6AS7e0Ke7TIL2FkNUK/bWsp0OJ+Ik8 khmW1zLxfdVAXavMv2pGoZ51JB8mkjgzRNubEKdgeB5Hzfoz93qtfRiea U2GCLaWdqUbbrfaCO3TfBHePls0PpH365F94zCH6OBhCEbWl9RCTbPs3n 5oa52XceZYaPKINdeNlxvBfsf/RMU/JCo11T6E4HHRoKNn8yS0pskPT/K lDGAIW9clKczsWaQ0YCSQX8xvLxI4H/+BAPQuJI14ZaCLw4LkVA222PzF KV2GH59NqQbAImR2yAb1mdD0gCsZ9Bk1Z3PZQsa6aeOkMh1H9Nga4uEf8 Q==; X-CSE-ConnectionGUID: r1RfNg0ZQzCA7zr7zr6MDA== X-CSE-MsgGUID: VTTAo4n6QICTN96exUW7Jg== X-IronPort-AV: E=McAfee;i="6800,10657,11696"; a="71903047" X-IronPort-AV: E=Sophos;i="6.21,283,1763452800"; d="scan'208";a="71903047" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2026 15:59:50 -0800 X-CSE-ConnectionGUID: mlrUVQxkSp6t7mi8FqTGQA== X-CSE-MsgGUID: aZ0pTNm2QNqXiiq/4e1oHg== X-ExtLoop1: 1 Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by fmviesa003.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2026 15:59:49 -0800 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.35; Mon, 9 Feb 2026 15:59:48 -0800 Received: from ORSEDG903.ED.cps.intel.com (10.7.248.13) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.35 via Frontend Transport; Mon, 9 Feb 2026 15:59:48 -0800 Received: from CY7PR03CU001.outbound.protection.outlook.com (40.93.198.16) by edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.35; Mon, 9 Feb 2026 15:59:48 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yRpmz1pflA3XuZR45FL1qd93vIYwzvOrSuaBect8473wb0TtwfaWk11yfd3p/aWqjSx0oQXr5+5XDZXSX+VT6ah0bHEkIQCzgDWWPqJlqcA4H1OzHhNm2H+uhSDQdIhqUIYwh79BCBpyiEg3oDAlpZYsO9dENizt9G2nOKJylKCq6HHd4V6lo6BfTcaCvqsqRRRkcpxuFJNadSg1NcSw+b34NCeTGbg4yL8meAXEDjK/y1qPGX/2gOYi39JREr1dXEm0n7uHWaVj7cgGU2f2kyJ1hqXQT1jVI9mHK0l5jV402XdWr+SPlI2+UAxZk4HQ9uMFM3hPmRa0Dp7JzaXg0Q== 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=VaZou7Ojw0JSLJ0CMYF/WHwgU5IDjjKVOQW0A6K9d7s=; b=d59+BYr0l/b2FynpP0tdvbHEl7+fMjM2NfYf/T2YpAwnkthI4/hUNXCRH/9M6ISOg8uP6ZlLkD460OI4vC6motWakm7OCsdXsKiNPZlqeohbKj0vUqY24Rd7zwxX3PWkj9PPwkFPpQ6KKJXiVrIN7LU2UTpMg8EzBQY3KJNhdR7bz2rn9tarYoNsIRwsze55MX/BeKYEMZfVMMn/gtdG/6ty53M7N7C1M4DcCklsGTY27blLgJTcqxOJCiCIbrUAcEwAqeZZYAMzzyZXxroP7nqqrgeEz8WmgUjKJ77OYvGlFRmsvm6PHDnyZx/1BBhurfipknGZHOt5dK89Ejx8JQ== 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 DS0PR11MB7579.namprd11.prod.outlook.com (2603:10b6:8:14d::5) by PH7PR11MB6607.namprd11.prod.outlook.com (2603:10b6:510:1b2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.19; Mon, 9 Feb 2026 23:59:44 +0000 Received: from DS0PR11MB7579.namprd11.prod.outlook.com ([fe80::4199:4cb5:cf88:e79e]) by DS0PR11MB7579.namprd11.prod.outlook.com ([fe80::4199:4cb5:cf88:e79e%5]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 23:59:44 +0000 Message-ID: <27f5f292-dcdb-456e-9622-33efedd831b0@intel.com> Date: Mon, 9 Feb 2026 15:59:40 -0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net v2] iavf: fix deadlock in reset handling To: Petr Oros , , Anthony Nguyen CC: , , , Tony Nguyen , "Przemek Kitszel" , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , "Stanislav Fomichev" , , References: <20260207102245.812795-1-poros@redhat.com> Content-Language: en-US From: Jacob Keller In-Reply-To: <20260207102245.812795-1-poros@redhat.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MW4PR03CA0158.namprd03.prod.outlook.com (2603:10b6:303:8d::13) To DS0PR11MB7579.namprd11.prod.outlook.com (2603:10b6:8:14d::5) Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7579:EE_|PH7PR11MB6607:EE_ X-MS-Office365-Filtering-Correlation-Id: dc925681-b0b9-4e41-34f5-08de68374bff X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?QmtjYnZBd09zOFFReDAyZEVDUVk4VE5kbWY3MzkxOHVtWSsyQWQyMWlteFVC?= =?utf-8?B?ak12c3ZxNHUrZUNlSjRMVFgrOGI4cXJqMGthRFl4OUJPc25XMm5VYzZzK3VU?= =?utf-8?B?VHd4MElPaEU1UWtHQzkyQ0txdkZZVXB6RlI4TC9qdS9mQWJSNE9BV2d2OEw1?= =?utf-8?B?eUpuSHl5WVZBSWUzNHhQdEw5WGs0aGdVT2FyOGRiY3FMNTF3d0Z1UFV3dVVH?= =?utf-8?B?WjNHcW5PVG1BWSs2c1FUSDFZK0VpSG1XbWcwU3A2UGlhc2x0U21uQ3RTUjlp?= =?utf-8?B?QnRWVFExa0lqY01hYjlPYW85TWc1dDhoV0RZeEZlVjR1QUl1WGwrR3JVS254?= =?utf-8?B?MWRXMWREcys5aUdSVitsUksraEFVUXNRRFVwbFpqcXlqUysyZStubi9rSkZJ?= =?utf-8?B?R0hYWkZZYitaa3RWQTIwU0tGdXNxM0NhK1pROGFUb0hzQnYvakF5WEI4WXY2?= =?utf-8?B?TUY1Nkw4Z0FaOGcrZkVtZU9vd0JYa1FKdzRkWWg1Y2w5bUVoK285Yzc0ZU9Q?= =?utf-8?B?SWUrVTlTemxxZXpic1hXdUVya0lBclRzTFhMbnpjUGlpc3JVTU12VWJkaXlI?= =?utf-8?B?ODlVd3V3UU5wMmhJUVByL0lhSnVsTHdVZnlFWjRtNzE3VW95UW9XQ2cvdHpa?= =?utf-8?B?STlENDlsVTQ1WndWNzBwQU51eXB0akdaQ1FKUnVpL0NzWG45WENmYWVQUktC?= =?utf-8?B?OXlKWFZJYlFLWUlYSklWaFREMTBXZkJsSnVoNUxnQ0tLTmhHNFpVTHg4OUNJ?= =?utf-8?B?OFYveXNDTVRNM3V3bDQ1WFdMZ0R0SGZRVTB6SW5HbHVIQkhRQWRSd2djTEZ4?= =?utf-8?B?bGVRK0RneGpVSVZmbWlKekNJVjBUYUdQS29OSVpZYXFMUXk4N3B0WFZtamFa?= =?utf-8?B?NXExdmd5K3N6cHBqeGswc2Nxbjd2bFFEeDlOc25RSmh1TU9URzNJWXJ5d3JF?= =?utf-8?B?dFNnV2w4aXVOaUR4UjhoOHFudkM3M2ZQYnF5T3VkT0hzM01uK2ZaY1JLN1lC?= =?utf-8?B?K3FzU3Y3SWpNMGE4MU5BaHM2ZDVuem9JQ0ZNZ3VwbE9QamF2RkpqSDZIZzVQ?= =?utf-8?B?SEszYS9OVU4wbXVhL0tnY0VVWWo5QnhOQlBWK3IzWXd0RkNWbEMzQ05uNWVs?= =?utf-8?B?UkxNbDlTOU1RRjNiTlJMNjlrMWtQbUtVNEZvL3hpV2NBbnhBcHJCdXVPU3dJ?= =?utf-8?B?N2l5RHZVSm9PaHBqWHBObnRFYTZCM0pYcDZLZ3kyWVRQUG5pSVJ6VG5mQnRn?= =?utf-8?B?VDczZFZjNDRnSzg4VDVGa3E5THZscXVrcEhGU1l6ZmxFTjV1VitxSVBndlhw?= =?utf-8?B?ZHlTQ1Q2c0NIa1dZQjJaaWtTZ0hpZkRUZVRNdzFMT3Y5c1ppTURLMXhUMzlH?= =?utf-8?B?QVNLTU5JaFlzM3lDUWpmcEUyWFJQZktMMVFqY1JpVkh2Z2kycFEwK2VjOXZR?= =?utf-8?B?R0JBYmhQTzQvbTZCOUMwcmxOZ3hhOEVVaUhBWFdPdWo3cGpEVURrNkxwZG04?= =?utf-8?B?SzRvSmVsZTNaNVE3SmFld1ZiZGpvOWl2V1FtZVBZeVlsZWMyeUN5dUhtTkRx?= =?utf-8?B?Wmt3S2FXL3JyL1hIcGthQXliQjNUY2lkK1RtaEYzVk1VWWxEdnc5dFJHUDND?= =?utf-8?B?MUZRQ1NvdVpuZk53cS9zNGRWTmdkM1A2Tzh4WktNSTdoaU8rVWsxTWk1UzRP?= =?utf-8?B?QS9IU1ZtdWFseEkzY0w3cWFYZjRZRm5tS2JOT3FDcGtScDcrMWxwV3BzTnVk?= =?utf-8?B?QVFISmx2TmRvemV3SGRhaFVIYTAwa2Q3WTRwZUhlUFRhMnVFQzNyUmYyMHFS?= =?utf-8?B?SW1iUWRzVVBXTGlwRXcxR2NwWk43MW1OdnIrblVlSzJlYzhSY0lrVXpZSHhn?= =?utf-8?B?a1Z5a1d3eXdSeFdhN3RlcFFNbjAvazBEdG5OekJxUjhzUnZtQlhqSjQxakk4?= =?utf-8?B?TWZGS09OYXFwaXVidERFZFdsMFI4TXNRU1I3Ung3UjJhbUJuUnFiMjROWDd5?= =?utf-8?B?aXM5QXNzUU92dGJSbitOMUZKbEpTWEdVR2k0SHRxQm0ydTlBUXFaNmYrVkZa?= =?utf-8?B?MWpiUGdpblFtaWN6SCtMUUY5L1YxQ0ZVUllISUpWVzNnZHR0a0lXTjBIY3l0?= =?utf-8?Q?maX4=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR11MB7579.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MFJYaGcvaEFxVXp4aHlrMi9WUHFreHoyK1p6cTlUNkhWZXk2aGVUNkRIbzBT?= =?utf-8?B?RXR0T3ErOTUyZzZYc1E0UEpLS3Z6ODYwRnM5bWpPb3R1NzBPbTl4Mm1jajc2?= =?utf-8?B?bEtxU3pNRm9xTE85TVFUeHdpcmFTbU5ZR2NCZlFlYVlTdDIyY2h4RUpRaE5B?= =?utf-8?B?U0lPbk9RbVlrc0I2MXMwMThEcGgyalpRTUwyZnlTYUgyeVJ5UGZaZXdQOGRK?= =?utf-8?B?OWcrb1hzYzBoRTZiTng0UU13T3diUWl1SVlzTTZBWkpqUzkyTTZ4VE1EdGR2?= =?utf-8?B?RHdaZnpkOVk2VURFSmNlcEdVdVNnOFFadkhPRk9vcUlvUXc5NDFxTzFxZDdC?= =?utf-8?B?RFZZeVF0YXlQcFpJV2ZLdHh1VVJTakF6REJhWmFJVFhHVFVTT2U0dFY4RmIx?= =?utf-8?B?WktCQVJSWW0ybXJ1enI5SkFvcUxTT1k0NVB2R2h3VW9JTG1ENWtOcVZMM2ti?= =?utf-8?B?dDg0dTMyK2NQM2tRT2pkdjhBMDR1MVAySnZoTU1pV1REelZ0K2xIN0xXWmxq?= =?utf-8?B?V0JhVHlhb1lzbjVreFhTaldEVkdETWZTQTRjZFFwa2V6MkxmalcySTdQVy9H?= =?utf-8?B?dHBJVmE2RmcxUTkxelVmNHdrdUJEaktaMzVlVFRMRmxiQkxyaXhTeUcxTjZx?= =?utf-8?B?K3B6NzBkd0ZmYjBibGU4djhVblVYNGNQbFQyZlNYOW1sYmhZbTdaSmZUZHNi?= =?utf-8?B?MENFY2JqK2Q3a1BMbTBLWTdqSjNnRHdnVHRqcXBSMysyRVBxN0hIRVlBU2lT?= =?utf-8?B?YnpmY000NWtMdjZGK2QvMytxdm10NS9wMkN1c0xhQ1lFU25NNDhrbWYvVTc1?= =?utf-8?B?WkxhTGdlWE41MUFjL3RZSXljK0lTd2srV3U4T1ZZR25mblRBZDRQWTdQUnpC?= =?utf-8?B?K2tUbEt3d3JveTBWYjJUTUlMVEE1UG1pZVJVcEIzdktnTGJxZHAxOGlNdTg1?= =?utf-8?B?Ym00ZnJvYzlPd2RJQzN5VWZIWkd0UnpzMVFxZmlKZ2RnSldDKzNjRFN6RVpO?= =?utf-8?B?M2V6eG1qaGIyeUJSc0hyU21uUG5OVXVYMVhpMEV0OHpNUi9vemt5WU9NMVI4?= =?utf-8?B?bXJCOGRzcHc3NWh1N2VXUE04Ny9kakpRd2RuVXBkaDdxbDNUcmNpZTMvM3lG?= =?utf-8?B?b3M4Y3oyMnNBdzBnK08rLzcyOGMxd3NiTy9Lc3o2WjNudHM1R3YwNVdvUk90?= =?utf-8?B?dHVPeVNhMWRQZUM4akUrbzdOMHZXWXRYV3c2d0R6d05MY2hCbnk5OGJRUXpr?= =?utf-8?B?SVBZZnZOQjFRVnlNaHpsbHFOSi9RZVByZXpNRGNMUC9pNlpoYXRpWjI2VGRr?= =?utf-8?B?MDR6ZlljcmpCRVFDTDQwRFZTWWVkalI2ejU2M1psYmM3c1FHbWI0VmQ1OWZP?= =?utf-8?B?QVk4S3g2ODFhUjhqOXMxOG85YS80eCs3MFRNWUxRb2dlMG04TXZjNlF2Zkph?= =?utf-8?B?aXNZSnR2L2Z3L0Y5U3Z6ZWdyZ1NObFVXSmpkeGpRSyt2dERqSTltTE4xS1dy?= =?utf-8?B?dllLbEtna0FxUEJveW5Lcjh5SFhCamJVaXJqMVl2YVgxSDVmM1hEbnpPRHdJ?= =?utf-8?B?Z0hwT0NjR0drWXdpZHR5QmtaYjBOc0pWR3dNa1kzaDdKZFdpZDBNenZ3Q0g0?= =?utf-8?B?Uk9mNDVVeFkzNGFXU3RnS0Z1c0xGMTFFSlJUekFzV05YM0J5MW1FVzNOMXhG?= =?utf-8?B?QmVKMGdhNjV1ZEdLNE9ZT2llUkJuMjVqbmFlbWtDM1B3SlRkb2JTN0xEeDFx?= =?utf-8?B?M0pTZzRJZk1NVkNpWngzLzlUalZFN1VVR3VqSVh2b0xQN2UxdCtiVkxmK3dS?= =?utf-8?B?cDg2UGtZMERSTEZ5SHk0TkhUZUxNTVFrbXFxRXBVM29LenRzZkhLOTd5dC82?= =?utf-8?B?Vi8wb1pJY2dPVHp4dkJ2eVkxWGk2Z0VlNTFiWENZUmJ0QTFpU1BWbnJpcDlY?= =?utf-8?B?NW03Z0swVVJLZ3pMTFM1RUJzVndSQi9JRmpMK2Vid1MvbHV2WmdXbUREakoz?= =?utf-8?B?UWZWWmh4OFQyT0NVTUhmaHcrMUxkMzl4QW10UXhZbWI5T3J1Snh3TTE2YmpU?= =?utf-8?B?Rlp1aGU3bHR0cjczc2s3RS9ucFRPSUJ0N1JVSDJ0V1pvMVpUZ1RrZHorZHFI?= =?utf-8?B?Vk9kbkNXdWlrM20rUTU1T0FyU0RsR0IwNWhYMDlXMmZMVnhJWlZoRTNzL09F?= =?utf-8?B?Z0czMkdSMjJaT21VcUtIcXp5Y2VOM3NDbmN2RzFreDc4OXQvTjd4YnJ1K2o4?= =?utf-8?B?cklWSmFWLzh1OXB6UUUzTFNSb2FOdFFrc3R3QUZucXRLUVZlMmJkaVB0M3JF?= =?utf-8?B?L2lENmhpNWZjWGtPWm9OYVdvdzJoRkJWOGNsMkZTQStua2ljYmZ5QT09?= X-MS-Exchange-CrossTenant-Network-Message-Id: dc925681-b0b9-4e41-34f5-08de68374bff X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7579.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 23:59:44.2271 (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: eT/cM3EEd01ce0D1jK7G+xC4v67YyJHI27Xu6VOHkyHx58QyAuJ8M6+g/SiKTt7EHZsca+Y7aXURi4llABtSQCY+V/U+QEC7MHNUxo8HBwc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6607 X-OriginatorOrg: intel.com On 2/7/2026 2:22 AM, Petr Oros wrote: > Three driver callbacks schedule a reset and wait for its completion: > ndo_change_mtu(), ethtool set_ringparam(), and ethtool set_channels(). > > Waiting for reset in ndo_change_mtu() and set_ringparam() was added by > commit c2ed2403f12c ("iavf: Wait for reset in callbacks which trigger > it") to fix a race condition where adding an interface to bonding > immediately after MTU or ring parameter change failed because the > interface was still in __RESETTING state. The same commit also added > waiting in iavf_set_priv_flags(), which was later removed by commit > 53844673d555 ("iavf: kill "legacy-rx" for good"). > > Waiting in set_channels() was introduced earlier by commit 4e5e6b5d9d13 > ("iavf: Fix return of set the new channel count") to ensure the PF has > enough time to complete the VF reset when changing channel count, and to > return correct error codes to userspace. > > Commit ef490bbb2267 ("iavf: Add net_shaper_ops support") added > net_shaper_ops to iavf, which required reset_task to use _locked NAPI > variants (napi_enable_locked, napi_disable_locked) that need the netdev > instance lock. > > Later, commit 7e4d784f5810 ("net: hold netdev instance lock during > rtnetlink operations") and commit 2bcf4772e45a ("net: ethtool: try to > protect all callback with netdev instance lock") started holding the > netdev instance lock during ndo and ethtool callbacks for drivers with > net_shaper_ops. > > Finally, commit 120f28a6f314 ("iavf: get rid of the crit lock") > replaced the driver's crit_lock with netdev_lock in reset_task, making > the deadlock manifest: the callback holds netdev_lock and waits for > reset_task, but reset_task needs the same lock: > > Thread 1 (callback) Thread 2 (reset_task) > ------------------- --------------------- > netdev_lock() [blocked on workqueue] > ndo_change_mtu() or ethtool op > iavf_schedule_reset() > iavf_wait_for_reset() iavf_reset_task() > waiting... netdev_lock() <- DEADLOCK > Only one note: this does not strictly "deadlock" because the wait_event() will eventually timeout, exit with an error, release the lock, and then the reset will complete. This is obviously incorrect behavior and likely to lead to errors as the configuration change may actually silently apply even though the user sees an error. Still worth fixing, but it does not lead to a complete system failure deadlock due to the timeout. > Fix this by extracting the reset logic from iavf_reset_task() into a new > iavf_reset_step() function that expects netdev_lock to be already held. > The three callbacks now call iavf_reset_step() directly instead of > scheduling the work and waiting, performing the reset synchronously in > the caller's context which already holds netdev_lock. This eliminates > both the deadlock and the need for iavf_wait_for_reset(), which is > removed. > > The workqueue-based iavf_reset_task() becomes a thin wrapper that > acquires netdev_lock and calls iavf_reset_step(), preserving its use > for PF-initiated resets. > > The callbacks may block for several seconds while iavf_reset_step() > polls hardware registers, but this is acceptable since netdev_lock is a > per-device mutex and only serializes operations on the same interface. > > Fixes: 120f28a6f314 ("iavf: get rid of the crit lock") > Reviewed-by: Jacob Keller > Signed-off-by: Petr Oros > --- Great work on the analysis and history of the issue, as well as coming up with a minimal fix! I'm happy to see this go straight to net since its an important fix and comes from external to Intel, unless Tony has any objections. I case it helps expedite things: I manually loaded this on my system and confirmed it resolves the issues for MTU changes, so: Tested-by: Jacob Keller