{"id":19800,"url":"https://patchwork.libcamera.org/api/patches/19800/?format=json","web_url":"https://patchwork.libcamera.org/patch/19800/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240326083804.3718161-1-anle.pan@nxp.com>","date":"2024-03-26T08:38:04","name":"libcamera: device_enumerator: exclude uvcvideo device when enumerate","commit_ref":null,"pull_url":null,"state":"rejected","archived":false,"hash":"27526523540996ad38321c16abb7a99362c06e60","submitter":{"id":189,"url":"https://patchwork.libcamera.org/api/people/189/?format=json","name":"Anle Pan","email":"anle.pan@nxp.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/19800/mbox/","series":[{"id":4239,"url":"https://patchwork.libcamera.org/api/series/4239/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4239","date":"2024-03-26T08:38:04","name":"libcamera: device_enumerator: exclude uvcvideo device when enumerate","version":1,"mbox":"https://patchwork.libcamera.org/series/4239/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/19800/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/19800/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id CA8B1C0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 26 Mar 2024 08:38:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AFED9632EA;\n\tTue, 26 Mar 2024 09:38:24 +0100 (CET)","from EUR01-DB5-obe.outbound.protection.outlook.com\n\t(mail-db5eur01on070f.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f400:fe02::70f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8D5C063037\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 Mar 2024 09:38:22 +0100 (CET)","from DU2PR04MB8967.eurprd04.prod.outlook.com (2603:10a6:10:2e2::19)\n\tby PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.31;\n\tTue, 26 Mar 2024 08:38:20 +0000","from DU2PR04MB8967.eurprd04.prod.outlook.com\n\t([fe80::863b:1be2:4278:3470]) by\n\tDU2PR04MB8967.eurprd04.prod.outlook.com\n\t([fe80::863b:1be2:4278:3470%4]) with mapi id 15.20.7409.031;\n\tTue, 26 Mar 2024 08:38:20 +0000"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"c0/CBoxz\";\n\tdkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n\tb=aNJF/VIjrsm9MfheIgytLHpLn4KSnYx0TQnSVZWZDJzAYrGqvWuZn1GcBjaa6evRE4N047mQkoJvAMlpmcM6JlodaSeBijxS7ta/GTQRs4JyoQwWHiwiT1aCYzPB7yAFd4DQwWMf0JVbTklh9WjqO3EJ0j4RVnjjc9o6EkMTOMBOhd3alcbwVInhVmwjW1wqWDgEXZ4dD9jPrj8biDmes7Vfd8Di5dq88CaJz07er3rEH9HfZngyV5aGg4Id5scSDNm9gMVML/f+icRXhPb+YvMg/npO+X70NZPUH4HmTVhysklyQ6+fLfODJrQwKs28SjBx0ZWMG8NNI7/cLl+hSg==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector9901;\n\th=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;\n\tbh=zBqCFH6RI5BWmb2udUNGwpbeWxpStkrTz7Jq5iqH5Ps=;\n\tb=UTqSz51oVq7RmKQGmeayeroukmyelBDJiNVBYRWYx6HQxgVUt0VKMPd5uk7gSDYltq/iXl2Eqg7eMyblsyb0q/9CyPdIDtnPOpSjzobZtR3BtHEkHc84iqz3O+yUKziCzFeAfZdgvcC7U7CQw6Ly5iKDMU39v9uOfr2gqqIrxzFQj3xfj5sacCOc3SsRE6SVN/PjQD/Bp35ZgvTfqKBIyQjE5rHFXCl2pz9PikmpvOCGiMnXgyPCpj+Ov1Tfxn06++HGI24JWcpyq9P6g2SerDggdS69w7ijQhj865GvwB+hplifyeHEczgboJxbg4RfBHRm/YOCtL4aE1HTjYtoTA==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=zBqCFH6RI5BWmb2udUNGwpbeWxpStkrTz7Jq5iqH5Ps=;\n\tb=c0/CBoxz9VJp+f0gEJ9cq4LhACnBb8OoOK6yoVHGaIb7mIATmzB+Y6a9n5gVN4NYQT5/Ux9Uchz0OG7Pyz6mCCt42qhvpocw6ENG2Ilp1WM6nJj3uvowk13CcGC5Egs8HRw58AkEY0wRWgbpR4B+i1AkWeBF3EVYh0NqQ3Y0VdM=","From":"Anle Pan <anle.pan@nxp.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"hui.fang@nxp.com","Subject":"[PATCH] libcamera: device_enumerator: exclude uvcvideo device when\n\tenumerate","Date":"Tue, 26 Mar 2024 17:38:04 +0900","Message-Id":"<20240326083804.3718161-1-anle.pan@nxp.com>","X-Mailer":"git-send-email 2.34.1","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"SG2PR04CA0197.apcprd04.prod.outlook.com\n\t(2603:1096:4:14::35) To DU2PR04MB8967.eurprd04.prod.outlook.com\n\t(2603:10a6:10:2e2::19)","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"DU2PR04MB8967:EE_|PAXPR04MB9642:EE_","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;","X-Microsoft-Antispam-Message-Info":"U2CDIkpxaoD8gJauGgOjl3l4y9HohMd+pTXTa/E5uEb+pPK9D7WgjAsc8P3+kZS0BU+ZRQ5l/KeMyJor65RS9v20JGxCNUmjVRT5uMW7cSJquFfl7kbJIoPHTYds6AnAUXgLzuctrpFrcBKXMNTQl49hqRG4U7DkWQRx/6ZOjoLWOlOyucMiSdYNxPx8SzgFHF9mV9zJDriejzxkM8wmKYJAj6FWVRCF16kAEomjUt0GG/CRX1byA1sL5MG30oeFk/eEAXS6no+mxQs8Myki5o7J2LxTImb89duQ+UczP/FVH4yDWg6Vy4pnhMLgH6M/MCdezbpjHX1NlcJRV25H+XUELCNqptSzRChnjAFbUkcX1apkP7giIjCfnPxQlXhSwJcMaVZR6MMMW26CGL1Yc/9gCF/vDwD6nHsa1Ay7dV2yBontecq7DkEhLmV5verSiqAHlb+2rGw0vuWCoiVQ/UkLeOMbhp9WEbr1u9c7QRstPoJUDBQyumXm4pK+yVZFw4pIIjBsBzZ9B0fokMiin06q8akI2ZGwvXqTz6PdXZPBquA0L0x4WXtOYOWJbXgaxEeNNB2NQ/eb1VlWeTfjiWLwj5vAoxjqQO7GbxDBXWG9GcGD24MMshQa4jjBpyJld4gbjNyvnZBI007HLTtOIv9I9OIpIfqP1SueZZ0dw0R0w+IsKfFzx7igMgfVNSfitJ4m2HuYhEKXwFnwXMOo7aDbDIRWN07hFvvD91wgP3A=","X-Forefront-Antispam-Report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:DU2PR04MB8967.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230031)(52116005)(1800799015)(366007)(376005)(38350700005);\n\tDIR:OUT; SFP:1102; ","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"unCFscZhb0/iHrSgjJk+uaQH1Cao+9ybEwn4Qie/8fE3rOWzlA+cxHX73ybIyBiEl7xOZZBehlXztiEKGVqEkm0dy/yt4DyjmV4Lgn5pJnMgj1ol4iU1N5Dcvi1H9I47+g1pjn7nbK2J2cNrKusds+y8jAvYDTcBT4I8lkMd9PSbSDSr/jZ5cQGCNyWB81KhdM6mO4A2kJpKSGOK6nsTYrsVspho+UB+1+waj8oEexZ7od/vjQItECeDibFEaRcBh1x2gZ90pNYyshbFl2mi2QfPTAyayj8zYI1I9Rtn3CNdwI59Ru9b72N3GHO6mN8PszynVgj+SJOA9dsl20gfIGJJSNE6/iP+8vJWV1MFGiIxCPYKyQeQ77RUAXZSwN5gf4azksGmU7uTRdO1G2VkiwxtoDxN05MryQ7UVC2XCrNRzQ0yP2WCsN8ZOTMP3m9qLl3jLgR3c1z/3RoDEikqBsNvdX2/S43f4qpq4eUbvVYyXNArBSJLKnPWsPETG1QONg/xkvA8yQjVXV4wmmGotnLjifN0qJgrKby+oun8KMRvwi+DdV6cE9uaBMJqxe26CY6/MW1KdZ3i29stlvMj1uvU6XBgPQVsHFer8vz+ciPbXqGEwdXU8chaqPNlzHIDiSrcwetgRIi+VghzM31eYPS7HbGNkygUyD2BGjxlJZpU7toNrZFz4zPj/KVlWNfINzsYC0WVKbEyDAtZ353QheFu+WuUEKJpqmq3Ee9HwGy61GVEuXYcGt03PPgFe5bl/V3aKb8+BZqrkbAEzupqlY6hcD5364/JH4nDnf4Uf/OnbFrde9CGfXPqUW3RL/JxSUyKEa18IH8fetkX7NKLqMrFK9rS7sgbuo7mVudl7ps0DMsltp0RWbtuXEpsA6kbO7J/H5oAKB1iwarmmndDEtDJGVlqJH1sxcbVuEz1gXHyglEwx91qzFrOpzMrZJCJG5Gzc4VMLaY48xbUlsFrlqsIlxsiUTudlflPHkwqufJ50ZbGBShqPMDr0S5SU9DMBh0fZ69mSWdJf9bycfYuB9+vX2GnpZV52xjtPLoJtY7H2lkj93E/bA5YlOu3kc6vNjGDk5/DrKW992xVvfjwIhwvx9hoPGHittp8WxThKjLzLCBlbAFTpDhgqYmmt077lowenEA/Y3tRsJ9LO9+xMJHey8q7bKSZlJdANtDNw/ZcoETNCoL11rqqPvDMZnGiTDzgrfQCgpjfQ5TxaIxCG9EoLnNHtbw3w/TcgBlliDZMjQR/qQvmXjQ2dZDtEOCpWuxisvocml9gg4mPNR9OMkrBun/S5SxW/RHI7O/o3COS/sR059fmIGybDce0znfVPL+9h84bsjJe+OldnjqEJS5s9vbq9ONpGxz8NIcR2jj47Obi1i0Lklqxae5sm/lI+lZwR2zKIleRUSkjr7a7Xq6NIL5ipUGV5Cit8dzaYoq6Ij3Yi6YAg7alwIJruz9t7A8n4lP+fMy8rZjfouECC496TwYCn2mVUgcKLZS4CkL7f5BBiLvCO5USFRydONVoToauF+MIzIWMn9JKxfDIid+8g9IYB8FdlEkPjbkwu8ooOJNSX32za9F9TQvFTSd4","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"d69a0fd4-1628-4d35-4c98-08dc4d701777","X-MS-Exchange-CrossTenant-AuthSource":"DU2PR04MB8967.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"26 Mar 2024 08:38:20.6738\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"ETXCfHzqD24GpNg85cuATLki0FZYREpAe5lzEqry5PXWmieZIYxskxTggpL/7TvNZLNogkayNtLT0c6GXr1kHQ==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"PAXPR04MB9642","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Camera service startup crash when camera and\nusb camera are connected at the same time,\nservice will always reboot due to the null pointer\nin populateEntities.\n\nIn this case, a UVC device was used to populate the\nrelated entities, pads and links, which was not reasonable.\n\nTo fix the issue, ensure the media node is not\na \"uvcvideo\" device when enumerate before createDevice.\n\nChange-Id: I656a542e83449df287d34a4e358ae2e26e784f17\nSigned-off-by: Anle Pan <anle.pan@nxp.com>\n---\n src/libcamera/device_enumerator_sysfs.cpp | 21 +++++++++++++++++++++\n 1 file changed, 21 insertions(+)","diff":"diff --git a/src/libcamera/device_enumerator_sysfs.cpp b/src/libcamera/device_enumerator_sysfs.cpp\nindex 9979d68a..224ec8c8 100644\n--- a/src/libcamera/device_enumerator_sysfs.cpp\n+++ b/src/libcamera/device_enumerator_sysfs.cpp\n@@ -73,6 +73,27 @@ int DeviceEnumeratorSysfs::enumerate()\n \t\t\tcontinue;\n \t\t}\n \n+\t\t/* Check that the device node not a uvcvideo. */\n+\t\tstruct media_device_info devinfo;\n+\t\tint fd = open(devnode.c_str(), O_RDWR | O_CLOEXEC);\n+\t\tif (fd < 0) {\n+\t\t\tLOG(DeviceEnumerator, Warning)\n+\t\t\t\t<< \"Failed to open media device:\" + devnode\n+\t\t\t\t<< \" (\" << strerror(errno) << \"), skipping\";\n+\t\t\tcontinue;\n+\t\t}\n+\t\tint retval = ioctl(fd, MEDIA_IOC_DEVICE_INFO, &devinfo);\n+\t\tclose(fd);\n+\t\tif (retval != 0) {\n+\t\t\tLOG(DeviceEnumerator, Warning)\n+\t\t\t\t<< \"Failed to get info from device:\" + devnode\n+\t\t\t\t<< \" (\" << strerror(errno) << \"), skipping\";\n+\t\t\tcontinue;\n+\t\t}\n+\t\tif (strstr(\"uvcvideo\", devinfo.driver)) {\n+\t\t\tcontinue;\n+\t\t}\n+\n \t\tstd::unique_ptr<MediaDevice> media = createDevice(devnode);\n \t\tif (!media)\n \t\t\tcontinue;\n","prefixes":[]}