aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sym53c8xx_2/sym_glue.h
diff options
context:
space:
mode:
authorLinas Vepstas <linas@austin.ibm.com>2007-10-05 15:55:04 -0400
committerJames Bottomley <jejb@mulgrave.localdomain>2007-10-23 15:10:20 -0400
commitd68cd75992f95d6977956fb227f02e6d532f3d26 (patch)
treeeb28d218817bb9c893220191ad9a7a90ef474861 /drivers/scsi/sym53c8xx_2/sym_glue.h
parent2ba65367720d871f9d955ca3ef96358999182765 (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.h3
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 bea7bcc69eb..d5ba5aae6c5 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 */
221struct host_data { 222struct host_data {
222 struct sym_hcb *ncb; 223 struct sym_hcb *ncb;
224 struct completion *io_reset; /* PCI error handling */
223}; 225};
224 226
225static inline struct sym_hcb * sym_get_hcb(struct Scsi_Host *host) 227static 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);
265void sym_xpt_async_sent_bdr(struct sym_hcb *np, int target); 267void sym_xpt_async_sent_bdr(struct sym_hcb *np, int target);
266int sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp); 268int sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp);
267void sym_log_bus_error(struct sym_hcb *np); 269void sym_log_bus_error(struct sym_hcb *np);
270void sym_dump_registers(struct sym_hcb *np);
268 271
269#endif /* SYM_GLUE_H */ 272#endif /* SYM_GLUE_H */