Commit 98337d7c authored by Ajay Kaher's avatar Ajay Kaher Committed by Jakub Kicinski
Browse files

ptp: Add error handling for adjfine callback in ptp_clock_adjtime



ptp_clock_adjtime sets ptp->dialed_frequency even when adjfine
callback returns an error. This causes subsequent reads to return
an incorrect value.

Fix this by adding error check before ptp->dialed_frequency is set.

Fixes: 39a8cbd9 ("ptp: remember the adjusted frequency")
Signed-off-by: default avatarAjay Kaher <ajay.kaher@broadcom.com>
Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
Link: https://patch.msgid.link/20241125105954.1509971-1-ajay.kaher@broadcom.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 0a4cc4ac
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -150,6 +150,7 @@ static int ptp_clock_adjtime(struct posix_clock *pc, struct __kernel_timex *tx)
		if (ppb > ops->max_adj || ppb < -ops->max_adj)
			return -ERANGE;
		err = ops->adjfine(ops, tx->freq);
		if (!err)
			ptp->dialed_frequency = tx->freq;
	} else if (tx->modes & ADJ_OFFSET) {
		if (ops->adjphase) {