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