]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.drivers/ibmvfc-add_sync.patch
Reenabled linux-xen, added patches for Xen Kernel Version 2.6.27.31,
[ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.drivers / ibmvfc-add_sync.patch
diff --git a/src/patches/suse-2.6.27.31/patches.drivers/ibmvfc-add_sync.patch b/src/patches/suse-2.6.27.31/patches.drivers/ibmvfc-add_sync.patch
new file mode 100644 (file)
index 0000000..8912b3d
--- /dev/null
@@ -0,0 +1,26 @@
+Subject: Fix errors due to inconsistent command data
+From: Brian J. King <brking@us.ibm.com>
+References: 456654 - LTC50451
+
+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@linux.vnet.ibm.com>
+Signed-off-by: Olaf Hering <olh@suse.de>
+---
+
+ drivers/scsi/ibmvscsi/ibmvfc.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/scsi/ibmvscsi/ibmvfc.c
++++ b/drivers/scsi/ibmvscsi/ibmvfc.c
+@@ -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);