Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp395330ybt; Wed, 17 Jun 2020 03:58:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyeEnI2ax7pNX+rI+0I78+7kSQBMwOaHfvt90x5Terga+jADFDry+CE7tWbGCB21hdz8uyF X-Received: by 2002:a17:906:5e06:: with SMTP id n6mr6738059eju.504.1592391481252; Wed, 17 Jun 2020 03:58:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592391481; cv=none; d=google.com; s=arc-20160816; b=wVxt5nqyNOTqa2iofZT9jTn/wmHBwPe6wo2NQXobnXn4j6lb8YKhRsLlu25wSTviwh iauFhreFTAoo6XEor5+/NaQwtA4Nx1vKXn2gW2U4oUrkafvQObrPMjshTEUh4ORUo88f bOFaMEfhCY9MkuyW3M8FnAq9AS3hyun5Hra5ipadXlIF962I8QffYtCyZyzgF73sEHbR gVNNHKQ/8rI0GfKzAzQ4WHPUiIvN3Hq9Ez2+vqq12mgS7gYL12vSrhbc/4e/suZL+yPf SAYUH4EGU4Vn6JdOXVjgtZqp/XyvAqXOhGM4m39Rb/h1bi8UN7JxWoBQ6A/3cYQ05mNS B4Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=lCVEonbpFZmz0/ZeZBC256oe8W32YGcEqtUscl42Jjk=; b=eMiKcy8E/i+iV23PmJLjfu+I5/piFQcd8+L05wsU2YmnCUKMmo6uyb+NEvA+oY1J+K oqlj9YiJosvr4nLq7mexuHTBr+/ue2cX6x8SGxP89TzcCHp05Ih2UBWK0HYGR8RAN9Qu gTnW5nlR3MAqV/53r/Lkslo8fFrW9kVDMcL0tytgrWPdEfUJvZVfHi1yqxQsCWRpTgL4 92rgy/suVrQuWBBYSKJgydgyJQeAjpuEuKRxOz/EweYU5xgo06BCgUZy1HBHW4oMYzp4 SpnH2ZpExbNDYN4JcBXU9dRPWdmvFXDrtJiJvMf/XvuXHL2SpowbA4VJVfi0iE2ew0qt 3inw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=N6FV9zn0; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g8si2678431ejo.221.2020.06.17.03.57.38; Wed, 17 Jun 2020 03:58:01 -0700 (PDT) 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; dkim=pass header.i=@linaro.org header.s=google header.b=N6FV9zn0; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726583AbgFQKx4 (ORCPT + 99 others); Wed, 17 Jun 2020 06:53:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726510AbgFQKxw (ORCPT ); Wed, 17 Jun 2020 06:53:52 -0400 Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com [IPv6:2a00:1450:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 40CA9C061573 for ; Wed, 17 Jun 2020 03:53:51 -0700 (PDT) Received: by mail-ej1-x642.google.com with SMTP id o15so1783352ejm.12 for ; Wed, 17 Jun 2020 03:53:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lCVEonbpFZmz0/ZeZBC256oe8W32YGcEqtUscl42Jjk=; b=N6FV9zn0+vHCrQgrVC1C0J/mPAwm539PdN5uB7k0b9RkMCTH5U+h4TNko9RWYTFJS0 aycV7lZQuWVgH8fVnSepk8Xz4VRR0fWiURSOHJK9kMY/TeSTYqHhqujymcLZK8nILAq8 YRnZdRC+EuIeN9ZsLl8ItTHgnLXHEd4/8J1RICT4DwDfOwhleGOwVqvM5R9dnz8aZtuO BJrqqCIPEirrFFQ+oaDBvgOulTo2An6MX+DdR6/Q8wn/r+pwJkOrMtEF6QcvlqVKRjrt Q3wuXeWMZBbTXMuBU1zwm5ArFFPkRslx4tiWzIl5cKnTCZggSehVm90BWCG6qsbLOv9E 86nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lCVEonbpFZmz0/ZeZBC256oe8W32YGcEqtUscl42Jjk=; b=SRQa/S22RFef2R1CpND0YNN5McsSqYztP1RXko/xegd/pHTiUb1lzFuBD32Ul1h7yW XTGHHVEvhU8uL3j16W7pk0jdKrXEcuA/XwpzkXa3JIt7dh/o7DhukJD9ygxfC0B4fgj9 SUp4617JHbtEl0HgR0Eo//SWSlz3cb82ZR0OAtWqr1+4twldPsXodN4QAwgcy74V6Z1o 6RsguyEHghEptCh/zJbPNpDlGvXwYQaTtdPnTI216dxBYt43M5nv2P/WV3gGiRLjJ9Mm RYjXe5wY4l79VB696Rkc/DuEoXuqfP5xBnG3+2TCnjsVix+Vc5UVkRHVXWptAPU+0gBj ZmKw== X-Gm-Message-State: AOAM531stz6VVVQf9qiB8IJonm3vXAUrqOVe6RgAepe5a5UKRJ77aVmS +BxkfSRQibvL8K1PiDtHSOyXzj74gRiJnA+aMb45bg== X-Received: by 2002:a17:906:118b:: with SMTP id n11mr7055515eja.328.1592391230007; Wed, 17 Jun 2020 03:53:50 -0700 (PDT) MIME-Version: 1.0 References: <20200612121047.GF4282@kadam> <20200612121133.GA1139533@mwanda> <20200612174215.GI4282@kadam> In-Reply-To: <20200612174215.GI4282@kadam> From: Mike Leach Date: Wed, 17 Jun 2020 11:53:39 +0100 Message-ID: Subject: Re: [PATCH] coresight: cti: Fix error handling in probe To: Dan Carpenter Cc: Mathieu Poirier , Suzuki K Poulose , Alexander Shishkin , Greg Kroah-Hartman , linux-arm-kernel , Linux Kernel Mailing List , kernel-janitors@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Dan, On Fri, 12 Jun 2020 at 18:43, Dan Carpenter wrote: > > On Fri, Jun 12, 2020 at 03:11:33PM +0300, Dan Carpenter wrote: > > +static int cti_pm_setup(struct cti_drvdata *drvdata) > > +{ > > + int ret; > > + > > + if (drvdata->ctidev.cpu == -1) > > + return 0; > > + > > + if (nr_cti_cpu) > > + goto done; > > + > > + cpus_read_lock(); > ^^^^^^^^^^^^^^^^ > One thing which I do wonder is why we have locking here but not in the > cti_pm_release() function. That was how the original code was so the > patch doesn't change anything, but I am curious. > Good point - the CTI PM code was modelled on the same code in the ETM drivers, which show the same pattern. Perhaps something we need to revisit in both drivers. Regards Mike > > + ret = cpuhp_setup_state_nocalls_cpuslocked( > > + CPUHP_AP_ARM_CORESIGHT_CTI_STARTING, > > + "arm/coresight_cti:starting", > > + cti_starting_cpu, cti_dying_cpu); > > + if (ret) { > > + cpus_read_unlock(); > > + return ret; > > + } > > + > > + ret = cpu_pm_register_notifier(&cti_cpu_pm_nb); > > + cpus_read_unlock(); > > + if (ret) { > > + cpuhp_remove_state_nocalls(CPUHP_AP_ARM_CORESIGHT_CTI_STARTING); > > + return ret; > > + } > > + > > +done: > > + nr_cti_cpu++; > > + cti_cpu_drvdata[drvdata->ctidev.cpu] = drvdata; > > + > > + return 0; > > +} > > + > > /* release PM registrations */ > > static void cti_pm_release(struct cti_drvdata *drvdata) > > { > > - if (drvdata->ctidev.cpu >= 0) { > > - if (--nr_cti_cpu == 0) { > > - cpu_pm_unregister_notifier(&cti_cpu_pm_nb); > > + if (drvdata->ctidev.cpu == -1) > > + return; > > > > - cpuhp_remove_state_nocalls( > > - CPUHP_AP_ARM_CORESIGHT_CTI_STARTING); > > - } > > - cti_cpu_drvdata[drvdata->ctidev.cpu] = NULL; > > + cti_cpu_drvdata[drvdata->ctidev.cpu] = drvdata; > > + if (--nr_cti_cpu == 0) { > > + cpu_pm_unregister_notifier(&cti_cpu_pm_nb); > > + cpuhp_remove_state_nocalls(CPUHP_AP_ARM_CORESIGHT_CTI_STARTING); > > } > > } > > regards, > dan carpenter > -- Mike Leach Principal Engineer, ARM Ltd. Manchester Design Centre. UK