From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 789EC42317A for ; Fri, 1 May 2026 17:06:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777655208; cv=none; b=ZHQlkHuiy7ibhF01ZPcfY19HjG3G176ZfrgGSZhfs2j9Zomhfk+EL+RNIrjXpiR3MW1A8rilL7emhXCrnijHMwig3WOJ+dtuk1To9pQZvT/NNFKVrkTC4VAvxhiiRxNJLqg1qYV5sLoAi8id9HiZpJzXgO+3ewv6XJFwt24anAA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777655208; c=relaxed/simple; bh=qsMJyaTk8HgUMp6PIBAKLauYZ+N5Wx0Hlr64l+0gPH0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LvV0eJ/P67dmVuOJVXka6HzkhqEJ4ernqq/gFG9jCiFubyIgKCl0aQWSeHRZ6O5sGyg5IBKlKEUFAnrCmI0eCT71PxaiS7tSS/WSY9/fDCWhUlUMZ/4/qp5AY0l63d6BFjw2C1AFCyP1VeSKE3DwEOMYytr+cluNJykZPoj5QBU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=loU/v0O0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=B72mQwcw; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="loU/v0O0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="B72mQwcw" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 641GLVhO3938835 for ; Fri, 1 May 2026 17:06:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=WE94TFXH4kX yNBV49l2OPveZ6QXNRWCGY2DVlIlO5xg=; b=loU/v0O02Jz2CQtsLmIvsqPRIAm T08qeNlO2HCXUW3iTN+T/lmvauIKyhxerZV0GM3rjRSURMsE298VzLMW1ZBi/Wmg 6aJM4KwT598cyaHKgE9K+kUvbrDz4lDRiZzSxoSpXVLYHjnwxqjcHDcKwf9DK5vJ WFUUgqLkGzWL7BsZ/yFWnbz2Vs9DUR2BTHC2gE6HczSzd3z4EWQebZqdnMcm0GcB hd2o6eDnipsywQ1pDXUCqbNhD+dBj6z0sLVFHQLihZpyVIGSZ5qdryznD7ksSoda j5l+h2GGw6dwMRDOqxt9RqgJbquQmZSwGt/QqZaiP8ThJmB1dEcMZAgbp2g== Received: from mail-dy1-f198.google.com (mail-dy1-f198.google.com [74.125.82.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dvtrn12nj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 01 May 2026 17:06:45 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2bdf75bc88fso3665876eec.0 for ; Fri, 01 May 2026 10:06:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777655204; x=1778260004; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WE94TFXH4kXyNBV49l2OPveZ6QXNRWCGY2DVlIlO5xg=; b=B72mQwcw1rGqD3kVpnDBjVrV7gigwwchtZPJfh/unDblLHcyassvAkEh3DmnKAlxVk 48sD8ua/qtIrxNkj3XdUmA1IVK2/XXShL4cVh5rZDEkXQ9gLyxZHXPgrxQU/uVNIFVxk gnAbuJyABriTp8PiogrCXKEE1LeCpzSgzLEmsq04kTE5SNVnU4/wJ+dwtPT2eCcRuPVI M5UQOnWIjVWgrFc/5WfZzvCL9x9aDBZesHSGI+zI7/PHamHyxgbJegyChcjRTfRC/4Tt ezgFVRLR8fcb/BuQZNXl5s//MS86h+p4QTZbiKHFwbi5ptzCRg8TDt0j7Qlk5oLM2oWJ 1iTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777655205; x=1778260005; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=WE94TFXH4kXyNBV49l2OPveZ6QXNRWCGY2DVlIlO5xg=; b=i2xbMIDfkqQ5842a70WUVQJWd3vTMaX10x1xERpwGH+sjQ4mC5WrgcLyUGP1zwCVkl dpiZzJEl/TevZXlie2UCEQ0bKhB3eYB63iA5a3pzL4/p6gZnj8lPTCDgE2jJ/rCQdogH BMip5X9rCiIvlbPwmXFMpzzI7csIFlCO5wCE3MtEXybKTiCbnyccTACHnKQkZxqF8CSw eWlqBhMOwEnGUnDCnrwxJbYCDcoNhKlALJRMCLrnZLs4TGGPK5Lvc+jsRht1W9awaysJ QanceL8CIPxij7FaDd+FucMDQQUP+306ieZQTnl91t9roM6IJxJf0LLrPY1DlRyLsfnP dwjQ== X-Forwarded-Encrypted: i=1; AFNElJ+inVUW6trBdQAOYh+hSsv53FJ8gMS8lLe/vIDLr1boIMdzRM4a8FwpWbBz06AhgTunURPgIuUBag1wNH0=@vger.kernel.org X-Gm-Message-State: AOJu0YxrO9btecsiRZjwZnFyjnfuY7DBYHVgIPmr5X/c3KZPh7NX4vbT 8Wjqs5EN1C8X0xWcI6QRX2uX5ue8sbqQ7468JKYadnn5Xx1aEu3ru5T4fxR9bTWjIkBoEobDBLn RK/C6q4oITK12hM7RR69gtEhZrD1AEKB4c29neDsGOv+g6QqZZVIqM3AyhM6qrxabHvo= X-Gm-Gg: AeBDievx1DftfCaGl317YkKV++M7wZyd2nCed7UEiH4YVkmT2AP4rSOv573FSDikL0Q tLXH1kRe3aPay/hiCk2jx2Icbm9IhxfamLW1VY8eh92EGGAIH/QcdbwUL68qQi2n+Ku20+dfV7F M7HCaXqDwg/VciD89DaafkHZz9Lp+t/diGJNxbk5drtl1m67vwO6ziyIcNoncO4ctgsAafWeUT+ HEVPQMGSbRTIAlkmqu8Pzba9j6Ud+kKeaEiU6I/wkg3RhGHLA9NjgHUyuTsSFTZYxdfebm1X4m1 f2nGOnlmsj+dwdRcRgCEUb9pdat1VF79UpTumS7T/ynrkw9tvt5NbhSuRDNjdEu1qZ3nohKcpcD jlrLEuLhw1UpokuTbMn4np+FEgvvGM41JfbmmGMe8C/krQ6lSf8RSRWeHGDX0jyaWekxZxJpL0K MkO1bZGdZxIA== X-Received: by 2002:a05:7301:5795:b0:2ea:d965:a4b9 with SMTP id 5a478bee46e88-2efb7cd0f64mr98230eec.7.1777655204362; Fri, 01 May 2026 10:06:44 -0700 (PDT) X-Received: by 2002:a05:7301:5795:b0:2ea:d965:a4b9 with SMTP id 5a478bee46e88-2efb7cd0f64mr98206eec.7.1777655203669; Fri, 01 May 2026 10:06:43 -0700 (PDT) Received: from hu-eserrao-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2ee3537d300sm6655978eec.0.2026.05.01.10.06.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 May 2026 10:06:43 -0700 (PDT) From: Elson Serrao To: Bjorn Andersson , Dmitry Baryshkov , Greg Kroah-Hartman , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Conor Dooley , Souradeep Chowdhury Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio Subject: [PATCH v4 7/9] usb: misc: qcom_eud: fix virtual attach/detach event handling Date: Fri, 1 May 2026 10:06:33 -0700 Message-Id: <20260501170635.2641748-8-elson.serrao@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260501170635.2641748-1-elson.serrao@oss.qualcomm.com> References: <20260501170635.2641748-1-elson.serrao@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-ORIG-GUID: Yc6hueGlvfHt3uldweNmuyDKmaBMMiqu X-Proofpoint-GUID: Yc6hueGlvfHt3uldweNmuyDKmaBMMiqu X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTAxMDE2OCBTYWx0ZWRfX3k3Q55uI8LeQ H8V1FOUJesuhV6Gg8pv7fWXc9t2BJ25MMXooZIxp+oHEIuKYh9WQCVst6bbxs5+GhtBZXffzf8S q5Hg64KbLhA4Iq2Lkw9GmRHOaXB+QfgY4+JPZ1fIwMXmJlhnrLsoLP9IJz52Ae/yRZWO4sod9zh G0FuyTi/hI8iftRwh1TJe2McRt68rs8KEzRfcWNJ6DNUtFmC5azLg7GZZwvcS1putci7octpZ4R yac0+DMORRPdhAN2LfXFQIzPboGx4WERoZZ+OlvF0vhwxSHIcrxd65WNM0S35BLwf6Sq5YcyPNn EYvjNlQizDhdjtrSrYUJfNmSykM+d275+RE/czKtVrOgX3lhosF7qONTMVGhyw65yO9vpNr7wY5 j0UpWBKHL/BFUyqUcKGhFrNnJ6ntjFYM6LIuJlniYT8FzelnOsEc3jVdTcyoSVSSMc4PpLsR5xE 6sBdxCNl6picdlr4hiw== X-Authority-Analysis: v=2.4 cv=KrZ9H2WN c=1 sm=1 tr=0 ts=69f4dda5 cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=oDIJ3hVRoRHbvujwG_AA:9 a=bBxd6f-gb0O0v-kibOvt:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-01_04,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 adultscore=0 impostorscore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605010168 EUD provides virtual USB attach/detach events to simulate cable plug/unplug while maintaining the physical debug connection. However, the current implementation incorrectly sets the USB role to HOST on virtual detach, which doesn't represent the disconnected state. Fix the virtual detach handling by setting the USB role to NONE instead of HOST, correctly representing the disconnected state. Signed-off-by: Elson Serrao Reviewed-by: Konrad Dybcio --- drivers/usb/misc/qcom_eud.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/usb/misc/qcom_eud.c b/drivers/usb/misc/qcom_eud.c index 4734b6307a85..187cbffbab13 100644 --- a/drivers/usb/misc/qcom_eud.c +++ b/drivers/usb/misc/qcom_eud.c @@ -320,10 +320,26 @@ static irqreturn_t handle_eud_irq_thread(int irq, void *data) path = chip->paths[chip->port_idx]; + /* + * EUD virtual attach/detach event handling for low power debugging: + * + * When EUD is enabled in debug mode, the device remains physically + * connected to the PC throughout the debug session, keeping the USB + * controller active. This prevents testing of low power scenarios that + * require USB disconnection. + * + * EUD solves this by providing virtual USB attach/detach events while + * maintaining the physical connection. These events are triggered from + * the Host PC via the enumerated EUD control interface and delivered + * to the EUD driver as interrupts. + * + * These notifications are forwarded to the USB controller through role + * switch framework. + */ if (chip->usb_attached) ret = usb_role_switch_set_role(path->controller_sw, USB_ROLE_DEVICE); else - ret = usb_role_switch_set_role(path->controller_sw, USB_ROLE_HOST); + ret = usb_role_switch_set_role(path->controller_sw, USB_ROLE_NONE); if (ret) dev_err(chip->dev, "failed to set role switch\n"); -- 2.34.1