diff options
| author | Li Yang <leoyang.li@nxp.com> | 2018-10-05 13:58:35 -0500 |
|---|---|---|
| committer | Li Yang <leoyang.li@nxp.com> | 2018-10-05 13:58:35 -0500 |
| commit | 56740a7167cbbbda99ebfd3e8b4e4d51ae39bd06 (patch) | |
| tree | 0db45d0dd63acaee2a3078acc47c31d2d851c68e /drivers/soc/fsl/qbman/bman_ccsr.c | |
| parent | afa86d264a7ce62ba214bc7c6012e2129141421e (diff) | |
| parent | 5a1eb8b9542884592a018829bb1ff20c9695d925 (diff) | |
Merge tag 'soc-fsl-fix-v4.19-2' into HEAD
NXP/FSL SoC driver fixes for v4.19 round 2
- Fix crash of qman_portal by deferring its probe if qman is not probed
Diffstat (limited to 'drivers/soc/fsl/qbman/bman_ccsr.c')
| -rw-r--r-- | drivers/soc/fsl/qbman/bman_ccsr.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/soc/fsl/qbman/bman_ccsr.c b/drivers/soc/fsl/qbman/bman_ccsr.c index 05c42235dd41..7c3cc968053c 100644 --- a/drivers/soc/fsl/qbman/bman_ccsr.c +++ b/drivers/soc/fsl/qbman/bman_ccsr.c @@ -120,6 +120,7 @@ static void bm_set_memory(u64 ba, u32 size) */ static dma_addr_t fbpr_a; static size_t fbpr_sz; +static int __bman_probed; static int bman_fbpr(struct reserved_mem *rmem) { @@ -166,6 +167,12 @@ static irqreturn_t bman_isr(int irq, void *ptr) return IRQ_HANDLED; } +int bman_is_probed(void) +{ + return __bman_probed; +} +EXPORT_SYMBOL_GPL(bman_is_probed); + static int fsl_bman_probe(struct platform_device *pdev) { int ret, err_irq; @@ -175,6 +182,8 @@ static int fsl_bman_probe(struct platform_device *pdev) u16 id, bm_pool_cnt; u8 major, minor; + __bman_probed = -1; + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { dev_err(dev, "Can't get %pOF property 'IORESOURCE_MEM'\n", @@ -255,6 +264,8 @@ static int fsl_bman_probe(struct platform_device *pdev) return ret; } + __bman_probed = 1; + return 0; }; |
