mirror of
https://github.com/torvalds/linux.git
synced 2025-04-12 06:49:52 +00:00
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: 205032724226 ("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
@ -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…
x
Reference in New Issue
Block a user