mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-28 16:56:26 +00:00
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: 39a8cbd9ca
("ptp: remember the adjusted frequency")
Signed-off-by: Ajay Kaher <ajay.kaher@broadcom.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Link: https://patch.msgid.link/20241125105954.1509971-1-ajay.kaher@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
0a4cc4accf
commit
98337d7c87
@ -150,7 +150,8 @@ 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);
|
||||
ptp->dialed_frequency = tx->freq;
|
||||
if (!err)
|
||||
ptp->dialed_frequency = tx->freq;
|
||||
} else if (tx->modes & ADJ_OFFSET) {
|
||||
if (ops->adjphase) {
|
||||
s32 max_phase_adj = ops->getmaxphase(ops);
|
||||
|
Loading…
Reference in New Issue
Block a user