* [bug report] net: aquantia: add basic ptp_clock callbacks
@ 2019-10-28 11:31 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2019-10-28 11:31 UTC (permalink / raw)
To: kernel-janitors
Hello Egor Pomozov,
The patch 910479a9f793: "net: aquantia: add basic ptp_clock
callbacks" from Oct 22, 2019, leads to the following static checker
warning:
drivers/net/ethernet/aquantia/atlantic/aq_ptp.c:1208 aq_ptp_init()
warn: 'clock' is an error pointer or valid
drivers/net/ethernet/aquantia/atlantic/aq_ptp.c
1203 spin_lock_init(&aq_ptp->ptp_ring_lock);
1204
1205 aq_ptp->ptp_info = aq_ptp_clock;
1206 aq_ptp_gpio_init(&aq_ptp->ptp_info, &mbox.info);
1207 clock = ptp_clock_register(&aq_ptp->ptp_info, &aq_nic->ndev->dev);
1208 if (!clock || IS_ERR(clock)) {
1209 netdev_err(aq_nic->ndev, "ptp_clock_register failed\n");
1210 err = PTR_ERR(clock);
1211 goto err_exit;
This is a false positive in Smatch but the code is still problematic.
The issue is that ptp_clock_register() returns error pointers if there
is an error and it returns NULL if the clock is disabled in the config.
If "clock" is NULL then this code returns PTR_ERR(NULL) which is
success but so that's a bug.
The question is, is it really realistic for people to run this hardware
without a ptp clock? If so then we should allow it instead of erroring
out here when clock is NULL. If not then we should enforce that in the
Kconfig instead of waiting until runtime.
1212 }
1213 aq_ptp->ptp_clock = clock;
1214 aq_ptp_tx_timeout_init(&aq_ptp->ptp_tx_timeout);
1215
1216 atomic_set(&aq_ptp->offset_egress, 0);
1217 atomic_set(&aq_ptp->offset_ingress, 0);
1218
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-10-28 11:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-28 11:31 [bug report] net: aquantia: add basic ptp_clock callbacks Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).