Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2810220pxb; Sat, 6 Feb 2021 08:27:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJyobVaAm97EMs6eDW8Hl88Pf9coOwDGLiIginS5Ca87AIeNPF/C7bWbTOjUIaEg6QT9AjaQ X-Received: by 2002:a50:fd14:: with SMTP id i20mr8982972eds.26.1612628862185; Sat, 06 Feb 2021 08:27:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612628862; cv=none; d=google.com; s=arc-20160816; b=bDGHTxNajus2e2huYS87QjlubN7Me3UrlrccpyP/00c107LSApwIGFZgRdLmaN23nd Wk/QbNEppJRAoEmKsIO+A9NQV4ExcOLi2wwygpo51O2wrrVvkkCbtKewKsLJrqkx6zzl VGvw3bB+CBp2TSwSz2flLbv1ZYKLXs5HeC2KkJJSmdVO8NvpsaBclnj7ItIA6Qnbdk9f QWy0Oc+4Y0F3fdfH2eMww09JGvGoYMcbElZ+vPi4I8UD9mpFUYIE0v6Cnb9oevA/FOsr ky0lKrD2gt05PouEqF0ZVBpg9EhNE5iD0rSS00IJNA651D28t0C+yBeyR43DtG4b9ivr tt2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=rQzjKR9Lbk1pbX1voouYhNaMdXRFVNNP8CiNkKo+UiQ=; b=FwAPpLw6B8nOLPSfrCFSUA8+EeGpS97cSmIP65NB4PgG4A7uoIgAsOqt6aq+OoUyoe 2xTkbNdFXyd2NKQSk5qCrIT+81DWkBYXlYnicnK/Otk9iyWFEKKU5XfAn5FPQMYxGpa1 QwGI0kQNoOALcpSqWrP/mkgQ091ufgmVO4gNQQmaAjiWekNkzy+VQhzvNeHHYIv9igB9 VOAwp+taf1UefwjrKSIdWIlkgAMK+GMTmjmVtwUfrpEufN82qE24k+/yc8yHsVwp4eao UDA+vuGwUl9/Oue1Qrb7lsAZxDz4O5UuNQYHR4pWZ+9Ba8NWAPoQhnBS5qvBzmu9fqlR irpw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v12si7505624ejy.529.2021.02.06.08.27.17; Sat, 06 Feb 2021 08:27:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229841AbhBFPOs (ORCPT + 99 others); Sat, 6 Feb 2021 10:14:48 -0500 Received: from antares.kleine-koenig.org ([94.130.110.236]:49422 "EHLO antares.kleine-koenig.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230038AbhBFPOi (ORCPT ); Sat, 6 Feb 2021 10:14:38 -0500 Received: by antares.kleine-koenig.org (Postfix, from userid 1000) id B278AAEEC14; Sat, 6 Feb 2021 16:13:57 +0100 (CET) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Srinivas Pandruvada , Jiri Kosina , Benjamin Tissoires , Enric Balletbo i Serra , Guenter Roeck Cc: Greg Kroah-Hartman , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 2/3] HID: intel-ish-hid: Simplify logic in ishtp_cl_device_remove() Date: Sat, 6 Feb 2021 16:13:47 +0100 Message-Id: <20210206151348.14530-2-uwe@kleine-koenig.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210206151348.14530-1-uwe@kleine-koenig.org> References: <20210206151348.14530-1-uwe@kleine-koenig.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is only a single change in behavior: Now dev->driver isn't modified. Assigning to this variable is in the domain of the driver core only. (And it's done in __device_release_driver shortly after bus->remove() (i.e ishtp_cl_device_remove() here) returns.) Signed-off-by: Uwe Kleine-König --- drivers/hid/intel-ish-hid/ishtp/bus.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.c b/drivers/hid/intel-ish-hid/ishtp/bus.c index ccd54f244503..7f36ce6187a1 100644 --- a/drivers/hid/intel-ish-hid/ishtp/bus.c +++ b/drivers/hid/intel-ish-hid/ishtp/bus.c @@ -258,19 +258,17 @@ static int ishtp_cl_device_remove(struct device *dev) { struct ishtp_cl_device *device = to_ishtp_cl_device(dev); struct ishtp_cl_driver *driver = to_ishtp_cl_driver(dev->driver); + int ret = 0; if (device->event_cb) { device->event_cb = NULL; cancel_work_sync(&device->event_work); } - if (!driver->remove) { - dev->driver = NULL; + if (driver->remove) + ret = driver->remove(device); - return 0; - } - - return driver->remove(device); + return ret; } /** -- 2.29.2