Commit e77b14a6 authored by Tomas Henzl's avatar Tomas Henzl Committed by Greg Kroah-Hartman

megaraid_sas: Add an i/o barrier

[ Upstream commit b99dbe56 ]

A barrier should be added to ensure proper ordering of memory mapped
writes.
Signed-off-by: default avatarTomas Henzl <thenzl@redhat.com>
Reviewed-by: default avatarKashyap Desai <kashyap.desai@broadcom.com>
Acked-by: default avatarKashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 948cb1ca
...@@ -735,6 +735,7 @@ megasas_fire_cmd_skinny(struct megasas_instance *instance, ...@@ -735,6 +735,7 @@ megasas_fire_cmd_skinny(struct megasas_instance *instance,
&(regs)->inbound_high_queue_port); &(regs)->inbound_high_queue_port);
writel((lower_32_bits(frame_phys_addr) | (frame_count<<1))|1, writel((lower_32_bits(frame_phys_addr) | (frame_count<<1))|1,
&(regs)->inbound_low_queue_port); &(regs)->inbound_low_queue_port);
mmiowb();
spin_unlock_irqrestore(&instance->hba_lock, flags); spin_unlock_irqrestore(&instance->hba_lock, flags);
} }
......
...@@ -201,6 +201,7 @@ megasas_fire_cmd_fusion(struct megasas_instance *instance, ...@@ -201,6 +201,7 @@ megasas_fire_cmd_fusion(struct megasas_instance *instance,
&instance->reg_set->inbound_low_queue_port); &instance->reg_set->inbound_low_queue_port);
writel(le32_to_cpu(req_desc->u.high), writel(le32_to_cpu(req_desc->u.high),
&instance->reg_set->inbound_high_queue_port); &instance->reg_set->inbound_high_queue_port);
mmiowb();
spin_unlock_irqrestore(&instance->hba_lock, flags); spin_unlock_irqrestore(&instance->hba_lock, flags);
#endif #endif
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment