Lines Matching full:eh

3  *  libata-eh.c - libata error handling
121 /* The following table determines timeouts to use for EH internal
328 * EH context.
351 * Notify EH that internal command @cmd for @dev timed out. This
356 * EH context.
446 /* doesn't make sense for port-wide EH actions */ in ata_eh_clear_action()
463 * ata_eh_acquire - acquire EH ownership
464 * @ap: ATA port to acquire EH ownership for
466 * Acquire EH ownership for @ap. This is the basic exclusion
468 * the same host can claim the ownership of EH.
471 * EH context.
481 * ata_eh_release - release EH ownership
482 * @ap: ATA port to release EH ownership for
484 * Release EH ownership for @ap if the caller. The caller must
485 * have acquired EH ownership using ata_eh_acquire() previously.
488 * EH context.
606 * For EH, all qcs are finished in one of three ways - in ata_scsi_cmd_error_handler()
609 * completion wins, the qc never reaches EH. When error in ata_scsi_cmd_error_handler()
637 * If the scmd was added to EH, via ata_qc_schedule_eh() -> in ata_scsi_cmd_error_handler()
670 * If we have timed out qcs. They belong to EH from in ata_scsi_cmd_error_handler()
699 /* acquire EH ownership */ in ata_scsi_port_error_handler()
708 /* fetch & clear EH info */ in ata_scsi_port_error_handler()
736 ap->excl_link = NULL; /* don't maintain exclusion over EH */ in ata_scsi_port_error_handler()
740 /* invoke EH, skip if unloading or suspended */ in ata_scsi_port_error_handler()
756 * port but before this point. Repeat EH in such case. in ata_scsi_port_error_handler()
766 "EH pending after %d tries, giving up\n", in ata_scsi_port_error_handler()
771 /* this run is complete, make sure EH info is clear */ in ata_scsi_port_error_handler()
776 * end eh (clear host_eh_scheduled) while holding ap->lock such that if in ata_scsi_port_error_handler()
777 * exception occurs after this point but before EH completion, SCSI in ata_scsi_port_error_handler()
778 * midlayer will re-initiate EH. in ata_scsi_port_error_handler()
799 ata_port_info(ap, "EH complete\n"); in ata_scsi_port_error_handler()
812 * ata_port_wait_eh - Wait for the currently pending EH to complete
813 * @ap: Port to wait EH for
815 * Wait until the currently pending EH is complete.
838 /* make sure SCSI EH is complete */ in ata_port_wait_eh()
906 * is non-zero and EH wasn't pending before. Fast drain ensures
907 * that EH kicks in in timely manner.
941 * Schedule error handling for @qc. EH will kick in as soon as
955 * ata_scsi_error() takes care of such scmds on EH entry. in ata_qc_schedule_eh()
963 * ata_std_sched_eh - non-libsas ata_ports issue eh with this common routine
964 * @ap: ATA port to schedule EH for
982 * ata_std_end_eh - non-libsas ata_ports complete eh with this common routine
983 * @ap: ATA port to end EH for
1004 * @ap: ATA port to schedule EH for
1006 * Schedule error handling for @ap. EH will kick in as soon as
1046 * Abort all active qc's active on @link and schedule EH.
1064 * Abort all active qc's of @ap and schedule EH.
1129 * ata_eh_freeze_port - EH helper to freeze port
1148 * ata_eh_thaw_port - EH helper to thaw port
1193 * ata_eh_qc_complete - Complete an active ATA command from EH
1197 * completed. To be used from EH.
1207 * ata_eh_qc_retry - Tell midlayer to retry an ATA command after EH
1211 * should be retried. To be used from EH.
1232 * EH context.
1279 /* clear per-dev EH info */ in ata_eh_detach_dev()
1294 * Called just before performing EH actions to clear related bits
1295 * in @link->eh_info such that eh actions are not unnecessarily
1315 /* About to take EH action, set RECOVERED. Ignore actions on in ata_eh_about_to_do()
1325 * ata_eh_done - EH action complete
1326 * @link: ATA link for which EH actions are complete
1330 * Called right after performing EH actions to clear related bits
1393 * EH context (may sleep).
1425 * EH). However, for a QC, we always need to fetch the sense data
1426 * explicitly using SCSI EH.
1428 * A command that is completed via SCSI EH will instead be completed using
1432 * For a command that went through SCSI EH, it is the responsibility of the
1433 * SCSI EH strategy handler to call scsi_decide_disposition(), see e.g. how
1437 * Thus, for QC commands that went via SCSI EH, we need to call
1443 * EH context.
1458 * SENSE. This function is an EH helper.
1515 * SENSE. This function is EH helper.
2120 * context, the sense data for successful commands are fetched by EH. in ata_eh_link_autopsy()
2181 /* enforce default EH actions */ in ata_eh_link_autopsy()
2190 * perform per-dev EH action only on the offending device. in ata_eh_link_autopsy()
2386 * @link: ATA link EH is going on
2388 * Report EH to user.
2581 * @ap: ATA port to report EH about
2583 * Report EH to user.
2767 /* mark that this EH session started with reset */ in ata_eh_reset()
2971 * repeated EH runs but seems to be a better tradeoff than in ata_eh_reset()
3026 * requirements of ATA_EH_PARK handling. Since the EH thread in ata_eh_pull_park_action()
3296 * EH context (may sleep).
3350 * 0 if EH can continue, -errno if EH needs to be repeated.
3388 * successfully complete a failed command from EH. in ata_eh_maybe_retry_flush()
3423 * EH context.
3666 /* -EAGAIN from EH routine indicates retry without prejudice. in ata_eh_handle_dev_fail()
3787 /* prep for EH */ in ata_eh_recover()
3791 /* skip EH if possible. */ in ata_eh_recover()
3880 /* if PMP got attached, return, pmp EH will take care of it */ in ata_eh_recover()
3968 * ata_eh_finish - finish up EH
3969 * @ap: host port to finish EH for
3971 * Recovery is complete. Clean up EH states and retry or finish
3988 /* FIXME: Once EH migration is complete, in ata_eh_finish()
4021 /* make sure nr_active_links is zero after EH */ in ata_eh_finish()