[v1] ptp: ocp: fix bug in unregistering the DPLL subsystem

Message ID 20231220081914.16779-1-maimon.sagi@gmail.com
State New
Headers
Series [v1] ptp: ocp: fix bug in unregistering the DPLL subsystem |

Commit Message

Sagi Maimon Dec. 20, 2023, 8:19 a.m. UTC
  When unregistering the DPLL subsystem the priv pointer is different then
the one used for registration which cause failure in unregistering.

Fixes: 09eeb3aecc6c ("ptp_ocp: implement DPLL ops")
---
 drivers/ptp/ptp_ocp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Jiri Pirko Dec. 20, 2023, 9:10 a.m. UTC | #1
Wed, Dec 20, 2023 at 09:19:14AM CET, maimon.sagi@gmail.com wrote:
>When unregistering the DPLL subsystem the priv pointer is different then
>the one used for registration which cause failure in unregistering.
>
>Fixes: 09eeb3aecc6c ("ptp_ocp: implement DPLL ops")

Reviewed-by: Jiri Pirko <jiri@nvidia.com>
  
patchwork-bot+netdevbpf@kernel.org Dec. 29, 2023, 8:40 a.m. UTC | #2
Hello:

This patch was applied to netdev/net.git (main)
by David S. Miller <davem@davemloft.net>:

On Wed, 20 Dec 2023 10:19:14 +0200 you wrote:
> When unregistering the DPLL subsystem the priv pointer is different then
> the one used for registration which cause failure in unregistering.
> 
> Fixes: 09eeb3aecc6c ("ptp_ocp: implement DPLL ops")
> ---
>  drivers/ptp/ptp_ocp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Here is the summary with links:
  - [v1] ptp: ocp: fix bug in unregistering the DPLL subsystem
    https://git.kernel.org/netdev/net/c/97417cd79ce1

You are awesome, thank you!
  

Patch

diff --git a/drivers/ptp/ptp_ocp.c b/drivers/ptp/ptp_ocp.c
index 4021d3d325f9..e7defce8cf48 100644
--- a/drivers/ptp/ptp_ocp.c
+++ b/drivers/ptp/ptp_ocp.c
@@ -4492,7 +4492,7 @@  ptp_ocp_remove(struct pci_dev *pdev)
 	cancel_delayed_work_sync(&bp->sync_work);
 	for (i = 0; i < OCP_SMA_NUM; i++) {
 		if (bp->sma[i].dpll_pin) {
-			dpll_pin_unregister(bp->dpll, bp->sma[i].dpll_pin, &dpll_pins_ops, bp);
+			dpll_pin_unregister(bp->dpll, bp->sma[i].dpll_pin, &dpll_pins_ops, &bp->sma[i]);
 			dpll_pin_put(bp->sma[i].dpll_pin);
 		}
 	}