diff options
author | Linas Vepstas <linas@austin.ibm.com> | 2007-10-05 15:55:04 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.localdomain> | 2007-10-23 15:10:20 -0400 |
commit | d68cd75992f95d6977956fb227f02e6d532f3d26 (patch) | |
tree | eb28d218817bb9c893220191ad9a7a90ef474861 /drivers/scsi/sym53c8xx_2/sym_glue.h | |
parent | 2ba65367720d871f9d955ca3ef96358999182765 (diff) |
[SCSI] sym53c8xx: PCI Error Recovery support
This patch adds the PCI error recovery callbacks to the Symbios SCSI device
driver. It includes support for First Failure Data Capture.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Assorted changes to initial patches, including returning IRQ_NONE from the
interrupt handler if the device is offline and re-using the eh_done completion
in the scsi error handler.
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/sym53c8xx_2/sym_glue.h')
-rw-r--r-- | drivers/scsi/sym53c8xx_2/sym_glue.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.h b/drivers/scsi/sym53c8xx_2/sym_glue.h index bea7bcc69ebd..d5ba5aae6c5a 100644 --- a/drivers/scsi/sym53c8xx_2/sym_glue.h +++ b/drivers/scsi/sym53c8xx_2/sym_glue.h | |||
@@ -40,6 +40,7 @@ | |||
40 | #ifndef SYM_GLUE_H | 40 | #ifndef SYM_GLUE_H |
41 | #define SYM_GLUE_H | 41 | #define SYM_GLUE_H |
42 | 42 | ||
43 | #include <linux/completion.h> | ||
43 | #include <linux/delay.h> | 44 | #include <linux/delay.h> |
44 | #include <linux/ioport.h> | 45 | #include <linux/ioport.h> |
45 | #include <linux/pci.h> | 46 | #include <linux/pci.h> |
@@ -220,6 +221,7 @@ struct sym_device { | |||
220 | */ | 221 | */ |
221 | struct host_data { | 222 | struct host_data { |
222 | struct sym_hcb *ncb; | 223 | struct sym_hcb *ncb; |
224 | struct completion *io_reset; /* PCI error handling */ | ||
223 | }; | 225 | }; |
224 | 226 | ||
225 | static inline struct sym_hcb * sym_get_hcb(struct Scsi_Host *host) | 227 | static inline struct sym_hcb * sym_get_hcb(struct Scsi_Host *host) |
@@ -265,5 +267,6 @@ void sym_xpt_async_bus_reset(struct sym_hcb *np); | |||
265 | void sym_xpt_async_sent_bdr(struct sym_hcb *np, int target); | 267 | void sym_xpt_async_sent_bdr(struct sym_hcb *np, int target); |
266 | int sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp); | 268 | int sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp); |
267 | void sym_log_bus_error(struct sym_hcb *np); | 269 | void sym_log_bus_error(struct sym_hcb *np); |
270 | void sym_dump_registers(struct sym_hcb *np); | ||
268 | 271 | ||
269 | #endif /* SYM_GLUE_H */ | 272 | #endif /* SYM_GLUE_H */ |