From: Brian King Date: Wed, 3 Dec 2008 17:02:56 +0000 (-0600) Subject: [SCSI] ibmvfc: Fix errors due to inconsistent command data X-Git-Tag: v2.6.29-rc1~555^2~56 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=a528ab7a324f1dbb3598ae0ecd238ab7dd974294;p=linux-2.6-omap-h63xx.git [SCSI] ibmvfc: Fix errors due to inconsistent command data 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 Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c index 2aa3d695d54..a401e938a87 100644 --- a/drivers/scsi/ibmvscsi/ibmvfc.c +++ b/drivers/scsi/ibmvscsi/ibmvfc.c @@ -1381,6 +1381,8 @@ static int ibmvfc_send_event(struct ibmvfc_event *evt, 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);