mirror of https://gitee.com/openkylin/linux.git
sgi-xp: nested calls to spin_lock_irqsave()
The code here has a nested spin_lock_irqsave(). It's not needed since IRQs are already disabled and it causes a problem because it means that IRQs won't be enabled again at the end. The second call to spin_lock_irqsave() will overwrite the value of irq_flags and we can't restore the proper settings. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Robin Holt <holt@sgi.com> Cc: Jack Steiner <steiner@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
fea9f718b3
commit
8875408abd
|
@ -452,9 +452,9 @@ xpc_handle_activate_mq_msg_uv(struct xpc_partition *part,
|
||||||
|
|
||||||
if (msg->activate_gru_mq_desc_gpa !=
|
if (msg->activate_gru_mq_desc_gpa !=
|
||||||
part_uv->activate_gru_mq_desc_gpa) {
|
part_uv->activate_gru_mq_desc_gpa) {
|
||||||
spin_lock_irqsave(&part_uv->flags_lock, irq_flags);
|
spin_lock(&part_uv->flags_lock);
|
||||||
part_uv->flags &= ~XPC_P_CACHED_ACTIVATE_GRU_MQ_DESC_UV;
|
part_uv->flags &= ~XPC_P_CACHED_ACTIVATE_GRU_MQ_DESC_UV;
|
||||||
spin_unlock_irqrestore(&part_uv->flags_lock, irq_flags);
|
spin_unlock(&part_uv->flags_lock);
|
||||||
part_uv->activate_gru_mq_desc_gpa =
|
part_uv->activate_gru_mq_desc_gpa =
|
||||||
msg->activate_gru_mq_desc_gpa;
|
msg->activate_gru_mq_desc_gpa;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue