In order to ensure the VIOS sees a consistent command buffer, we need to add a memory barrier after building the command buffer but before sending the command. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> --- drivers/scsi/ibmvscsi/ibmvfc.c | 2 ++ 1 file changed, 2 insertions(+) diff -puN drivers/scsi/ibmvscsi/ibmvfc.c~ibmvfc_add_sync drivers/scsi/ibmvscsi/ibmvfc.c --- linux-2.6/drivers/scsi/ibmvscsi/ibmvfc.c~ibmvfc_add_sync 2008-11-26 15:05:03.000000000 -0600 +++ linux-2.6-bjking1/drivers/scsi/ibmvscsi/ibmvfc.c 2008-12-02 12:19:50.000000000 -0600 @@ -1381,6 +1381,8 @@ static int ibmvfc_send_event(struct ibmv add_timer(&evt->timer); } + mb(); + if ((rc = ibmvfc_send_crq(vhost, crq_as_u64[0], crq_as_u64[1]))) { list_del(&evt->queue); del_timer(&evt->timer); _ -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html