rpms/kernel/F-7 linux-2.6-libata-setxfer.patch, NONE, 1.1 kernel-2.6.spec, 1.3214, 1.3215

Dave Jones (davej) fedora-extras-commits at redhat.com
Tue Jun 5 17:54:47 UTC 2007


Author: davej

Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12156

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-libata-setxfer.patch 
Log Message:
* Tue Jun 05 2007 Dave Jones <davej at redhat.com>
- libata: always use polling SETXFER (#242387)


linux-2.6-libata-setxfer.patch:

--- NEW FILE linux-2.6-libata-setxfer.patch ---
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 3ca9c61..4d6de65 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3932,10 +3932,13 @@ static unsigned int ata_dev_set_xfermode
 	/* set up set-features taskfile */
 	DPRINTK("set features - xfer mode\n");
 
+	/* Some controllers and ATAPI devices show flaky interrupt
+	 * behavior after setting xfer mode.  Use polling instead.
+	 */
 	ata_tf_init(dev, &tf);
 	tf.command = ATA_CMD_SET_FEATURES;
 	tf.feature = SETFEATURES_XFER;
-	tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE;
+	tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE | ATA_TFLAG_POLLING;
 	tf.protocol = ATA_PROT_NODATA;
 	tf.nsect = dev->xfer_mode;
 
@@ -5413,14 +5416,6 @@ unsigned int ata_qc_issue_prot(struct at
 		}
 	}
 
-	/* Some controllers show flaky interrupt behavior after
-	 * setting xfer mode.  Use polling instead.
-	 */
-	if (unlikely(qc->tf.command == ATA_CMD_SET_FEATURES &&
-		     qc->tf.feature == SETFEATURES_XFER) &&
-	    (ap->flags & ATA_FLAG_SETXFER_POLLING))
-		qc->tf.flags |= ATA_TFLAG_POLLING;
-
 	/* select the device */
 	ata_dev_select(ap, qc->dev->devno, 1, 0);
 
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 85f7b1b..a6a3113 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -171,7 +171,6 @@ enum {
 	ATA_FLAG_SKIP_D2H_BSY	= (1 << 12), /* can't wait for the first D2H
 					      * Register FIS clearing BSY */
 	ATA_FLAG_DEBUGMSG	= (1 << 13),
-	ATA_FLAG_SETXFER_POLLING= (1 << 14), /* use polling for SETXFER */
 	ATA_FLAG_IGN_SIMPLEX	= (1 << 15), /* ignore SIMPLEX */
 	ATA_FLAG_NO_IORDY	= (1 << 16), /* controller lacks iordy */
 	ATA_FLAG_ACPI_SATA	= (1 << 17), /* need native SATA ACPI layout */

-


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3214
retrieving revision 1.3215
diff -u -r1.3214 -r1.3215
--- kernel-2.6.spec	5 Jun 2007 04:44:46 -0000	1.3214
+++ kernel-2.6.spec	5 Jun 2007 17:54:04 -0000	1.3215
@@ -628,6 +628,7 @@
 Patch2208: linux-2.6-libata-atiixp-ids.patch
 Patch2209: linux-2.6-libata-pata-hpt3x2n-correct-revision-boundary.patch
 Patch2210: linux-2.6-libata-pata-sis-fix-timing.patch
+Patch2211: linux-2.6-libata-setxfer.patch
 
 # Wireless bits
 Patch2300: linux-2.6-wireless.patch
@@ -1426,6 +1427,8 @@
 %patch2209 -p1
 # pata_sis: Fix and clean up some timing setups
 %patch2210 -p1
+# libata: always use polling SETXFER
+%patch2211 -p1
 
 # Add critical wireless updates from 2.6.22
 %patch2300 -p1
@@ -2427,6 +2430,9 @@
 
 %changelog
 * Tue Jun 05 2007 Dave Jones <davej at redhat.com>
+- libata: always use polling SETXFER (#242387)
+
+* Tue Jun 05 2007 Dave Jones <davej at redhat.com>
 - Allow kdump to read /proc/kcore. (#241362)
 
 * Mon Jun 04 2007 Dave Jones <davej at redhat.com>




More information about the fedora-extras-commits mailing list