summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Buchholz <rbu@gentoo.org>2008-08-28 19:08:00 +0000
committerRobert Buchholz <rbu@gentoo.org>2008-08-28 19:08:00 +0000
commitaf5f48bdae2a14ea9877d7f64aac1db80c3582eb (patch)
treeeab4b204ec281e1cb13b06964a91d0d12a19f799 /trunk/2.6.18/30075_3w-xxxx-bigmem-corruption.patch
parentReleasing 2.6.18-11 (diff)
downloadxen-af5f48bdae2a14ea9877d7f64aac1db80c3582eb.tar.gz
xen-af5f48bdae2a14ea9877d7f64aac1db80c3582eb.tar.bz2
xen-af5f48bdae2a14ea9877d7f64aac1db80c3582eb.zip
Upgrade patches to Xen 3.3.0 and Debian Security 2.6.18.dfsg.1-22etch2
svn path=/patches/; revision=81
Diffstat (limited to 'trunk/2.6.18/30075_3w-xxxx-bigmem-corruption.patch')
-rw-r--r--trunk/2.6.18/30075_3w-xxxx-bigmem-corruption.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/trunk/2.6.18/30075_3w-xxxx-bigmem-corruption.patch b/trunk/2.6.18/30075_3w-xxxx-bigmem-corruption.patch
new file mode 100644
index 0000000..400fcdf
--- /dev/null
+++ b/trunk/2.6.18/30075_3w-xxxx-bigmem-corruption.patch
@@ -0,0 +1,42 @@
+Changes extracted from:
+ http://www.3ware.com/KB/attachments/183-3w-xxxx-2.6.18-GUIDa2c1e9da5ebd4284a41f7be6cee86ff1.tgz
+Described at:
+ http://www.3ware.com/KB/article.aspx?id=15243
+
+Recent upstream kernels have been converted to the new
+sg list accessor API, so this fix isn't applicable there.
+
+diff -urpN linux-source-2.6.18.orig/drivers/scsi/3w-xxxx.c linux-source-2.6.18/drivers/scsi/3w-xxxx.c
+--- linux-source-2.6.18.orig/drivers/scsi/3w-xxxx.c 2006-09-19 21:42:06.000000000 -0600
++++ linux-source-2.6.18/drivers/scsi/3w-xxxx.c 2008-04-21 21:34:10.000000000 -0600
+@@ -1286,7 +1286,7 @@ static int tw_map_scsi_sg_data(struct pc
+ if (cmd->use_sg == 0)
+ return 0;
+
+- use_sg = pci_map_sg(pdev, cmd->request_buffer, cmd->use_sg, DMA_BIDIRECTIONAL);
++ use_sg = pci_map_sg(pdev, cmd->request_buffer, cmd->use_sg, cmd->sc_data_direction);
+
+ if (use_sg == 0) {
+ printk(KERN_WARNING "3w-xxxx: tw_map_scsi_sg_data(): pci_map_sg() failed.\n");
+@@ -1308,7 +1308,7 @@ static u32 tw_map_scsi_single_data(struc
+ if (cmd->request_bufflen == 0)
+ return 0;
+
+- mapping = pci_map_page(pdev, virt_to_page(cmd->request_buffer), offset_in_page(cmd->request_buffer), cmd->request_bufflen, DMA_BIDIRECTIONAL);
++ mapping = pci_map_page(pdev, virt_to_page(cmd->request_buffer), offset_in_page(cmd->request_buffer), cmd->request_bufflen, cmd->sc_data_direction);
+
+ if (mapping == 0) {
+ printk(KERN_WARNING "3w-xxxx: tw_map_scsi_single_data(): pci_map_page() failed.\n");
+@@ -1327,10 +1327,10 @@ static void tw_unmap_scsi_data(struct pc
+
+ switch(cmd->SCp.phase) {
+ case TW_PHASE_SINGLE:
+- pci_unmap_page(pdev, cmd->SCp.have_data_in, cmd->request_bufflen, DMA_BIDIRECTIONAL);
++ pci_unmap_page(pdev, cmd->SCp.have_data_in, cmd->request_bufflen, cmd->sc_data_direction);
+ break;
+ case TW_PHASE_SGLIST:
+- pci_unmap_sg(pdev, cmd->request_buffer, cmd->use_sg, DMA_BIDIRECTIONAL);
++ pci_unmap_sg(pdev, cmd->request_buffer, cmd->use_sg, cmd->sc_data_direction);
+ break;
+ }
+ } /* End tw_unmap_scsi_data() */