[kernel] r11113 - in dists/etch/linux-2.6/debian: . patches/bugfix patches/series

Dann Frazier dannf at alioth.debian.org
Tue Apr 22 04:57:17 UTC 2008


Author: dannf
Date: Tue Apr 22 04:57:14 2008
New Revision: 11113

Log:
3w-xxxx: Fix data corruption on em64t systems w/ > 2GB of memory
(closes: #464923).

Added:
   dists/etch/linux-2.6/debian/patches/bugfix/3w-xxxx-bigmem-corruption.patch
   dists/etch/linux-2.6/debian/patches/series/21
Modified:
   dists/etch/linux-2.6/debian/changelog

Modified: dists/etch/linux-2.6/debian/changelog
==============================================================================
--- dists/etch/linux-2.6/debian/changelog	(original)
+++ dists/etch/linux-2.6/debian/changelog	Tue Apr 22 04:57:14 2008
@@ -1,3 +1,10 @@
+linux-2.6 (2.6.18.dfsg.1-21) UNRELEASED; urgency=high
+
+  * 3w-xxxx: Fix data corruption on em64t systems w/ > 2GB of memory
+    (closes: #464923).
+
+ -- dann frazier <dannf at debian.org>  Mon, 21 Apr 2008 22:08:56 -0600
+
 linux-2.6 (2.6.18.dfsg.1-20) stable; urgency=high
 
   [ Bastian Blank ]

Added: dists/etch/linux-2.6/debian/patches/bugfix/3w-xxxx-bigmem-corruption.patch
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6/debian/patches/bugfix/3w-xxxx-bigmem-corruption.patch	Tue Apr 22 04:57:14 2008
@@ -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() */

Added: dists/etch/linux-2.6/debian/patches/series/21
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6/debian/patches/series/21	Tue Apr 22 04:57:14 2008
@@ -0,0 +1 @@
++ bugfix/3w-xxxx-bigmem-corruption.patch



More information about the Kernel-svn-changes mailing list