From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 73E78C2D0A3 for ; Fri, 6 Nov 2020 12:58:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0F77F207F7 for ; Fri, 6 Nov 2020 12:58:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="XT8ck3td"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="l1jx89Vf" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727375AbgKFM6c (ORCPT ); Fri, 6 Nov 2020 07:58:32 -0500 Received: from Galois.linutronix.de ([193.142.43.55]:35266 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726939AbgKFM6b (ORCPT ); Fri, 6 Nov 2020 07:58:31 -0500 From: Kurt Kanzenbach DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1604667508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=shG7AJpj82cx0oUcROwbU9VWQmTdciDrS6ngB9yxIsI=; b=XT8ck3tdgI8gpazP3uo9gZ3YlqtdHmdo+MHdiKukS1mBakVCU1hSQkmwy7SWadArJSVIPI +IsVliIg1BTkXIUCBY6fsctAv2AHc91I+tScG0CwKi12MxqQmKxkrIYk+3iQPZPYZPtIQq NzKnQ/lHnW5iMU0qwC83y1qRwkoPz+0KxeTMKoA7CsiypTkueTL1YD16tkRYfrsdVrF1oR EGO520h3I1JW5GhC/A9Yw4Osig43uVqrpaX105PlgOPKHVciocqHxDV4ZZ40eZU5Oa0kLP hqy8BN6a41+/ApkdXLes2EXIwFXZGbZHEiZ/nd77wqskP6D2JhFfgQdFVeX/+A== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1604667508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=shG7AJpj82cx0oUcROwbU9VWQmTdciDrS6ngB9yxIsI=; b=l1jx89VfA8343zcD85kbWd3IMbrAPDVCx+SenZX7zqcDAWEdOEYgfwru8Pl46clgdLkGfE kIJK+0WdY0yfNRAQ== To: Arnd Bergmann , Grygorii Strashko Cc: Wang Qing , "David S. Miller" , Jakub Kicinski , Samuel Zou , Richard Cochran , Networking , "linux-kernel\@vger.kernel.org" Subject: Re: [PATCH] net/ethernet: update ret when ptp_clock is ERROR In-Reply-To: References: <1604649411-24886-1-git-send-email-wangqing@vivo.com> Date: Fri, 06 Nov 2020 13:58:18 +0100 Message-ID: <87pn4qmyl1.fsf@kurt> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-=-= Content-Type: text/plain On Fri Nov 06 2020, Arnd Bergmann wrote: > On Fri, Nov 6, 2020 at 12:35 PM Grygorii Strashko > wrote: >> On 06/11/2020 09:56, Wang Qing wrote: > >> > +++ b/drivers/net/ethernet/ti/am65-cpts.c >> > @@ -1001,8 +1001,7 @@ struct am65_cpts *am65_cpts_create(struct device *dev, void __iomem *regs, >> >> there is >> cpts->ptp_clock = ptp_clock_register(&cpts->ptp_info, cpts->dev); >> >> >> > if (IS_ERR_OR_NULL(cpts->ptp_clock)) { >> >> And ptp_clock_register() can return NULL only if PTP support is disabled. >> In which case, we should not even get here. >> >> So, I'd propose to s/IS_ERR_OR_NULL/IS_ERR above, >> and just assign ret = PTR_ERR(cpts->ptp_clock) here. > > Right, using IS_ERR_OR_NULL() is almost ever a mistake, either > from misunderstanding the interface, or from a badly designed > interface that needs to be changed. The NULL case should be handled differently and it is documented: /** * ptp_clock_register() - register a PTP hardware clock driver [...] * Returns a valid pointer on success or PTR_ERR on failure. If PHC * support is missing at the configuration level, this function * returns NULL, and drivers are expected to gracefully handle that * case separately. */ Thanks, Kurt --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEooWgvezyxHPhdEojeSpbgcuY8KYFAl+lSGoACgkQeSpbgcuY 8KZp9BAAqQMVJ3ieO7c2694yqOwaG7+VL38Jv7x6L1Tjr1AFq1pnroPnS1oP+EPj ESSOG5Zrdtya/+E3k8a+hbHpbrljlvkLlCv6SSZwRQuxSzuoeY+EDtqCTnYLXJqT XtVwWWHRNWvFQivXSfbvfFAcP+TsL/1EMgehZgAcRD8LnmyCJgXeSaUY/NkHTIer kIu0KPsfkFYFsTWdHcgzGh1n7PRZx9SLZTetJH4xqUd2YDE7WzFcrvBVrYutCGg/ Bu+aLOodUK1z0JJTIzAIl/Ug9O//10d1uiVdLF209wgUuDcIzN3HT6LNzZNfcPCE IobDVvg09w+MayGx2wg1FROhsGLLmjbCtGc+wf+MySeTCXOlACvfVSsw7ULoKgCh bE0CnOTg+5c0iYYMtavM6PwabO3XJTUTFfxYTtJpQ9GNDipjJZMqxfqXCUO4HuNQ 33fSBfmI54VWRb88ATVAYyLzosJzpNgYR5lbiw8A/zbBtynHQoCh9jpQXink78Y/ 3xLxtDvWQQuSmRnPLrbcPc+T2Er3RVKNd9ZxeNGZbgu8OQmm75Zk01PNRL18tKwn KO3EtDSyHFVJEmIa338qY+6x4GTuCa0L152og7kX4u8gECbK1WBOTS0pPeDbRcrq cAVAy2/xPt5aG2/ygJpfHdNvMP740uix9g4lDxMNBpCNsEy/yr8= =Dvwr -----END PGP SIGNATURE----- --=-=-=--