ptp: vmclock: Set driver data before its usage
If vmclock_ptp_register() fails during probing, vmclock_remove() is
called to clean up the ptp clock and misc device.
It uses dev_get_drvdata() to access the vmclock state.
However the driver data is not yet set at this point.
Assign the driver data earlier.
Fixes: 2050327242
("ptp: Add support for the AMZNC10C 'vmclock' device")
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
7b07b04025
commit
f7d07cd4f7
1 changed files with 2 additions and 2 deletions
|
@ -525,6 +525,8 @@ static int vmclock_probe(struct platform_device *pdev)
|
|||
goto out;
|
||||
}
|
||||
|
||||
dev_set_drvdata(dev, st);
|
||||
|
||||
if (le32_to_cpu(st->clk->magic) != VMCLOCK_MAGIC ||
|
||||
le32_to_cpu(st->clk->size) > resource_size(&st->res) ||
|
||||
le16_to_cpu(st->clk->version) != 1) {
|
||||
|
@ -588,8 +590,6 @@ static int vmclock_probe(struct platform_device *pdev)
|
|||
(st->miscdev.minor && st->ptp_clock) ? ", " : "",
|
||||
st->ptp_clock ? "PTP" : "");
|
||||
|
||||
dev_set_drvdata(dev, st);
|
||||
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue