Received: by 2002:a05:6512:2355:0:0:0:0 with SMTP id p21csp204768lfu; Wed, 30 Mar 2022 20:52:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwtwJY+mcp9VrX1MwkaZQedWmgql7IHnTLl18K7aKAX+tAN0PtCgYGNhv6ShGr5iE8WfeEH X-Received: by 2002:a65:6d0c:0:b0:382:a4b1:c93 with SMTP id bf12-20020a656d0c000000b00382a4b10c93mr9233256pgb.237.1648698758092; Wed, 30 Mar 2022 20:52:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648698758; cv=none; d=google.com; s=arc-20160816; b=jRsJLYwKRxCvtquF7Tz1RI33wOxdpaaPAa4LdvMphc/2kCbm5/nJv9xGZRnPvPIqW9 g7je89BZcwQijOQSJ1l1e84srhlbZCrdyICb5q4Q4/E+m06TWmrJEgFw/FN2CUajgd4C VsVsvQD1DTsQPFLlxab+C3IbORDsn4rTrzQuT9lbN9Beas8ohHR1lkhJSlVu68Trcsbv d9omarm2VHAUGCKT2+SMwPyEihy5fseKBbBwlf6sWsSCVun6cksw7l5PJxGMSA8LIeZ3 6m3rDLSDz9vb/LMK+ReA5m8uKQbNXcvvz1BENHdAZ8PklIuhyfCKc+G/dMFuTAUHML37 yKGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:references:message-id :in-reply-to:subject:cc:to:from:date:dkim-signature; bh=6jOorKeD/iwCX26EsbkBukIx+8Ym7AFiUAakfZ+w6h4=; b=wIsNRn9PaICSljNDzNtcqhKZbzPDZkAqhvretBWTe7/9oR3Zwf3L9i21sslfE4zsfN 3FYxm7n/zMlQbcuIlKyUbXDRjL2THEHnMvuqdeebk0FgCQyLCz7mop87AciIxNjT2FbY sBjbdqYqXD21eYyF8fAkyZ8KnBa7NEM7AN2a8BqqwQGmcSODnl+128hg6xHgYDLNqvyE 69QVye+SXbnlyhFsg6QsV24lMBA5FkuKBgwxwCN4MC75Gh2Z+lFkGyAdJI+rd7AU5LuB iX1fjz30QUIY5cCPvHyPBsBLLXbnWnYOmY7Din7b/4No1Ax3loSGupGHkye+UH4QhaDP rLJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gdXh5pSg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id l1-20020a170902f68100b00153b2d1649esi25037138plg.166.2022.03.30.20.52.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Mar 2022 20:52:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gdXh5pSg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E7D2215449E; Wed, 30 Mar 2022 20:05:46 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348163AbiC3P1d (ORCPT + 99 others); Wed, 30 Mar 2022 11:27:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46946 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346876AbiC3P1c (ORCPT ); Wed, 30 Mar 2022 11:27:32 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0321219B04D; Wed, 30 Mar 2022 08:25:47 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id ADDDCB81BAB; Wed, 30 Mar 2022 15:25:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 29D05C340EE; Wed, 30 Mar 2022 15:25:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1648653944; bh=evEpNcpIO1FCjUfsvj9LcG6TI+SZQZAE/AJCOITs1PY=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=gdXh5pSgjZqp/sNRDahqhb8DKSZf/bJyeL5BrEd3TVnwKz4WxcwsUC9ssYDFOgMVL JxuGAlopLHOSDgI3tb8oOEmspgmrJlQ5gwfRDGX5YBabKVd7ArM8tkcZBBBlCz/jSQ WdsZJxAHpwGkRrym34k0H2A5I3T6kBjphjCWPSi6CqvtNL+247N7008knGH0MESB/z LWf/jHCNCgWYjF77B/NL7CRktmHlj9bgZWIi9Ax/+pcrMiF5rXVKe1kVxGZCQOCKEM vA6OrZ/2nC1T53lOqCKAFHqFIhn0iRXo0c/W1PwaDn5cKgl44cEcLdY4kABEYYCF8b aTMtSnUAwLsyQ== Date: Wed, 30 Mar 2022 17:25:40 +0200 (CEST) From: Jiri Kosina To: Mingxuan Xiang cc: Benjamin Tissoires , Rafi Rubin , Dongliang Mu , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] HID: hid-ntrig: fix the error handling code in ntrig_probe In-Reply-To: <20220313150237.1214062-1-mx_xiang@hust.edu.cn> Message-ID: References: <20220313150237.1214062-1-mx_xiang@hust.edu.cn> User-Agent: Alpine 2.21 (LSU 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 13 Mar 2022, Mingxuan Xiang wrote: > If sysfs_create_group in ntrig_probe fails, sysfs_remove_group in > ntrig_remove would hit WARN(). > > Fix this by returning err in ntrig_probe rather than ignoring the > failure of sysfs_create_group. > > CC: Dongliang Mu > Fixes: eab32f5f6557 ("HID: ntrig: add sysfs access to filter parameters") > Signed-off-by: Mingxuan Xiang > --- > drivers/hid/hid-ntrig.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/hid/hid-ntrig.c b/drivers/hid/hid-ntrig.c > index b5d26f03fe6b..f49427815d98 100644 > --- a/drivers/hid/hid-ntrig.c > +++ b/drivers/hid/hid-ntrig.c > @@ -951,10 +951,14 @@ static int ntrig_probe(struct hid_device *hdev, const struct hid_device_id *id) > > ret = sysfs_create_group(&hdev->dev.kobj, > &ntrig_attribute_group); > - if (ret) > + if (ret) { > hid_err(hdev, "cannot create sysfs group\n"); > + goto err_sysfs_create; > + } > > return 0; > +err_sysfs_create: > + hid_hw_stop(hdev); > err_free: > kfree(nd); Thanks for the fix. However, I believe that the sole fact that sysfs_create_group() failed should not be a reason for bailing the probe completely (rendering the device completely dysfunctional), given the fact that the probe otherwise succeeded and this just means that the parameters can't be tuned in runtime. So just taking a note whether we do actually have sysfs attributes created on probe and freeing them only conditionally on remove() sounds like a bit less drastic aproach to me. Could you please adjust the fix and resubmit? Thanks, -- Jiri Kosina SUSE Labs