Re: [PATCH v2] ptp: fix an IS_ERR() vs NULL check
From: Dan Carpenter <hidden>
Date: 2018-12-04 07:00:54
Also in:
kernel-janitors, lkml
Hi Greg,
I meant to CC you but I screwed up and added you to the From header
instead... :(
Why did you commit 3b1ad360acad ("pps: using ERR_PTR instead of NULL
while pps_register_source fails")? You're not listed as a maintainer so
I wouldn't have known to CC you.
The back story is that the last chunk which changes drivers/ptp/ptp_clock.c
was dropped by mistake and it's not there in linux-next. I wrote a
patch which adds it, but everyone is super confused now... Here is
YueHaibing's original patch btw, for reference.
https://www.spinics.net/lists/netdev/msg535929.html
regards,
dan carpenter
On Mon, Dec 03, 2018 at 08:42:57PM -0800, Richard Cochran wrote:quoted hunk ↗ jump to hunk
On Mon, Dec 03, 2018 at 01:55:06PM +0300, Dan Carpenter wrote:quoted
We recently modified pps_register_source() to return error pointers instead of NULL but this check wasn't updated.But it *was* updated!quoted
Fixes: 3b1ad360acad ("pps: using ERR_PTR instead of NULL while pps_register_source fails") Signed-off-by: Dan Carpenter <redacted> --- v2: Use the correct Fixes tag. Add Greg to the CC list, because he is maintaining this driver.What driver? (I am maintaining drivers/ptp/ptp_clock.c)quoted
drivers/ptp/ptp_clock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c index 8a81eecc0ecd..48f3594a7458 100644 --- a/drivers/ptp/ptp_clock.c +++ b/drivers/ptp/ptp_clock.c@@ -265,8 +265,8 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, pps.mode = PTP_PPS_MODE; pps.owner = info->owner; ptp->pps_source = pps_register_source(&pps, PTP_PPS_DEFAULTS); - if (!ptp->pps_source) { - err = -EINVAL; + if (IS_ERR(ptp->pps_source)) { + err = PTR_ERR(ptp->pps_source); pr_err("failed to register pps source\n"); goto no_pps; }YueHaibing's patch has the following hunk. It really is already there. I don't see it yet on Linus' master branch, but the patch should update drivers/pps/kapi.c and the callers all in one commit.diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c index 8a81eec..48f3594 100644 --- a/drivers/ptp/ptp_clock.c +++ b/drivers/ptp/ptp_clock.c@@ -265,8 +265,8 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, pps.mode = PTP_PPS_MODE; pps.owner = info->owner; ptp->pps_source = pps_register_source(&pps, PTP_PPS_DEFAULTS); - if (!ptp->pps_source) { - err = -EINVAL; + if (IS_ERR(ptp->pps_source)) { + err = PTR_ERR(ptp->pps_source); pr_err("failed to register pps source\n"); goto no_pps; }Thanks, Richard