[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