On Tue, Jun 27, 2023 at 04:21:39PM -0700, Rahul Rameshbabu wrote:
The .adjphase operation is an operation that is implemented only by certain PHCs. The sysfs device attribute node for querying the maximum phase adjustment supported should not be exposed on devices that do not support .adjphase.
Fixes: c3b60ab7a4df ("ptp: Add .getmaxphase callback to ptp_clock_info") Signed-off-by: Rahul Rameshbabu rrameshbabu@nvidia.com Reported-by: Nathan Chancellor nathan@kernel.org Reported-by: Naresh Kamboju naresh.kamboju@linaro.org Reported-by: Linux Kernel Functional Testing lkft@linaro.org Link: https://lore.kernel.org/netdev/20230627162146.GA114473@dev-arch.thelio-3990X... Link: https://lore.kernel.org/all/CA+G9fYtKCZeAUTtwe69iK8Xcz1mOKQzwcy49wd+imZrfj6i...
Thanks a lot for the fix!
Tested-by: Nathan Chancellor nathan@kernel.org
drivers/ptp/ptp_sysfs.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/ptp/ptp_sysfs.c b/drivers/ptp/ptp_sysfs.c index 77219cdcd683..6e4d5456a885 100644 --- a/drivers/ptp/ptp_sysfs.c +++ b/drivers/ptp/ptp_sysfs.c @@ -358,6 +358,9 @@ static umode_t ptp_is_attribute_visible(struct kobject *kobj, attr == &dev_attr_max_vclocks.attr) { if (ptp->is_virtual_clock) mode = 0;
- } else if (attr == &dev_attr_max_phase_adjustment.attr) {
if (!info->adjphase || !info->getmaxphase)
}mode = 0;
return mode; -- 2.40.1