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

This commit is contained in:
Chuck Ebbert 2010-09-22 11:54:31 -04:00
parent 69a476baa9
commit b2398b3ef3
2 changed files with 36 additions and 0 deletions

View File

@ -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@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@redhat.com>
- Add new btusb ids for MacBookPro from wwoods@.

View File

@ -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;
}