Received: by 10.223.185.116 with SMTP id b49csp615765wrg; Tue, 20 Feb 2018 05:07:54 -0800 (PST) X-Google-Smtp-Source: AH8x22585xGOBXVylIm72nho8g6vzsRqI+mfdKnZc1tB4I6ksHbC0BSqyM7XgcJ3ZT24hFbSXQ51 X-Received: by 10.98.161.7 with SMTP id b7mr17998832pff.68.1519132074649; Tue, 20 Feb 2018 05:07:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519132074; cv=none; d=google.com; s=arc-20160816; b=ozznX4ZxnffakzvyWyxrvBpeMDj15YAOducovMprIVA3rm+fOj8JW+63qs6/cpb2rD Kb+wu7pS0qAzUOOBWssSl1Oq+5ksnqG63k01cuDTKEAeJRIDt0Rn0ELew7PBZQORIwZD TO/S86NRZx1mmteusGJPa6zjbq5KZ3lZ8xeDRO8+QGCTpqbN8mzB+ZzQtjGX0QP3H+SZ D55djud1MN+MqCMQDnxo+4zn7DpOJcM55n5zgyjW1g1jrzrbD9z+AkQil2X8rWpnezAQ 5Om4av8V7n+/IGMbFZAvAPUVRHqEHwRjDO9/bt8+2I7Ox3rhamKB5unyKlN8s3SIZ+Ne Feww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=95T4I198wX3QPHssI3BeRcoYfMmcMDVeGrbKPiPaDW4=; b=iddxt6S5bVSf2YW1fkvGwnBH5Nulwc1IZMfFyOV6q4o06jXZr0oDKm3+Cu6gOClZXJ ZTY2DwM8dKnVaOwGRU7z8AC0pUW7YZxpnarLwYA8kkRvAwpGmrLNr41DO7FwiUhjBB2Z UtUVHJQYFfyIu2TelovUjrOloTaDNCnCZ0/B++RKRIGT8Kw62zdzzYUvsBjDDNTa4j3a mj5FBHSGFKxmBLV2VEuRA42WFZuGWkcc74b2wVQoYQl/JIhnNnt9QBqYSwkO1/IEEb5a +b6v3WFzeeSJvkIvEDSNsA2Hx2QOlF3euISPuVrgsvImwEW3yzN//Vb/4mtKFg1sD91h PZEQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m27si4296379pfg.64.2018.02.20.05.07.40; Tue, 20 Feb 2018 05:07:54 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752419AbeBTNGD (ORCPT + 99 others); Tue, 20 Feb 2018 08:06:03 -0500 Received: from lb2-smtp-cloud9.xs4all.net ([194.109.24.26]:52527 "EHLO lb2-smtp-cloud9.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751813AbeBTNF7 (ORCPT ); Tue, 20 Feb 2018 08:05:59 -0500 Received: from [IPv6:2001:420:44c1:2579:bcbe:df5c:427e:bf31] ([IPv6:2001:420:44c1:2579:bcbe:df5c:427e:bf31]) by smtp-cloud9.xs4all.net with ESMTPA id o7cFeJSbfoWCOo7cIekfGL; Tue, 20 Feb 2018 14:05:58 +0100 Subject: Re: [RFCv4 08/21] [WAR] v4l2-ctrls: do not clone non-standard controls To: Alexandre Courbot , Mauro Carvalho Chehab , Laurent Pinchart , Pawel Osciak , Marek Szyprowski , Tomasz Figa , Sakari Ailus Cc: Gustavo Padovan , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org References: <20180220044425.169493-1-acourbot@chromium.org> <20180220044425.169493-9-acourbot@chromium.org> From: Hans Verkuil Message-ID: Date: Tue, 20 Feb 2018 14:05:50 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20180220044425.169493-9-acourbot@chromium.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfA2Bm3FgDAx3V4TOmlii3ntMTLlTp5yXmYHXCl1Jdg8IdRYygfp4gyzGmlwaLblHJT9tSHV/ZWhchAEpSYFuln1xhrnl0IVvmrh17z7tDiKn3n5iNbq3 MDvmFNJZDTO+/hd8GnnSsbHgYiO8FoQGCUdEmuqF0SDDhzPn1MHhmYio0Bl/VrhGDruLdFIMNoGxB3Jvon57lwZ+pSRWT+JBZLTB0mlCHZJFOSDOgU+hjhj/ uXZ3IUJzF5TY4MQj2mMzID8pjNhkI1BWgM/YA1zxPHH0EzPbBM8BAm45kh7f6dyyKJzuI/6Cv/3zm/1wtoXEJgwPWMuGks4bLPvEmaqk4beiqwwSwQXeGNTn 9ce1GMq8Ja8IkLjwozqWiXl9IHp2WukBexlh3OfcId5a6VM3r02sWQYnq9l0cGhqAeHKi1BIvWlsWsvoTo+LnVMAChQPRhVplvzb9MezGYJo+PwxeQ7lYIUH +z38zKxgqIYD/pKLWBMbjwSHGRipubQxiF0QxPBO8td4FmmF7U1XlR8Y0r8G57klLcdFaThFawq+WnPKzIKzargoWWnFAUvZZZHpzxnfREmK3s1q5n/2tpe1 M8A= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/20/18 05:44, Alexandre Courbot wrote: > Only standard controls can be successfully cloned: handler_new_ref, used > by v4l2_ctrl_request_clone(), forcibly calls v4l2_ctrl_new_std() which > fails to find custom controls names, and we eventually hit the condition > that name == NULL in v4l2_ctrl_new(). Hmm, the core reason is that handler_new_ref tries to automatically create a new control class if it didn't exist yet. Which is OK for standard control classes but not for non-standard control classes such as is used in vivid. I will have to think about this. Regards, Hans > > This prevents us from using non-standard controls with requests, but > that is enough for testing purposes. > > Signed-off-by: Alexandre Courbot > --- > drivers/media/v4l2-core/v4l2-ctrls.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c > index 166647817efb..7a81aa5959c3 100644 > --- a/drivers/media/v4l2-core/v4l2-ctrls.c > +++ b/drivers/media/v4l2-core/v4l2-ctrls.c > @@ -2772,6 +2772,11 @@ int v4l2_ctrl_request_clone(struct v4l2_ctrl_handler *hdl, > if (filter && !filter(ctrl)) > continue; > err = handler_new_ref(hdl, ctrl, &new_ref, false); > + if (err) { > + printk("%s: handler_new_ref on control %x (%s) returned %d\n", __func__, ctrl->id, ctrl->name, err); > + err = 0; > + continue; > + } > if (err) > break; > if (from->is_request) >