From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020110.outbound.protection.outlook.com [52.101.69.110]) by lore.virtuozzo.com (Postfix) with ESMTPS id F186E802A7 for ; Tue, 6 Oct 2026 15:35:57 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LWRe+paBLA7K39lAZ3hrkJpw7E6gfJAZLIBh9BYnocoxFbK00Oj1dMN18cBGugdihkHnmEibE6uB28CvYdF39HGGe/Y+j67bewrpeDTzdLI05Lq9jxJZmtSzosANGm5lBMRO8d7MVWD+SZ5/enY0ZuL/4QwCHFaB0mbp9+BUOPJX3s2N+UvOul4Pqazm9S0LvexOEgvuByU5dvWJw8e18qJiBEwr90lkuXgSiVi6EONE/caLCdyiNuN8vgznILI9oNXUiE2UmWcfFKm738eFX70UOWNjKgPvpf+TbTz5WLwp6MuQdeR1ezuGOl2assGtUdysqQueRhsxy03bl1LbjQ== 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=nmETE210lC52x/3rmqDWSIDoL3cxNcNZ50lujHKN9wE=; b=B+Jf+sztBlFuf1WDnFaPHWDmc6VCMPj4l4d8zfLXrkyq4lzRDsXYZBlBoaTB6S0MJgNFNcBBh+n6PXbKTMJpnkTmy/KBtnMIt0lRYI8MqpThOwU9Dt3HvkbiXF+p3sljV8kS0hohCmTHlYEknQgmqQCh1qVaLkLmRpp9rpiKCeoNZxSCxhcBWzcryhv6xXNzymz9ufPLFqF7fzVA/8TKlqdGXthN0XZXv8W1lyJ7LUOFvo5ovKRQQ3La9ncBIM+OG8+1UC7ruYIceSuj32t4W1bCcLLZdpdwyZH5IaXBsclMJdXpEt14JNWGWgeEjXxayi6sP85m1EUJcCKZb+y83Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nmETE210lC52x/3rmqDWSIDoL3cxNcNZ50lujHKN9wE=; b=QmMDx3oZiviQ605ixYFgHh13YVsm+bZNf+mqpjL/6x8clF4EgUzzzJbHT69ADyyZhob+hLDVlbo5PxgwhNUNXao0JqclxN+YXjAyw16j7XDmrZavO6OlH58v9nIbSpnGJ66N6PKS0L08xobI1oot51cCThVVNJmrc9zhal+ZcUIjU3miOWbsb+ckeJDAENPLGWl/i5b6M8kJgycWcwsWExT1toE7+iJ/EtSCjasnubzLotL/bn0dbCpY9O2vmhEHhZrx/d3hsRTXm2XCrKKHJ4ZdlLlUFia4imllv7bMzvO+/j+d/7Pb4UGMC8KJx1t1TO4H0t4AIyukRQ9gM77bSg== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) by DU0PR08MB9774.eurprd08.prod.outlook.com (2603:10a6:10:445::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.496.14; Tue, 6 Oct 2026 15:35:56 +0000 Received: from VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8]) by VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8%7]) with mapi id 15.21.0496.010; Tue, 6 Oct 2026 15:35:55 +0000 From: Andrey Drobyshev Subject: [PATCH QEMU HCI-8.0 v7 00/14] usb-host: support CPR migration Date: Tue, 06 Oct 2026 18:35:51 +0300 Message-Id: <20261006-usb-host_v3-v7-0-044f668789a1@virtuozzo.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAFcVxWoC/23Qu2rDMBQG4FcJmqugu5VOhVJohw4dMoUQLOm4V qFWkWzRJvjdIztQkmDQci7ff0AnlCB6SOhxdUIRsk8+dKWoHlbItnX3Cdi7UiNGmCIbKvCQDG5 D6g+ZY2MaqLVy1NUOFfETofG/c9oOfby8b6fm6/Mb1muC9peFNJgvsP2UOU1bn/oQ/+b7mc9w8 VR5BFvBa82FBULVU/axH8LxGNY2fM/pWVx5dudF8dRaoU2jOIFqyctrL2+9LB6kYbRiwhnhlrz 695QQdetV8VppDXYjq/Jl934cxzO/SsnLjQEAAA== X-Change-ID: 20260914-usb-host_v3-bbfea86d1dad To: svt-core@virtuozzo.com Cc: den@openvz.org, andrey.drobyshev@virtuozzo.com X-Mailer: b4 0.16.0 X-ClientProxiedBy: VI5PEPF00000985.AUTP296.PROD.OUTLOOK.COM (2603:10a6:808:1::81a) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|DU0PR08MB9774:EE_ X-MS-Office365-Filtering-Correlation-Id: 481862dd-81e3-4c4f-427b-08df23bf832c X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-Transport-Rules-Loop: 1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|52116014|5113699003|56012099006|6133799003|10067099003|18002099003|38350700014; X-Microsoft-Antispam-Message-Info: aGIwetPY3B5rmucGKDYRQQztsgY5kx9bzHF+sTbwHducA0TgAXaRoOxOb3TcmvOnMi36pZE9VrY7CQDATaQymg3VyKk0wbHR+LV5rR6awxeg/56n4dhN0TVOPE7+HFRpZIrsmCMWZ25WfMXF2kX94friHqwWnA8WyV5mPEdEpqcSIBcHqFce1Dw731Op9TtRqSvnhmOwUJdtrFvXLD9uedCwawwxY8zzi8+C+9yLlsB2ZMa7hXxpi7w9du0rohD0C+Bqbf8VRG7inQBRuAyBl5/rfgSup+3vBkBVMi1xVLlNR7+YKdxtVIX+4tnffr4cU3kyMdeulm0MG/hcorI1yxfvBgLsimFAW6DU4Q5aU4o4DxAB0rMPniWOhy8TKwFDY2YimvwGwf2WRbIdfVLekQ0r7fr29jhZ8LH6ieUh4EKrldnMjG6SXOrLZBSojj6rnYEPpdrqXeDC4wJlEa3mykKMxxbXfzkOLkFjvdYB49mYlNrhFTrZur8rAxX/t+P0n2XgNp232p083kQfCabyCzKosi730OOC2jojrILCfUDuzO6RulVAw86juONc3Q8YBmhfruRlmy5zfk3mVBdI/uMkXNUSMibU99GO4GEptHg0ObDYP9xiic37mXxjU1D6e037drKaEWUlMaS33o9QMjciJpqYfHS1x5uWKRWi/C8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR08MB10656.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(52116014)(5113699003)(56012099006)(6133799003)(10067099003)(18002099003)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cVFhTEZNUUFNQTlYaHovekYrK1VJSThnSytmbGVDdFV4VURPU3BMaHZIZW1N?= =?utf-8?B?OFJMR0F5NFY5NFVCT0U4TVljaGxNRkFJVXh6ZDdxMzBEdFU0cVZYRmpwM1d6?= =?utf-8?B?dk0zdFYxQkZmS3VXSFc0Rld5ZWtvaEJ0d25vK0thai9KUitkSW1EYW1rZGFB?= =?utf-8?B?bUJtMk54UWM4d1NJa0NtUUlyLzJNOVNEelV2dDZiRUdXRXRtdmpRKytFM0pz?= =?utf-8?B?RHhVZlp1M1lGcVZoditZbU8ycFVKUnVVbk82Q2RTNjdzeDZucEQrSS9aTGEz?= =?utf-8?B?b0E3blo3cXA3dFczT3k5ZSs4VzZtK1VzMllKb3Eya2JPcmZZS1o2d2J5czhx?= =?utf-8?B?WmpaQ2V2SkFzOWNqeEZlTTNKdlh3NXVreUduODdxODlwZFBJeTRacE1DSDlo?= =?utf-8?B?NXRoaDlTMXVJM2ROQU9UbWFzNEFoaEdnY0pKVHFYWFZXcWZrN3pMam1kUGpy?= =?utf-8?B?M202eDc3MVNMMlN3RHp0MG5QTzE5ekd3SUJRbWNWUWRjYjg1VWJKdDN6cGRH?= =?utf-8?B?bkptVzl2dkp0cDZTYWh6Rmp3czh6SXJVaEdRMHppQ2Y3MWQrRXVIR0Rkc2No?= =?utf-8?B?R2hwSE1RWmZ5UVZTVDZYRVYyR3lWUjlTeEY0NUFnQnJqMGI4ZXNEdU0ydXNM?= =?utf-8?B?TENSbU5PNzl1Tll5SGJGQ3JCMTBlcVBHVERjL1ZJd3I1MkgzQkFDaERqT3Bu?= =?utf-8?B?cjIyaTdOcEMyV1NtRDFtTXBibHZSbEZySkVsYnJMYW1Ca0xiZS8rWUxZOXF3?= =?utf-8?B?eUJlQ3VObVFjTnFnNmRiNVEramU3QkxKeXB0RDNFODFGQlhQa0lxaUY2ZFVP?= =?utf-8?B?dHhQR2huM0drTzI5TVFEUVNGSVRNRFB3MUlOaUFucUIzNGEyM1JCQURLYTR0?= =?utf-8?B?blErUlVxS0EyVmtLVm53NmRQTUlOeXhtVFhYVkhyU0ljOGgzZXgyRUgvbUVW?= =?utf-8?B?bHV4S1BSb2tzSE9jNFllMVJnakxZbkFzV0h1UFpFalErWmpNSkhIMEVkbjU1?= =?utf-8?B?ZnFlRDJQTGpVTk4yNHFoSFdKL2N2cTVjTVlKN1ZHZHhrNnJZcWRHWFM2T2RH?= =?utf-8?B?d1dac01ZRmljRzNoU1NiU0xXNkI4N0ZkQm1XL1NxSWtiVWhjYlhkYWUxOVMv?= =?utf-8?B?STdqTEQ3UHIrQjgrOXM5L3RGRVY0TncxSkQ1a0RBSWZmNWl1RUFBcXUvbU5U?= =?utf-8?B?TkI2L0ZveG5Qb09Gb0Vacmxma1o2MmtIRW52TDRZVTRPZFdMTHBPMEtkMHJ2?= =?utf-8?B?QXkvYm9qQW1yZTBidHpsNVBJR3Bqa0s5NkcvNW5kY21sSW0xWHZrNGsvREwz?= =?utf-8?B?V2t4azRKb0xYWC9Zc2c2dHdIVmJXaENhVHJCNXZzK0JxbnlCdktTZUhqL0FB?= =?utf-8?B?R0poVW1WcFlCNzNTQk9IOERLR3RNQVRuUkVOOERZVngxWFJCRGx2c2lGYmpF?= =?utf-8?B?M2p3MElKenVNQUowNk1zR2Y0cDVIQzZrbHArc2V0Um9Ub2M0aGYrbVpFOXBU?= =?utf-8?B?NWtPbEN4NDhKaWhaSUdxWXdUSDFGUlIyamxhNjdDMXNmVVdRcHpJMi9WT1RH?= =?utf-8?B?ZzlSbW01SXVySWJCWG1MSkdRVXFNaE5XVFM0N3BpRGRub1pSUllacEhNZGxj?= =?utf-8?B?bWdKQU4ydzY5bnU1bk5QRHhyM0V4ZFRHSmlrMWtEY2sxZ2IzQlp4Z0tFQ3Uz?= =?utf-8?B?cm8xRVhFaFlNQTErMTJaTUxvRzNuUEN4bURCMmdrdVlHcDBodlZvNmgwR0hG?= =?utf-8?B?THdoeno1b0FWVTlnMTU3WjNxUnNKbUFUVmwzM0VDSU1lL2N2bTZ0ZnZsdFRo?= =?utf-8?B?VlcrbjJpRzRhV2Q5a0xpZldxdW1BdjN1WFZISzFCMEppRWFOa2pNZTdrSVJ5?= =?utf-8?B?VCtiQVl5cXgzamhEREMyR2h6ZWVqTG9KTU5RQmN3M1g5anJnaWpuTjdmeUM0?= =?utf-8?B?eHdhb1lXVDh1TjhoNEg1YU9YKytqcStaWjJnV1NNWm03Q09hNWRnSWNjMTJD?= =?utf-8?B?SjZyYm5QM3lBd1BMd0Iwa3U0UUtEKy81V2J3WDJOaUtlTmtmTXZxSmwyUElY?= =?utf-8?B?UjdBUkJUSDRvREtjbCtjUnNsM0t1MjFTbU9Rb0NQVmF2VWR2aG1kSDdVb1I1?= =?utf-8?B?SnZKL0F2OC9ZWXlkNFd6TVNFcnRTeENEdityd0xuWjVqQjBleE1ncGhPaTFH?= =?utf-8?B?SEV3YWNOOUgwaW9HdXp2MzE1WDZud0dZMXNlMzFjU3c0Nk41enIvSUkycXds?= =?utf-8?B?ejQydGJ6ZmRxb1ozVkNiOVJ6VUdWa2JFOW9MYTBWQ2ZzWTdnQ1ZTVFgxaUpL?= =?utf-8?B?ZDd0dlZsL1FSRzlUQm04QUVxdW8vb1dOaGM4YmNOYmNaQU5zaStVWmVQVkxq?= =?utf-8?Q?qdKdoq1q2wmx2Zr8=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 481862dd-81e3-4c4f-427b-08df23bf832c X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2026 15:35:55.8662 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: R//nYtNS90gIRWkorVSqLY1XbVae3jc8v5a2SHWlJzkLeFMxpFY1Pdih10zkgxFfBQ0oOU1v8gz/2BSOr/+NOz16CaQNjd3O0TL8YSTQuZs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9774 v6 -> v7: No major logical/functional changes. Mostly code deduplication, refactoring and minor hardening for issues reported by Sashiko: https://sashiko.vzint.dev/#/patchset/20261006-usb-host_v3-v6-0-8688ec9576d1@virtuozzo.com v6: http://lore.virtuozzo.com/20261006-usb-host_v3-v6-0-8688ec9576d1@virtuozzo.com Signed-off-by: Andrey Drobyshev --- Andrey Drobyshev (14): usb-host: don't leak hostdev FD on open failure #VSTOR-137800 usb-host: don't leak config descriptor on claim failure #VSTOR-137800 usb-host: add migration blocker for CPR modes #VSTOR-137800 usb-host: preserve hostdev FD during CPR migration #VSTOR-137800 usb-host: factor out usb_host_reap_xfers() #VSTOR-137800 usb-host: drain in-flight URBs across CPR #VSTOR-137800 usb-host: re-issue drained URBs if CPR is aborted #VSTOR-137800 usb-host: skip product-string read on CPR incoming #VSTOR-137800 usb-host: factor out usb_host_start_events() #VSTOR-137800 usb-host: hand off the device across cpr-transfer #VSTOR-137800 usb: migrate the interface altsetting #VSTOR-137800 usb-host: reconfigure endpoints on CPR incoming #VSTOR-137800 hcd-xhci: resync isochronous endpoints after CPR #VSTOR-137800 usb-host: make CPR migration blocker conditional #VSTOR-137800 hw/usb/bus.c | 36 ++++ hw/usb/hcd-xhci.c | 25 +++ hw/usb/host-libusb.c | 575 ++++++++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 583 insertions(+), 53 deletions(-) --- base-commit: f3c1d9ef263edfab8d2a273078493bb766dcf8f8 change-id: 20260914-usb-host_v3-bbfea86d1dad Best regards, -- Andrey Drobyshev