diff options
author | Jiasheng Jiang <jiasheng@iscas.ac.cn> | 2022-02-24 10:54:44 +0800 |
---|---|---|
committer | Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> | 2022-03-04 09:07:42 +0100 |
commit | fd7bd80b46373887b390852f490f21b07e209498 (patch) | |
tree | d0678e0f5afe1ad47774d469767c250ae8ef1c60 /drivers/memory | |
parent | a06bf59d07f45a0a6ab4ab8ac69c1d708d3fadcb (diff) | |
download | linux-stable-fd7bd80b46373887b390852f490f21b07e209498.tar.gz linux-stable-fd7bd80b46373887b390852f490f21b07e209498.tar.bz2 linux-stable-fd7bd80b46373887b390852f490f21b07e209498.zip |
memory: emif: Add check for setup_interrupts
As the potential failure of the devm_request_threaded_irq(),
it should be better to check the return value of the
setup_interrupts() and return error if fails.
Fixes: 68b4aee35d1f ("memory: emif: add interrupt and temperature handling")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20220224025444.3256530-1-jiasheng@iscas.ac.cn
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Diffstat (limited to 'drivers/memory')
-rw-r--r-- | drivers/memory/emif.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/memory/emif.c b/drivers/memory/emif.c index 762d0c0f0716..d4d4044e05b3 100644 --- a/drivers/memory/emif.c +++ b/drivers/memory/emif.c @@ -1117,7 +1117,7 @@ static int __init_or_module emif_probe(struct platform_device *pdev) { struct emif_data *emif; struct resource *res; - int irq; + int irq, ret; if (pdev->dev.of_node) emif = of_get_memory_device_details(pdev->dev.of_node, &pdev->dev); @@ -1147,7 +1147,9 @@ static int __init_or_module emif_probe(struct platform_device *pdev) emif_onetime_settings(emif); emif_debugfs_init(emif); disable_and_clear_all_interrupts(emif); - setup_interrupts(emif, irq); + ret = setup_interrupts(emif, irq); + if (ret) + goto error; /* One-time actions taken on probing the first device */ if (!emif1) { |