[kernel] r12544 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series

Dann Frazier dannf at alioth.debian.org
Mon Jan 5 05:06:45 UTC 2009


Author: dannf
Date: Mon Jan  5 05:06:44 2009
New Revision: 12544

Log:
Fix regressions in eata driver (Closes: #506835)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/eata-fix-data-buffer-accessor-conversion-regression.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/13

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Mon Jan  5 05:06:44 2009
@@ -18,12 +18,13 @@
   * Enable w9968cf driver on all i386 images (Closes: #495698)
   * Register DualPoint model found in Dell Latitude E6500 (Closes: #507958)
   * Disable link tuning in rt2500usb driver. (Closes: #510607)
+  * Fix regressions in eata driver (Closes: #506835)
 
   [ Martin Michlmayr ]
   * V4L/DVB: Fix initialization of URB list (Thomas Reitmayr) to address
     the oops reported at http://forum.qnap.com/viewtopic.php?f=147&t=10572
 
- -- dann frazier <dannf at debian.org>  Sun, 04 Jan 2009 21:36:24 -0700
+ -- dann frazier <dannf at debian.org>  Sun, 04 Jan 2009 21:54:25 -0700
 
 linux-2.6 (2.6.26-12) unstable; urgency=high
 

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/eata-fix-data-buffer-accessor-conversion-regression.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/eata-fix-data-buffer-accessor-conversion-regression.patch	Mon Jan  5 05:06:44 2009
@@ -0,0 +1,56 @@
+commit 20c09df7eb9c92a40e0ecf654b6e8f14c8583b9e
+Author: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
+Date:   Tue Dec 23 04:01:35 2008 +0900
+
+    [SCSI] eata: fix the data buffer accessors conversion regression
+    
+    This fixes the regression introduced by the commit
+    58e2a02eb18393e76a469580fedf7caec190eb5e (eata: convert to use the
+    data buffer accessors), reported:
+    
+    http://marc.info/?t=122987621300006&r=1&w=2
+    
+    - fix DMA_NONE handling in map_dma()
+    
+    - this driver can't use scsi_dma_map since host->shost_gendev.parent
+    is not set properly (it uses scsi_register).
+    
+    Signed-off-by: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
+    Reported-by: Arthur Marsh <arthur.marsh at internode.on.net>
+    Tested-by: Arthur Marsh <arthur.marsh at internode.on.net>
+    Cc: stable at kernel.org
+    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>
+
+diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
+index a73a6bb..976cdd5 100644
+--- a/drivers/scsi/eata.c
++++ b/drivers/scsi/eata.c
+@@ -1626,8 +1626,15 @@ static void map_dma(unsigned int i, struct hostdata *ha)
+ 
+ 	cpp->sense_len = SCSI_SENSE_BUFFERSIZE;
+ 
+-	count = scsi_dma_map(SCpnt);
+-	BUG_ON(count < 0);
++	if (!scsi_sg_count(SCpnt)) {
++		cpp->data_len = 0;
++		return;
++	}
++
++	count = pci_map_sg(ha->pdev, scsi_sglist(SCpnt), scsi_sg_count(SCpnt),
++			   pci_dir);
++	BUG_ON(!count);
++
+ 	scsi_for_each_sg(SCpnt, sg, count, k) {
+ 		cpp->sglist[k].address = H2DEV(sg_dma_address(sg));
+ 		cpp->sglist[k].num_bytes = H2DEV(sg_dma_len(sg));
+@@ -1655,7 +1662,9 @@ static void unmap_dma(unsigned int i, struct hostdata *ha)
+ 		pci_unmap_single(ha->pdev, DEV2H(cpp->sense_addr),
+ 				 DEV2H(cpp->sense_len), PCI_DMA_FROMDEVICE);
+ 
+-	scsi_dma_unmap(SCpnt);
++	if (scsi_sg_count(SCpnt))
++		pci_unmap_sg(ha->pdev, scsi_sglist(SCpnt), scsi_sg_count(SCpnt),
++			     pci_dir);
+ 
+ 	if (!DEV2H(cpp->data_len))
+ 		pci_dir = PCI_DMA_BIDIRECTIONAL;

Modified: dists/sid/linux-2.6/debian/patches/series/13
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/13	(original)
+++ dists/sid/linux-2.6/debian/patches/series/13	Mon Jan  5 05:06:44 2009
@@ -9,3 +9,4 @@
 + bugfix/x86/input-alps-add-dell-latitude-e6500.patch
 + bugfix/all/dvb-fix-init-of-urb-list.patch
 + bugfix/all/rt2500usb-disable-link-tuning.patch
++ bugfix/all/eata-fix-data-buffer-accessor-conversion-regression.patch



More information about the Kernel-svn-changes mailing list