]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ipmi_ssif: unlock on allocation failure
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 5 May 2017 05:33:24 +0000 (08:33 +0300)
committerSasha Levin <alexander.levin@microsoft.com>
Wed, 23 May 2018 01:36:23 +0000 (21:36 -0400)
[ Upstream commit cf9806f32ef63b745f2486e0dbb2ac21f4ca44f0 ]

We should unlock and re-enable IRQs if this allocation fails.

Fixes: 259307074bfc ("ipmi: Add SMBus interface driver (SSIF) ")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
drivers/char/ipmi/ipmi_ssif.c

index 9156bbd90b5673d2cd9a972282c86aefcc1cec1a..0166be52aacbda025cfa5ca00515097857e9a707 100644 (file)
@@ -408,6 +408,7 @@ static void start_event_fetch(struct ssif_info *ssif_info, unsigned long *flags)
        msg = ipmi_alloc_smi_msg();
        if (!msg) {
                ssif_info->ssif_state = SSIF_NORMAL;
+               ipmi_ssif_unlock_cond(ssif_info, flags);
                return;
        }
 
@@ -430,6 +431,7 @@ static void start_recv_msg_fetch(struct ssif_info *ssif_info,
        msg = ipmi_alloc_smi_msg();
        if (!msg) {
                ssif_info->ssif_state = SSIF_NORMAL;
+               ipmi_ssif_unlock_cond(ssif_info, flags);
                return;
        }