[kernel/f14/master] Dump stack on failed ATA commands in pata_it821x driver (#632753)

Chuck Ebbert cebbert at fedoraproject.org
Wed Sep 22 15:55:30 UTC 2010


commit b2398b3ef3528a5182ca6d0c17e51666e03a6430
Author: Chuck Ebbert <cebbert at redhat.com>
Date:   Wed Sep 22 11:54:31 2010 -0400

    Dump stack on failed ATA commands in pata_it821x driver (#632753)

 kernel.spec                                   |    6 +++++
 libata-it821x-dump-stack-on-cache-flush.patch |   30 +++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 0 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index f14fb24..7392cb6 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -753,6 +753,8 @@ Patch12590: sched-30-sched-fix-nohz-balance-kick.patch
 Patch13600: btusb-macbookpro-6-2.patch
 Patch13601: btusb-macbookpro-7-1.patch
 
+Patch13610: libata-it821x-dump-stack-on-cache-flush.patch
+
 %endif
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1394,6 +1396,9 @@ ApplyPatch sched-30-sched-fix-nohz-balance-kick.patch
 ApplyPatch btusb-macbookpro-7-1.patch
 ApplyPatch btusb-macbookpro-6-2.patch
 
+# temporary patch, dump stack on failed it821x commands
+ApplyPatch libata-it821x-dump-stack-on-cache-flush.patch
+
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -1982,6 +1987,7 @@ fi
 %changelog
 * Wed Sep 22 2010 Chuck Ebbert <cebbert at redhat.com>
 - Fix possible lockup with new scheduler idle balance code.
+- Dump stack on failed ATA commands in pata_it821x driver (#632753)
 
 * Tue Sep 21 2010 Kyle McMartin <kyle at redhat.com>
 - Add new btusb ids for MacBookPro from wwoods at .
diff --git a/libata-it821x-dump-stack-on-cache-flush.patch b/libata-it821x-dump-stack-on-cache-flush.patch
new file mode 100644
index 0000000..8413066
--- /dev/null
+++ b/libata-it821x-dump-stack-on-cache-flush.patch
@@ -0,0 +1,30 @@
+Dump stack once on unsupported commands to see who is submitting them.
+(#632753)
+
+--- linux-2.6.34.noarch.orig/drivers/ata/pata_it821x.c
++++ linux-2.6.34.noarch/drivers/ata/pata_it821x.c
+@@ -399,6 +399,16 @@ static void it821x_passthru_dev_select(s
+ 	ata_sff_dev_select(ap, device);
+ }
+ 
++static void it821x_dump_stack_once(void)
++{
++	static int dumped = 0;
++
++	if (!dumped) {
++		dump_stack();
++		dumped = 1;
++	}
++}
++
+ /**
+  *	it821x_smart_qc_issue		-	wrap qc issue prot
+  *	@qc: command
+@@ -433,6 +443,7 @@ static unsigned int it821x_smart_qc_issu
+ 			return ata_sff_qc_issue(qc);
+ 	}
+ 	printk(KERN_DEBUG "it821x: can't process command 0x%02X\n", qc->tf.command);
++	it821x_dump_stack_once();
+ 	return AC_ERR_DEV;
+ }
+ 


More information about the scm-commits mailing list