linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] sata_nv: revert use of notifiers for now
@ 2007-03-09  0:02 Robert Hancock
  2007-03-09 12:50 ` Jeff Garzik
  0 siblings, 1 reply; 2+ messages in thread
From: Robert Hancock @ 2007-03-09  0:02 UTC (permalink / raw)
  To: linux-kernel, linux-ide, Jeff Garzik; +Cc: s0348365

Commit 721449bf0d51213fe3abf0ac3e3561ef9ea7827a added support for using the
ADMA notifier bits to determine which commands to check for completion.
However there have been reports that this causes command timeouts in certain
cases. This is still being investigated. In addition, apparently the notifiers
won't work if ADMA is disabled on the other port as a result of an ATAPI device
being connected, and we don't handle this case properly.

For now, just restore the previous behavior of checking all active commands
to see if they are complete, without relying on the notifiers.

Signed-off-by: Robert Hancock <hancockr@shaw.ca>

--- linux-2.6.21-rc3-git3/drivers/ata/sata_nv.c	2007-03-08 17:15:25.000000000 -0600
+++ linux-2.6.21-rc3-git3edit/drivers/ata/sata_nv.c	2007-03-08 17:19:42.000000000 -0600
@@ -874,8 +874,14 @@
 
 			if (status & (NV_ADMA_STAT_DONE |
 				      NV_ADMA_STAT_CPBERR)) {
-				u32 check_commands = notifier | notifier_error;
+				u32 check_commands;
 				int pos, error = 0;
+
+				if(ata_tag_valid(ap->active_tag))
+					check_commands = 1 << ap->active_tag;
+				else
+					check_commands = ap->sactive;
+
 				/** Check CPBs for completed commands */
 				while ((pos = ffs(check_commands)) && !error) {
 					pos--;


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-03-09 12:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-09  0:02 [PATCH] sata_nv: revert use of notifiers for now Robert Hancock
2007-03-09 12:50 ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).