Commit cee97f38 authored by Jonathan McDowell's avatar Jonathan McDowell Committed by James Bottomley

[PATCH] Initio INI-9X00U/UW error handling in 2.6

Plumb old error handling into new eh infrastructure.
parent f8888d23
...@@ -106,6 +106,8 @@ ...@@ -106,6 +106,8 @@
* - Changed the assumption that HZ = 100 * - Changed the assumption that HZ = 100
* 10/17/03 mc - v1.04 * 10/17/03 mc - v1.04
* - added new DMA API support * - added new DMA API support
* 06/01/04 jmd - v1.04a
* - Re-add reset_bus support
**************************************************************************/ **************************************************************************/
#define CVT_LINUX_VERSION(V,P,S) (V * 65536 + P * 256 + S) #define CVT_LINUX_VERSION(V,P,S) (V * 65536 + P * 256 + S)
...@@ -149,6 +151,7 @@ static Scsi_Host_Template driver_template = { ...@@ -149,6 +151,7 @@ static Scsi_Host_Template driver_template = {
.queuecommand = i91u_queue, .queuecommand = i91u_queue,
// .abort = i91u_abort, // .abort = i91u_abort,
// .reset = i91u_reset, // .reset = i91u_reset,
.eh_bus_reset_handler = i91u_bus_reset,
.bios_param = i91u_biosparam, .bios_param = i91u_biosparam,
.can_queue = 1, .can_queue = 1,
.this_id = 1, .this_id = 1,
...@@ -161,7 +164,7 @@ static Scsi_Host_Template driver_template = { ...@@ -161,7 +164,7 @@ static Scsi_Host_Template driver_template = {
char *i91uCopyright = "Copyright (C) 1996-98"; char *i91uCopyright = "Copyright (C) 1996-98";
char *i91uInitioName = "by Initio Corporation"; char *i91uInitioName = "by Initio Corporation";
char *i91uProductName = "INI-9X00U/UW"; char *i91uProductName = "INI-9X00U/UW";
char *i91uVersion = "v1.04"; char *i91uVersion = "v1.04a";
#define TULSZ(sz) (sizeof(sz) / sizeof(sz[0])) #define TULSZ(sz) (sizeof(sz) / sizeof(sz[0]))
#define TUL_RDWORD(x,y) (short)(inl((int)((ULONG)((ULONG)x+(UCHAR)y)) )) #define TUL_RDWORD(x,y) (short)(inl((int)((ULONG)((ULONG)x+(UCHAR)y)) ))
...@@ -550,6 +553,15 @@ int i91u_reset(Scsi_Cmnd * SCpnt, unsigned int reset_flags) ...@@ -550,6 +553,15 @@ int i91u_reset(Scsi_Cmnd * SCpnt, unsigned int reset_flags)
return tul_device_reset(pHCB, (ULONG) SCpnt, SCpnt->device->id, reset_flags); return tul_device_reset(pHCB, (ULONG) SCpnt, SCpnt->device->id, reset_flags);
} }
int i91u_bus_reset(Scsi_Cmnd * SCpnt)
{
HCS *pHCB;
pHCB = (HCS *) SCpnt->device->host->base;
tul_reset_scsi(pHCB, 0);
return SUCCESS;
}
/* /*
* Return the "logical geometry" * Return the "logical geometry"
*/ */
......
...@@ -82,10 +82,11 @@ extern int i91u_command(Scsi_Cmnd *); ...@@ -82,10 +82,11 @@ extern int i91u_command(Scsi_Cmnd *);
extern int i91u_queue(Scsi_Cmnd *, void (*done) (Scsi_Cmnd *)); extern int i91u_queue(Scsi_Cmnd *, void (*done) (Scsi_Cmnd *));
extern int i91u_abort(Scsi_Cmnd *); extern int i91u_abort(Scsi_Cmnd *);
extern int i91u_reset(Scsi_Cmnd *, unsigned int); extern int i91u_reset(Scsi_Cmnd *, unsigned int);
extern int i91u_bus_reset(Scsi_Cmnd *);
extern int i91u_biosparam(struct scsi_device *, struct block_device *, extern int i91u_biosparam(struct scsi_device *, struct block_device *,
sector_t, int *); sector_t, int *);
#define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.03g" #define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.04a"
#define VIRT_TO_BUS(i) (unsigned int) virt_to_bus((void *)(i)) #define VIRT_TO_BUS(i) (unsigned int) virt_to_bus((void *)(i))
#define ULONG unsigned long #define ULONG unsigned long
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment