diff options
| author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2025-11-24 09:45:46 +0100 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-11-25 19:17:21 -0800 |
| commit | 590f5d1fa6ee22b1ec07283d5fa870326f47b2f6 (patch) | |
| tree | 2170ee14c264b6c4b74c24f5c81448ec77e7b0d8 | |
| parent | 622cc66ed72c2da2294de21da5976a087bcc5748 (diff) | |
ptp: ocp: Make ptp_ocp_unregister_ext() NULL-aware
It's a common practice to make resource release functions be NULL-aware.
Make ptp_ocp_unregister_ext() NULL-aware.
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20251124084816.205035-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
| -rw-r--r-- | drivers/ptp/ptp_ocp.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/drivers/ptp/ptp_ocp.c b/drivers/ptp/ptp_ocp.c index 95889f85ffb2..28243fb1d78f 100644 --- a/drivers/ptp/ptp_ocp.c +++ b/drivers/ptp/ptp_ocp.c @@ -2225,6 +2225,9 @@ ptp_ocp_ts_enable(void *priv, u32 req, bool enable) static void ptp_ocp_unregister_ext(struct ptp_ocp_ext_src *ext) { + if (!ext) + return; + ext->info->enable(ext, ~0, false); pci_free_irq(ext->bp->pdev, ext->irq_vec, ext); kfree(ext); @@ -4558,21 +4561,14 @@ ptp_ocp_detach(struct ptp_ocp *bp) ptp_ocp_detach_sysfs(bp); ptp_ocp_attr_group_del(bp); timer_delete_sync(&bp->watchdog); - if (bp->ts0) - ptp_ocp_unregister_ext(bp->ts0); - if (bp->ts1) - ptp_ocp_unregister_ext(bp->ts1); - if (bp->ts2) - ptp_ocp_unregister_ext(bp->ts2); - if (bp->ts3) - ptp_ocp_unregister_ext(bp->ts3); - if (bp->ts4) - ptp_ocp_unregister_ext(bp->ts4); - if (bp->pps) - ptp_ocp_unregister_ext(bp->pps); + ptp_ocp_unregister_ext(bp->ts0); + ptp_ocp_unregister_ext(bp->ts1); + ptp_ocp_unregister_ext(bp->ts2); + ptp_ocp_unregister_ext(bp->ts3); + ptp_ocp_unregister_ext(bp->ts4); + ptp_ocp_unregister_ext(bp->pps); for (i = 0; i < 4; i++) - if (bp->signal_out[i]) - ptp_ocp_unregister_ext(bp->signal_out[i]); + ptp_ocp_unregister_ext(bp->signal_out[i]); for (i = 0; i < __PORT_COUNT; i++) if (bp->port[i].line != -1) serial8250_unregister_port(bp->port[i].line); |
