libata: move EH repeat reporting into ata_eh_report()
authorTejun Heo <htejun@gmail.com>
Sat, 18 Aug 2007 04:28:49 +0000 (13:28 +0900)
committerJeff Garzik <jeff@garzik.org>
Fri, 12 Oct 2007 18:55:37 +0000 (14:55 -0400)
commita1e10f7e68a544c80081fee4fa550dc28389f44a
treecf6673989f360e0b12b2a658a7042d30420c14eb
parentcbcdd87593a1d85c5c4b259945a3a09eee12814d
libata: move EH repeat reporting into ata_eh_report()

EH is sometimes repeated without any error or action.  For example,
this happens when probing IDENTIFY fails because of a phantom device.
In these cases, all the repeated EH does is making sure there is no
unhandled error or pending action and return.  This repeation is
necessary to avoid losing any event which occurred while EH was in
progress.

Unfortunately, this dry run causes annonying "EH pending after
completion" message.  This patch moves the repeat reporting into
ata_eh_report() such that it's more compact and skipped on dry runs.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Mikael Pettersson <mikep@it.uu.se>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-eh.c
include/linux/libata.h