From patchwork Wed Jan 18 08:59:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 18135 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 22F8EC3295 for ; Wed, 18 Jan 2023 09:01:28 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id CACC0625F5; Wed, 18 Jan 2023 10:01:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1674032487; bh=wYQ9Gzq0mgdNx+u92NePezXNkFq6y5MyqGIMkKZ4dww=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=D1NMJBl6OVEKOaYhSv4Bx0kRVmLl2mkNrBScf/Fjussym4EKAa5lCcCZXklJOFBSl adn6q2O5cnR46EVuMKtDo41IcdjKIPzg6ZngVVdF2ruxpt0OuhKCUxFHdS5fLDpzSC Mrd3yPaL0uuOb6P09nFPjiun0BH/WgP2lO5gcnfm7+5wsuJsbCWeGK4Sbg8+j5RifY 0ZXB0rXEIKaOtmza041kY3E2kqSlHBVFWFcaGOoNyWnyKnT+9Ppd7go5rAP60ong5W fIGaMmZiaS/qJ4DPD7twc4ghY0MIl7N3uNAIr7LYbtOWGD+DHQdKbmZrAn+X4l1CFa /3kTs1sn/heLQ== Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id D3891625EF for ; Wed, 18 Jan 2023 10:01:21 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="IQc4yoHW"; dkim-atps=neutral Received: by mail-wr1-x430.google.com with SMTP id b7so7192328wrt.3 for ; Wed, 18 Jan 2023 01:01:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; 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=6pw3j43ulVU5D59XUCkB3/cOw6PKc1joLaWHRtaeVno=; b=IQc4yoHW58QGQwL601r4DyATNVQpXjJYz1gFg/YrMTw2F7+78NhfjrInVvLzzcLwzO 2sVgPj7hIAC05DoF7RetRQTArF3Xv0WcWDNex0u45W7Lut57m1K5vIxAwSlsGOWwdCGy fbmISNZLpABfQ0dHXax5vsJog5aOH/mLR6WHCx7yRLJ/t4RUfyfpvLjd8pToRosIGOH8 tBeaIoEqZlA71lQUn8j04odmRxGEXYE8CgAMg1enk2jao7zmGhcmL2ng7l8X8lCzrhwJ n6EwZnTiW+DaRzJrX71qv5pqc2BYmXaNkRv8FgYNIC3noJ0uC+6XE6Rv20oWaTvCj4MN UrfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6pw3j43ulVU5D59XUCkB3/cOw6PKc1joLaWHRtaeVno=; b=RxlgDG68hdlpH/vYClXQY6YDKO+8IYMUfRSY+aEqPv6Nkvlg5Msu1QJxKURJzK+aOs 5sXZr6/+DAyveufk1fFuonkn8l0k4a9PfUJhGmzxCwuRgGuZzafzDx00gDi5YyJUuxJM Gmjl2WyHwYS0fbBO8E95L+Qg9garsCzU+DVyas0Fv82vXf+1warePOpJH4b/JiQ41Hef fZTp/vmOtXkohhZoVKnhTndPM/3aIFGfi/KlKYs6+Qv2wnyUqyZPAfBjMyj6gCgEVPqF izwTAdjeA6/SF8HCIJwV5URKGbSXngmoRXw5ndsU0NM87uM+4V4aZI8jQXczq/0RUrNA /OGw== X-Gm-Message-State: AFqh2krKszHHeGBi6TzmkY70C0kEIWqkKfC3W8T6flmR542UJRZklXp4 ApW7/sC2F9gCsfSKp2UhevIfFOqpXwaBs2SEb+E= X-Google-Smtp-Source: AMrXdXsWXoQMxaNwJV3sBROhppPTSkiKlACiffhbUBCIU/qkc9MaERQlDwhXyOuCZDTF6LPbWcMAUw== X-Received: by 2002:a5d:58db:0:b0:2bd:e150:bf54 with SMTP id o27-20020a5d58db000000b002bde150bf54mr1442418wrf.60.1674032481120; Wed, 18 Jan 2023 01:01:21 -0800 (PST) Received: from localhost.localdomain ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id i6-20020adfe486000000b002423dc3b1a9sm30312464wrm.52.2023.01.18.01.01.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Jan 2023 01:01:20 -0800 (PST) To: libcamera-devel@lists.libcamera.org Date: Wed, 18 Jan 2023 08:59:50 +0000 Message-Id: <20230118085953.7027-10-naush@raspberrypi.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230118085953.7027-1-naush@raspberrypi.com> References: <20230118085953.7027-1-naush@raspberrypi.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v5 09/12] pipeline: raspberrypi: Validate OptionalStream in queueRequestDevice() X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Naushir Patuck via libcamera-devel From: Naushir Patuck Reply-To: Naushir Patuck Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Add some validation in queueRequestDevice() to ensure that a frame buffer is provided in a Request if the MandatoryRequestBuffer flag has not been set in the StreamConfiguration for every configured stream. Signed-off-by: Naushir Patuck --- src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp index 13d0ab4c4968..39f48e0a57fb 100644 --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp @@ -1153,6 +1153,13 @@ int PipelineHandlerRPi::queueRequestDevice(Camera *camera, Request *request) stream->setExternalBuffer(buffer); } + if (!(stream->configuration().hints & StreamConfiguration::Hint::OptionalStream) && + !buffer) { + LOG(RPI, Error) << "No buffer provided for mandatory stream " + << stream->name(); + return -EINVAL; + } + /* * If no buffer is provided by the request for this stream, we * queue a nullptr to the stream to signify that it must use an