| From | Kamal Mostafa <> | Subject | [PATCH 3.19.y-ckt 006/102] ipmi/powernv: Fix minor locking bug | Date | Tue, 22 Sep 2015 10:51:02 -0700 |
| |
3.19.8-ckt7 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Alistair Popple <alistair@popple.id.au>
commit ad1ed2a9dd4c435d6a3ce470211db9a8d107c3e0 upstream.
If ipmi_powernv_recv(...) is called without a current message it prints a warning and returns. However it fails to release the message lock causing the system to dead lock during any subsequent IPMI operations.
This error path should never normally be taken unless there are bugs elsewhere in the system.
Signed-off-by: Alistair Popple <alistair@popple.id.au> Signed-off-by: Corey Minyard <cminyard@mvista.com> Cc: Tim Gardner <tim.gardner@canonical.com> Signed-off-by: Kamal Mostafa <kamal@canonical.com> --- drivers/char/ipmi/ipmi_powernv.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/char/ipmi/ipmi_powernv.c b/drivers/char/ipmi/ipmi_powernv.c index 79524ed..8753b0f 100644 --- a/drivers/char/ipmi/ipmi_powernv.c +++ b/drivers/char/ipmi/ipmi_powernv.c @@ -125,6 +125,7 @@ static int ipmi_powernv_recv(struct ipmi_smi_powernv *smi) spin_lock_irqsave(&smi->msg_lock, flags); if (!smi->cur_msg) { + spin_unlock_irqrestore(&smi->msg_lock, flags); pr_warn("no current message?\n"); return 0; } -- 1.9.1
|