diff options
author | Robert Buchholz <rbu@gentoo.org> | 2008-08-28 19:08:00 +0000 |
---|---|---|
committer | Robert Buchholz <rbu@gentoo.org> | 2008-08-28 19:08:00 +0000 |
commit | af5f48bdae2a14ea9877d7f64aac1db80c3582eb (patch) | |
tree | eab4b204ec281e1cb13b06964a91d0d12a19f799 /trunk/2.6.18/30075_3w-xxxx-bigmem-corruption.patch | |
parent | Releasing 2.6.18-11 (diff) | |
download | xen-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.patch | 42 |
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() */ |