rpms/kernel/F-7 linux-2.6-libata-unbreak-smart-2.patch, NONE, 1.1 kernel-2.6.spec, 1.3283, 1.3284

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Mon Jul 16 20:09:01 UTC 2007


Author: cebbert

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

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-libata-unbreak-smart-2.patch 
Log Message:
* Mon Jul 16 2007 Chuck Ebbert <cebbert at redhat.com>
- add proper caching of last_ctl to the 'unbreak SMART' fix


linux-2.6-libata-unbreak-smart-2.patch:

--- NEW FILE linux-2.6-libata-unbreak-smart-2.patch ---
libata: fix last_ctl caching in ata_tf_read()

last_ctl was not cached properly. (Pointed out
by Tejun Heo.)

Signed-off-by: Chuck Ebbert <cebbert at redhat.com>

---
(Apply after Petr's patch to fix the sense data.)

 drivers/ata/libata-sff.c |    5 +++++
 1 file changed, 5 insertions(+)

--- linux-2.6.22.noarch.orig/drivers/ata/libata-sff.c
+++ linux-2.6.22.noarch/drivers/ata/libata-sff.c
@@ -196,7 +196,9 @@ void ata_tf_read(struct ata_port *ap, st
 {
 	struct ata_ioports *ioaddr = &ap->ioaddr;
 
+	ap->last_ctl = tf->ctl;
 	iowrite8(tf->ctl, ioaddr->ctl_addr);
+
 	tf->command = ata_check_status(ap);
 	tf->feature = ioread8(ioaddr->error_addr);
 	tf->nsect = ioread8(ioaddr->nsect_addr);
@@ -205,7 +208,9 @@ void ata_tf_read(struct ata_port *ap, st
 	tf->device = ioread8(ioaddr->device_addr);
 
 	if (tf->flags & ATA_TFLAG_LBA48) {
+		ap->last_ctl = tf_ctl | ATA_HOB;
 		iowrite8(tf->ctl | ATA_HOB, ioaddr->ctl_addr);
+
 		tf->hob_feature = ioread8(ioaddr->error_addr);
 		tf->hob_nsect = ioread8(ioaddr->nsect_addr);
 		tf->hob_lbal = ioread8(ioaddr->lbal_addr);


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3283
retrieving revision 1.3284
diff -u -r1.3283 -r1.3284
--- kernel-2.6.spec	16 Jul 2007 15:25:54 -0000	1.3283
+++ kernel-2.6.spec	16 Jul 2007 20:08:29 -0000	1.3284
@@ -568,6 +568,7 @@
 Patch663: linux-2.6-ata-quirk.patch
 Patch664: linux-2.6-libata-sb700-sata-ids.patch
 Patch665: linux-2.6-libata-unbreak-smart.patch
+Patch666: linux-2.6-libata-unbreak-smart-2.patch
 Patch680: git-wireless-dev.patch
 Patch681: git-iwlwifi.patch
 Patch682: linux-2.6-rtl8187.patch
@@ -1210,6 +1211,7 @@
 ApplyPatch linux-2.6-libata-sb700-sata-ids.patch
 # Unbreak SMART on libata.
 ApplyPatch linux-2.6-libata-unbreak-smart.patch
+ApplyPatch linux-2.6-libata-unbreak-smart-2.patch
 
 # Add the rtl8187 driver from upstream (remove after update to 2.6.22-git1)
 ApplyPatch linux-2.6-rtl8187.patch
@@ -2177,6 +2179,9 @@
 %endif
 
 %changelog
+* Mon Jul 16 2007 Chuck Ebbert <cebbert at redhat.com>
+- add proper caching of last_ctl to the 'unbreak SMART' fix
+
 * Mon Jul 16 2007 Dave Jones <davej at redhat.com>
 - Unbreak SMART on libata.
 




More information about the scm-commits mailing list