4.4-stable review patch.  If anyone has any objections, please let me know.

------------------

[ Upstream commit b99dbe56d511eb07de33bfa1b99ac5a6ff76ae08 ]

A barrier should be added to ensure proper ordering of memory mapped
writes.

Signed-off-by: Tomas Henzl <the...@redhat.com>
Reviewed-by: Kashyap Desai <kashyap.de...@broadcom.com>
Acked-by: Kashyap Desai <kashyap.de...@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.peter...@oracle.com>
Signed-off-by: Sasha Levin <alexander.le...@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/scsi/megaraid/megaraid_sas_base.c   |    1 +
 drivers/scsi/megaraid/megaraid_sas_fusion.c |    1 +
 2 files changed, 2 insertions(+)

--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -735,6 +735,7 @@ megasas_fire_cmd_skinny(struct megasas_i
               &(regs)->inbound_high_queue_port);
        writel((lower_32_bits(frame_phys_addr) | (frame_count<<1))|1,
               &(regs)->inbound_low_queue_port);
+       mmiowb();
        spin_unlock_irqrestore(&instance->hba_lock, flags);
 }
 
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
@@ -201,6 +201,7 @@ megasas_fire_cmd_fusion(struct megasas_i
                &instance->reg_set->inbound_low_queue_port);
        writel(le32_to_cpu(req_desc->u.high),
                &instance->reg_set->inbound_high_queue_port);
+       mmiowb();
        spin_unlock_irqrestore(&instance->hba_lock, flags);
 #endif
 }


Reply via email to