The currently interrupts are configured after the channel was enabled.

Cc: Haiyue Wang <[email protected]>
Cc: Corey Minyard <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: [email protected]
Signed-off-by: Andrew Jeffery <[email protected]>
---
 drivers/char/ipmi/kcs_bmc_aspeed.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/char/ipmi/kcs_bmc_aspeed.c 
b/drivers/char/ipmi/kcs_bmc_aspeed.c
index 3c955946e647..e3dd09022589 100644
--- a/drivers/char/ipmi/kcs_bmc_aspeed.c
+++ b/drivers/char/ipmi/kcs_bmc_aspeed.c
@@ -268,13 +268,14 @@ static int aspeed_kcs_probe(struct platform_device *pdev)
        kcs_bmc->io_inputb = aspeed_kcs_inb;
        kcs_bmc->io_outputb = aspeed_kcs_outb;
 
+       rc = aspeed_kcs_config_irq(kcs_bmc, pdev);
+       if (rc)
+               return rc;
+
        dev_set_drvdata(dev, kcs_bmc);
 
        aspeed_kcs_set_address(kcs_bmc, addr);
        aspeed_kcs_enable_channel(kcs_bmc, true);
-       rc = aspeed_kcs_config_irq(kcs_bmc, pdev);
-       if (rc)
-               return rc;
 
        rc = misc_register(&kcs_bmc->miscdev);
        if (rc) {
-- 
2.20.1

Reply via email to