]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
megaraid_sas: Add an i/o barrier
authorTomas Henzl <thenzl@redhat.com>
Mon, 1 Feb 2016 14:12:04 +0000 (15:12 +0100)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 16 Mar 2016 13:38:06 +0000 (06:38 -0700)
Orabug: 22620626

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

Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Reviewed-by: Kashyap Desai <kashyap.desai@broadcom.com>
Acked-by: Kashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit b99dbe56d511eb07de33bfa1b99ac5a6ff76ae08)
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Orabug : 22620626
Signed-off-by: Manjunath Govindashetty <manjunath.govindashetty@oracle.com>
drivers/scsi/megaraid/megaraid_sas_base.c
drivers/scsi/megaraid/megaraid_sas_fusion.c

index 063c57ec179efa9b6e55cd4db809e48e01857a07..6b9c247487d2fd3899efdf4fdf0f9be7a59721d9 100644 (file)
@@ -750,6 +750,7 @@ megasas_fire_cmd_skinny(struct megasas_instance *instance,
               &(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);
 }
 
index b1a3b87b657b52ac60bd6c39a46f79453dbdd014..151769cea60671aac11fbe546a5ce8a7c42ddd5b 100644 (file)
@@ -204,6 +204,7 @@ megasas_fire_cmd_fusion(struct megasas_instance *instance,
                &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
 }