Patch Detail
Show a patch.
GET /api/patches/18722/?format=api
{ "id": 18722, "url": "https://patchwork.libcamera.org/api/patches/18722/?format=api", "web_url": "https://patchwork.libcamera.org/patch/18722/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20230609-empty-devnode-v2-1-82a11e74aafd@skidata.com>", "date": "2023-06-09T06:14:32", "name": "[libcamera-devel,v2] libcamera: device_enumerator: ensure deviceNode is not empty", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "6b95a506d0b2c472c1dff0e3a062ff7a8664d484", "submitter": { "id": 163, "url": "https://patchwork.libcamera.org/api/people/163/?format=api", "name": "Benjamin Bara", "email": "bbara93@gmail.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/18722/mbox/", "series": [ { "id": 3916, "url": "https://patchwork.libcamera.org/api/series/3916/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3916", "date": "2023-06-09T06:14:32", "name": "[libcamera-devel,v2] libcamera: device_enumerator: ensure deviceNode is not empty", "version": 2, "mbox": "https://patchwork.libcamera.org/series/3916/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/18722/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/18722/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 26418C31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 9 Jun 2023 06:14:38 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 95A9161E5F;\n\tFri, 9 Jun 2023 08:14:37 +0200 (CEST)", "from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com\n\t[IPv6:2a00:1450:4864:20::62d])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2303161E4D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 9 Jun 2023 08:14:36 +0200 (CEST)", "by mail-ej1-x62d.google.com with SMTP id\n\ta640c23a62f3a-976a0a1a92bso268141966b.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 08 Jun 2023 23:14:36 -0700 (PDT)", "from [127.0.1.1] ([91.230.2.244]) by smtp.gmail.com with ESMTPSA id\n\tlw4-20020a170906bcc400b009787209732esm846859ejb.143.2023.06.08.23.14.34\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 08 Jun 2023 23:14:35 -0700 (PDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1686291277;\n\tbh=fXnW/UZ/WqTC/piqp+7ntO2brcr8oqSOZ9Rh9PWHCOY=;\n\th=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=XZ6KiI8tdbgoH0nbiAMBUbyEcjj+vmzD8bZNoS/Q6zjnUacUt/Nq3+VO1y1PobWNY\n\tu+kZyaUZiPtVut68LttQv3ahlnMi2XCk1FqRJPMNzm/D3XhqTqoXwC/ZgfPE8l9NHF\n\tdKoKaDTvqhDk+I2n992by/JyKpiB13vSlvxeiVaeMUDKZwwKmgBbZuFeiBDoR83G9U\n\tvfuD8iHJkuiq93tGBB25g7HBU8nWaUDjakny3DrGWi9keBHHgojtg42zl02RS6Q80O\n\teHgU9m4b905ALGx7D4pvw6L3SNQFAbNVgZH2prliDekIrEduDUxJUdwyjSi7XcEM0w\n\twCi3cl+4CIFyg==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20221208; t=1686291275; x=1688883275;\n\th=cc:to:message-id:content-transfer-encoding:mime-version:subject\n\t:date:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=GW+fexN6ShDuPRhEn5uLZ+0kwHwGcDQvLrzO5O/QGr4=;\n\tb=ojOxsPj0UdxHFycPIVzK269KKQZC3RZihS0MefSryzaPgtUKA6DbW1DN92opDVE1wx\n\t6cnQ+GcWqYfiBv7Nh7IzHq6qRPtgxAGLf1PA7akw4zYS8q+y6dXxLljOyiQ9/DjtCtp/\n\t9juEneeD5R4bQkBdO6sYTyfgYKMckemUnfGW5jxehXvW3sIPgZEHYidAnE7oY2x9K26S\n\t4Yi8mFwbvrBN0sDtOr8eE69Ztp6ClW5+3paW+Z66uK+hN4Iz4gEhVP+bbbNrGcT65rwR\n\tJhJcJ7iI5Yfc7x2lxx2VgeNi2IcsmLnkSYZMKDLh6PiYOTNhXRI/qexqF/RNpiYaMQb0\n\t2M3A==" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"ojOxsPj0\"; dkim-atps=neutral", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20221208; t=1686291275; x=1688883275;\n\th=cc:to:message-id:content-transfer-encoding:mime-version:subject\n\t:date:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=GW+fexN6ShDuPRhEn5uLZ+0kwHwGcDQvLrzO5O/QGr4=;\n\tb=QYCWyKmi8T4CbSh0LZ6C2pwG54IA1OMSeuQlWS+snJyyyn92Cq5Jkf8wnc87hGly0V\n\tluEe9YCz9Wc0wUAUyYwm2qTl5N2rlgEyHAbK69Gh629evIDBmA0p4wG10R8sOxflEith\n\t4+9VSFpGS0YbBYL+Bo9oUW2pQF/1+XGX3zUBhf3Y+ui40S2tVvpKRnXJ2a8F/jiX9Yc3\n\ttelKPHEoEPLVqufJmjZvbku5Hbw2V5qFBdHUeMo/SgNlO5M1UaKIo+cCkIxkb1nUeviS\n\tb2YZu2XxqqknU6Pw9SBeD87Io2IfUVfje2lrPGVpqktnvWP/ldnAyqnpI3pPZ//WBnO8\n\tb2SA==", "X-Gm-Message-State": "AC+VfDy2AiRWRQ92psXaQs7wv3lC/RsOABML5jmcdriOUNYe2+NZZ68y\n\tzESFtWhnrQT3hsjQr3vqaAN25Z/pflQ=", "X-Google-Smtp-Source": "ACHHUZ7x8roY2aHjKID2Q527bjoT0APt5Q0OWEwm/nnCxgg5eImfXLsZB+vDeXdEstkhtOrO6GoH7g==", "X-Received": "by 2002:a17:907:2ce5:b0:978:af9d:4d4c with SMTP id\n\thz5-20020a1709072ce500b00978af9d4d4cmr932268ejc.75.1686291275479; \n\tThu, 08 Jun 2023 23:14:35 -0700 (PDT)", "Date": "Fri, 09 Jun 2023 08:14:32 +0200", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20230609-empty-devnode-v2-1-82a11e74aafd@skidata.com>", "X-B4-Tracking": "v=1; b=H4sIAEjDgmQC/3WNQQqDMBBFryKz7pSYFINd9R7FRcxMaygmkoRQE\n\te/e6L7L9z+Pt0Hi6DjBvdkgcnHJBV9BXhqwk/FvRkeVQQqpRCd65HnJKxIXH4hRdUSyu2lLLKA\n\t6o0mMYzTeToc1m5Q5HscS+eW+Z+g5VJ5cyiGuZ7e0x/ovUVpskaVV2upRk+0f6ePIZHO1YYZh3\n\t/cf5wikgsUAAAA=", "To": "libcamera-devel@lists.libcamera.org", "X-Mailer": "b4 0.12.2", "Subject": "[libcamera-devel] [PATCH v2] libcamera: device_enumerator: ensure\n\tdeviceNode is not empty", "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>", "From": "Benjamin Bara via libcamera-devel <libcamera-devel@lists.libcamera.org>", "Reply-To": "Benjamin Bara <bbara93@gmail.com>", "Cc": "Benjamin Bara <benjamin.bara@skidata.com>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "From: Benjamin Bara <benjamin.bara@skidata.com>\n\nWhen activating both ISP nodes on the i.MX8MP, but only connecting one\ncamera sensor, libcamera aborts because it couldn't find the chosen\nentity's device node:\n\n[37:54:40.779902250] [3631] DEBUG DeviceEnumerator device_enumerator.cpp:252 Added device /dev/media1: rkisp1\n[37:54:40.780196750] [3631] DEBUG DeviceEnumerator device_enumerator_udev.cpp:322 All dependencies for media device /dev/media0 found\n[37:54:40.780237875] [3631] DEBUG DeviceEnumerator device_enumerator.cpp:252 Added device /dev/media0: rkisp1\n[37:54:40.780505125] [3631] DEBUG Camera camera_manager.cpp:152 Found registered pipeline handler 'PipelineHandlerRkISP1'\n[37:54:40.780599875] [3631] DEBUG DeviceEnumerator device_enumerator.cpp:312 Successful match for media device \"rkisp1\"\n[37:54:40.780731375] [3631] ERROR V4L2 v4l2_device.cpp:93 'rkisp1_isp': Failed to open V4L2 device '': No such file or directory\n\nFix this by skipping empty device nodes:\n\n[37:49:05.172672000] [3603] DEBUG DeviceEnumerator device_enumerator_udev.cpp:322 All dependencies for media device /dev/media1 found\n[37:49:05.172720625] [3603] DEBUG DeviceEnumerator device_enumerator.cpp:256 Added device /dev/media1: rkisp1\n[37:49:05.172973875] [3603] DEBUG DeviceEnumerator device_enumerator_udev.cpp:322 All dependencies for media device /dev/media0 found\n[37:49:05.173012125] [3603] DEBUG DeviceEnumerator device_enumerator.cpp:256 Added device /dev/media0: rkisp1\n[37:49:05.173281625] [3603] DEBUG Camera camera_manager.cpp:152 Found registered pipeline handler 'PipelineHandlerRkISP1'\n[37:49:05.173376875] [3603] DEBUG DeviceEnumerator device_enumerator.cpp:107 Skip rkisp1_isp: no device node\n[37:49:05.173414375] [3603] DEBUG DeviceEnumerator device_enumerator.cpp:316 Successful match for media device \"rkisp1\"\n[37:49:05.173671250] [3603] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video1[15:cap]: Opened device platform:rkisp1: rkisp1: rkisp1_stats\n[37:49:05.173775125] [3603] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video2[16:out]: Opened device platform:rkisp1: rkisp1: rkisp1_params\n[37:49:05.173880500] [3603] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video0[18:cap]: Opened device platform:rkisp1: rkisp1: rkisp1\n\nSigned-off-by: Benjamin Bara <benjamin.bara@skidata.com>\n---\nHi!\n\nSeems like something went wrong with the format of the log in V1 when\ncopying it.\n---\nChanges in v2:\n- adapt commit message\n- Link to v1: https://lists.libcamera.org/pipermail/libcamera-devel/2023-June/038181.html\n---\n src/libcamera/device_enumerator.cpp | 6 +++++-\n 1 file changed, 5 insertions(+), 1 deletion(-)\n\n\n---\nbase-commit: 0ee9339331c648232e87d2de2ccd5a92cc61cab2\nchange-id: 20230609-empty-devnode-36dd2647cde0\n\nBest regards,", "diff": "diff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp\nindex f2e055de..f2d943d1 100644\n--- a/src/libcamera/device_enumerator.cpp\n+++ b/src/libcamera/device_enumerator.cpp\n@@ -100,9 +100,13 @@ bool DeviceMatch::match(const MediaDevice *device) const\n \t\tbool found = false;\n \n \t\tfor (const MediaEntity *entity : device->entities()) {\n-\t\t\tif (name == entity->name()) {\n+\t\t\tif (name == entity->name() && !entity->deviceNode().empty()) {\n \t\t\t\tfound = true;\n \t\t\t\tbreak;\n+\t\t\t} else if (name == entity->name()) {\n+\t\t\t\tLOG(DeviceEnumerator, Debug)\n+\t\t\t\t\t<< \"Skip \" << entity->name()\n+\t\t\t\t\t<< \": no device node\";\n \t\t\t}\n \t\t}\n \n", "prefixes": [ "libcamera-devel", "v2" ] }