mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 07:04:10 +08:00
soc: fsl: qbman: Ensure device cleanup is run for kexec
Make sure that the QBMan device cleanup routines are executed when the device was previously initialized. This is needed for kexec since the device will keep it's state from the previous kernel that was executing. Signed-off-by: Roy Pledge <roy.pledge@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
This commit is contained in:
parent
a38fd87484
commit
c4e38b2a27
@ -160,7 +160,7 @@ static int bman_portal_probe(struct platform_device *pdev)
|
||||
__bman_portals_probed = 1;
|
||||
/* unassigned portal, skip init */
|
||||
spin_unlock(&bman_lock);
|
||||
return 0;
|
||||
goto check_cleanup;
|
||||
}
|
||||
|
||||
cpumask_set_cpu(cpu, &portal_cpus);
|
||||
@ -176,6 +176,7 @@ static int bman_portal_probe(struct platform_device *pdev)
|
||||
if (!cpu_online(cpu))
|
||||
bman_offline_cpu(cpu);
|
||||
|
||||
check_cleanup:
|
||||
if (__bman_portals_probed == 1 && bman_requires_cleanup()) {
|
||||
/*
|
||||
* BMan wasn't reset prior to boot (Kexec for example)
|
||||
|
@ -302,7 +302,7 @@ static int qman_portal_probe(struct platform_device *pdev)
|
||||
__qman_portals_probed = 1;
|
||||
/* unassigned portal, skip init */
|
||||
spin_unlock(&qman_lock);
|
||||
return 0;
|
||||
goto check_cleanup;
|
||||
}
|
||||
|
||||
cpumask_set_cpu(cpu, &portal_cpus);
|
||||
@ -323,6 +323,7 @@ static int qman_portal_probe(struct platform_device *pdev)
|
||||
if (!cpu_online(cpu))
|
||||
qman_offline_cpu(cpu);
|
||||
|
||||
check_cleanup:
|
||||
if (__qman_portals_probed == 1 && qman_requires_cleanup()) {
|
||||
/*
|
||||
* QMan wasn't reset prior to boot (Kexec for example)
|
||||
|
Loading…
Reference in New Issue
Block a user