aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/aic7xxx_old.c298
1 files changed, 144 insertions, 154 deletions
diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
index 5dcef48d414f..c1766cc2bbc8 100644
--- a/drivers/scsi/aic7xxx_old.c
+++ b/drivers/scsi/aic7xxx_old.c
@@ -780,24 +780,26 @@ typedef enum {
780} ahc_bugs; 780} ahc_bugs;
781 781
782struct aic7xxx_scb { 782struct aic7xxx_scb {
783 struct aic7xxx_hwscb *hscb; /* corresponding hardware scb */ 783 struct aic7xxx_hwscb *hscb; /* corresponding hardware scb */
784 Scsi_Cmnd *cmd; /* Scsi_Cmnd for this scb */ 784 struct scsi_cmnd *cmd; /* scsi_cmnd for this scb */
785 struct aic7xxx_scb *q_next; /* next scb in queue */ 785 struct aic7xxx_scb *q_next; /* next scb in queue */
786 volatile scb_flag_type flags; /* current state of scb */ 786 volatile scb_flag_type flags; /* current state of scb */
787 struct hw_scatterlist *sg_list; /* SG list in adapter format */ 787 struct hw_scatterlist *sg_list; /* SG list in adapter format */
788 unsigned char tag_action; 788 unsigned char tag_action;
789 unsigned char sg_count; 789 unsigned char sg_count;
790 unsigned char *sense_cmd; /* 790 unsigned char *sense_cmd; /*
791 * Allocate 6 characters for 791 * Allocate 6 characters for
792 * sense command. 792 * sense command.
793 */ 793 */
794 unsigned char *cmnd; 794 unsigned char *cmnd;
795 unsigned int sg_length; /* We init this during buildscb so we 795 unsigned int sg_length; /*
796 * don't have to calculate anything 796 * We init this during
797 * during underflow/overflow/stat code 797 * buildscb so we don't have
798 */ 798 * to calculate anything during
799 void *kmalloc_ptr; 799 * underflow/overflow/stat code
800 struct aic7xxx_scb_dma *scb_dma; 800 */
801 void *kmalloc_ptr;
802 struct aic7xxx_scb_dma *scb_dma;
801}; 803};
802 804
803/* 805/*
@@ -918,79 +920,77 @@ struct aic7xxx_host {
918 * We are grouping things here....first, items that get either read or 920 * We are grouping things here....first, items that get either read or
919 * written with nearly every interrupt 921 * written with nearly every interrupt
920 */ 922 */
921 volatile long flags; 923 volatile long flags;
922 ahc_feature features; /* chip features */ 924 ahc_feature features; /* chip features */
923 unsigned long base; /* card base address */ 925 unsigned long base; /* card base address */
924 volatile unsigned char __iomem *maddr; /* memory mapped address */ 926 volatile unsigned char __iomem *maddr; /* memory mapped address */
925 unsigned long isr_count; /* Interrupt count */ 927 unsigned long isr_count; /* Interrupt count */
926 unsigned long spurious_int; 928 unsigned long spurious_int;
927 scb_data_type *scb_data; 929 scb_data_type *scb_data;
928 struct aic7xxx_cmd_queue { 930 struct aic7xxx_cmd_queue {
929 Scsi_Cmnd *head; 931 struct scsi_cmnd *head;
930 Scsi_Cmnd *tail; 932 struct scsi_cmnd *tail;
931 } completeq; 933 } completeq;
932 934
933 /* 935 /*
934 * Things read/written on nearly every entry into aic7xxx_queue() 936 * Things read/written on nearly every entry into aic7xxx_queue()
935 */ 937 */
936 volatile scb_queue_type waiting_scbs; 938 volatile scb_queue_type waiting_scbs;
937 unsigned char unpause; /* unpause value for HCNTRL */ 939 unsigned char unpause; /* unpause value for HCNTRL */
938 unsigned char pause; /* pause value for HCNTRL */ 940 unsigned char pause; /* pause value for HCNTRL */
939 volatile unsigned char qoutfifonext; 941 volatile unsigned char qoutfifonext;
940 volatile unsigned char activescbs; /* active scbs */ 942 volatile unsigned char activescbs; /* active scbs */
941 volatile unsigned char max_activescbs; 943 volatile unsigned char max_activescbs;
942 volatile unsigned char qinfifonext; 944 volatile unsigned char qinfifonext;
943 volatile unsigned char *untagged_scbs; 945 volatile unsigned char *untagged_scbs;
944 volatile unsigned char *qoutfifo; 946 volatile unsigned char *qoutfifo;
945 volatile unsigned char *qinfifo; 947 volatile unsigned char *qinfifo;
946 948
947 unsigned char dev_last_queue_full[MAX_TARGETS]; 949 unsigned char dev_last_queue_full[MAX_TARGETS];
948 unsigned char dev_last_queue_full_count[MAX_TARGETS]; 950 unsigned char dev_last_queue_full_count[MAX_TARGETS];
949 unsigned short ultraenb; /* Gets downloaded to card as a 951 unsigned short ultraenb; /* Gets downloaded to card as a bitmap */
950 bitmap */ 952 unsigned short discenable; /* Gets downloaded to card as a bitmap */
951 unsigned short discenable; /* Gets downloaded to card as a 953 transinfo_type user[MAX_TARGETS];
952 bitmap */ 954
953 transinfo_type user[MAX_TARGETS]; 955 unsigned char msg_buf[13]; /* The message for the target */
954 956 unsigned char msg_type;
955 unsigned char msg_buf[13]; /* The message for the target */
956 unsigned char msg_type;
957#define MSG_TYPE_NONE 0x00 957#define MSG_TYPE_NONE 0x00
958#define MSG_TYPE_INITIATOR_MSGOUT 0x01 958#define MSG_TYPE_INITIATOR_MSGOUT 0x01
959#define MSG_TYPE_INITIATOR_MSGIN 0x02 959#define MSG_TYPE_INITIATOR_MSGIN 0x02
960 unsigned char msg_len; /* Length of message */ 960 unsigned char msg_len; /* Length of message */
961 unsigned char msg_index; /* Index into msg_buf array */ 961 unsigned char msg_index; /* Index into msg_buf array */
962 962
963 963
964 /* 964 /*
965 * We put the less frequently used host structure items after the more 965 * We put the less frequently used host structure items
966 * frequently used items to try and ease the burden on the cache subsystem. 966 * after the more frequently used items to try and ease
967 * These entries are not *commonly* accessed, whereas the preceding entries 967 * the burden on the cache subsystem.
968 * are accessed very often. 968 * These entries are not *commonly* accessed, whereas
969 */ 969 * the preceding entries are accessed very often.
970 970 */
971 unsigned int irq; /* IRQ for this adapter */
972 int instance; /* aic7xxx instance number */
973 int scsi_id; /* host adapter SCSI ID */
974 int scsi_id_b; /* channel B for twin adapters */
975 unsigned int bios_address;
976 int board_name_index;
977 unsigned short bios_control; /* bios control - SEEPROM */
978 unsigned short adapter_control; /* adapter control - SEEPROM */
979 struct pci_dev *pdev;
980 unsigned char pci_bus;
981 unsigned char pci_device_fn;
982 struct seeprom_config sc;
983 unsigned short sc_type;
984 unsigned short sc_size;
985 struct aic7xxx_host *next; /* allow for multiple IRQs */
986 struct Scsi_Host *host; /* pointer to scsi host */
987 struct list_head aic_devs; /* all aic_dev structs on host */
988 int host_no; /* SCSI host number */
989 unsigned long mbase; /* I/O memory address */
990 ahc_chip chip; /* chip type */
991 ahc_bugs bugs;
992 dma_addr_t fifo_dma; /* DMA handle for fifo arrays */
993 971
972 unsigned int irq; /* IRQ for this adapter */
973 int instance; /* aic7xxx instance number */
974 int scsi_id; /* host adapter SCSI ID */
975 int scsi_id_b; /* channel B for twin adapters */
976 unsigned int bios_address;
977 int board_name_index;
978 unsigned short bios_control; /* bios control - SEEPROM */
979 unsigned short adapter_control; /* adapter control - SEEPROM */
980 struct pci_dev *pdev;
981 unsigned char pci_bus;
982 unsigned char pci_device_fn;
983 struct seeprom_config sc;
984 unsigned short sc_type;
985 unsigned short sc_size;
986 struct aic7xxx_host *next; /* allow for multiple IRQs */
987 struct Scsi_Host *host; /* pointer to scsi host */
988 struct list_head aic_devs; /* all aic_dev structs on host */
989 int host_no; /* SCSI host number */
990 unsigned long mbase; /* I/O memory address */
991 ahc_chip chip; /* chip type */
992 ahc_bugs bugs;
993 dma_addr_t fifo_dma; /* DMA handle for fifo arrays */
994}; 994};
995 995
996/* 996/*
@@ -1271,7 +1271,7 @@ static void aic7xxx_set_syncrate(struct aic7xxx_host *p,
1271static void aic7xxx_set_width(struct aic7xxx_host *p, int target, int channel, 1271static void aic7xxx_set_width(struct aic7xxx_host *p, int target, int channel,
1272 int lun, unsigned int width, unsigned int type, 1272 int lun, unsigned int width, unsigned int type,
1273 struct aic_dev_data *aic_dev); 1273 struct aic_dev_data *aic_dev);
1274static void aic7xxx_panic_abort(struct aic7xxx_host *p, Scsi_Cmnd *cmd); 1274static void aic7xxx_panic_abort(struct aic7xxx_host *p, struct scsi_cmnd *cmd);
1275static void aic7xxx_print_card(struct aic7xxx_host *p); 1275static void aic7xxx_print_card(struct aic7xxx_host *p);
1276static void aic7xxx_print_scratch_ram(struct aic7xxx_host *p); 1276static void aic7xxx_print_scratch_ram(struct aic7xxx_host *p);
1277static void aic7xxx_print_sequencer(struct aic7xxx_host *p, int downloaded); 1277static void aic7xxx_print_sequencer(struct aic7xxx_host *p, int downloaded);
@@ -2626,7 +2626,7 @@ aic7xxx_allocate_scb(struct aic7xxx_host *p)
2626 * we're finished. This function queues the completed commands. 2626 * we're finished. This function queues the completed commands.
2627 *-F*************************************************************************/ 2627 *-F*************************************************************************/
2628static void 2628static void
2629aic7xxx_queue_cmd_complete(struct aic7xxx_host *p, Scsi_Cmnd *cmd) 2629aic7xxx_queue_cmd_complete(struct aic7xxx_host *p, struct scsi_cmnd *cmd)
2630{ 2630{
2631 aic7xxx_position(cmd) = SCB_LIST_NULL; 2631 aic7xxx_position(cmd) = SCB_LIST_NULL;
2632 cmd->host_scribble = (char *)p->completeq.head; 2632 cmd->host_scribble = (char *)p->completeq.head;
@@ -2640,18 +2640,16 @@ aic7xxx_queue_cmd_complete(struct aic7xxx_host *p, Scsi_Cmnd *cmd)
2640 * Description: 2640 * Description:
2641 * Process the completed command queue. 2641 * Process the completed command queue.
2642 *-F*************************************************************************/ 2642 *-F*************************************************************************/
2643static void 2643static void aic7xxx_done_cmds_complete(struct aic7xxx_host *p)
2644aic7xxx_done_cmds_complete(struct aic7xxx_host *p)
2645{ 2644{
2646 Scsi_Cmnd *cmd; 2645 struct scsi_cmnd *cmd;
2647 2646
2648 while (p->completeq.head != NULL) 2647 while (p->completeq.head != NULL) {
2649 { 2648 cmd = p->completeq.head;
2650 cmd = p->completeq.head; 2649 p->completeq.head = (struct scsi_Cmnd *) cmd->host_scribble;
2651 p->completeq.head = (Scsi_Cmnd *)cmd->host_scribble; 2650 cmd->host_scribble = NULL;
2652 cmd->host_scribble = NULL; 2651 cmd->scsi_done(cmd);
2653 cmd->scsi_done(cmd); 2652 }
2654 }
2655} 2653}
2656 2654
2657/*+F************************************************************************* 2655/*+F*************************************************************************
@@ -2687,11 +2685,11 @@ aic7xxx_free_scb(struct aic7xxx_host *p, struct aic7xxx_scb *scb)
2687static void 2685static void
2688aic7xxx_done(struct aic7xxx_host *p, struct aic7xxx_scb *scb) 2686aic7xxx_done(struct aic7xxx_host *p, struct aic7xxx_scb *scb)
2689{ 2687{
2690 Scsi_Cmnd *cmd = scb->cmd; 2688 struct scsi_cmnd *cmd = scb->cmd;
2691 struct aic_dev_data *aic_dev = cmd->device->hostdata; 2689 struct aic_dev_data *aic_dev = cmd->device->hostdata;
2692 int tindex = TARGET_INDEX(cmd); 2690 int tindex = TARGET_INDEX(cmd);
2693 struct aic7xxx_scb *scbp; 2691 struct aic7xxx_scb *scbp;
2694 unsigned char queue_depth; 2692 unsigned char queue_depth;
2695 2693
2696 if (cmd->use_sg > 1) 2694 if (cmd->use_sg > 1)
2697 { 2695 {
@@ -2891,7 +2889,7 @@ aic7xxx_done(struct aic7xxx_host *p, struct aic7xxx_scb *scb)
2891 * aic7xxx_run_done_queue 2889 * aic7xxx_run_done_queue
2892 * 2890 *
2893 * Description: 2891 * Description:
2894 * Calls the aic7xxx_done() for the Scsi_Cmnd of each scb in the 2892 * Calls the aic7xxx_done() for the scsi_cmnd of each scb in the
2895 * aborted list, and adds each scb to the free list. If complete 2893 * aborted list, and adds each scb to the free list. If complete
2896 * is TRUE, we also process the commands complete list. 2894 * is TRUE, we also process the commands complete list.
2897 *-F*************************************************************************/ 2895 *-F*************************************************************************/
@@ -3826,9 +3824,9 @@ aic7xxx_construct_wdtr(struct aic7xxx_host *p, unsigned char bus_width)
3826static void 3824static void
3827aic7xxx_calculate_residual (struct aic7xxx_host *p, struct aic7xxx_scb *scb) 3825aic7xxx_calculate_residual (struct aic7xxx_host *p, struct aic7xxx_scb *scb)
3828{ 3826{
3829 struct aic7xxx_hwscb *hscb; 3827 struct aic7xxx_hwscb *hscb;
3830 Scsi_Cmnd *cmd; 3828 struct scsi_cmnd *cmd;
3831 int actual, i; 3829 int actual, i;
3832 3830
3833 cmd = scb->cmd; 3831 cmd = scb->cmd;
3834 hscb = scb->hscb; 3832 hscb = scb->hscb;
@@ -4219,20 +4217,20 @@ aic7xxx_handle_seqint(struct aic7xxx_host *p, unsigned char intstat)
4219 4217
4220 case BAD_STATUS: 4218 case BAD_STATUS:
4221 { 4219 {
4222 unsigned char scb_index; 4220 unsigned char scb_index;
4223 struct aic7xxx_hwscb *hscb; 4221 struct aic7xxx_hwscb *hscb;
4224 Scsi_Cmnd *cmd; 4222 struct scsi_cmnd *cmd;
4225 4223
4226 /* The sequencer will notify us when a command has an error that 4224 /* The sequencer will notify us when a command has an error that
4227 * would be of interest to the kernel. This allows us to leave 4225 * would be of interest to the kernel. This allows us to leave
4228 * the sequencer running in the common case of command completes 4226 * the sequencer running in the common case of command completes
4229 * without error. The sequencer will have DMA'd the SCB back 4227 * without error. The sequencer will have DMA'd the SCB back
4230 * up to us, so we can reference the drivers SCB array. 4228 * up to us, so we can reference the drivers SCB array.
4231 * 4229 *
4232 * Set the default return value to 0 indicating not to send 4230 * Set the default return value to 0 indicating not to send
4233 * sense. The sense code will change this if needed and this 4231 * sense. The sense code will change this if needed and this
4234 * reduces code duplication. 4232 * reduces code duplication.
4235 */ 4233 */
4236 aic_outb(p, 0, RETURN_1); 4234 aic_outb(p, 0, RETURN_1);
4237 scb_index = aic_inb(p, SCB_TAG); 4235 scb_index = aic_inb(p, SCB_TAG);
4238 if (scb_index > p->scb_data->numscbs) 4236 if (scb_index > p->scb_data->numscbs)
@@ -5800,9 +5798,9 @@ aic7xxx_handle_scsiint(struct aic7xxx_host *p, unsigned char intstat)
5800 } 5798 }
5801 else if ((status & SELTO) != 0) 5799 else if ((status & SELTO) != 0)
5802 { 5800 {
5803 unsigned char scbptr; 5801 unsigned char scbptr;
5804 unsigned char nextscb; 5802 unsigned char nextscb;
5805 Scsi_Cmnd *cmd; 5803 struct scsi_cmnd *cmd;
5806 5804
5807 scbptr = aic_inb(p, WAITING_SCBH); 5805 scbptr = aic_inb(p, WAITING_SCBH);
5808 if (scbptr > p->scb_data->maxhscbs) 5806 if (scbptr > p->scb_data->maxhscbs)
@@ -5941,11 +5939,11 @@ aic7xxx_handle_scsiint(struct aic7xxx_host *p, unsigned char intstat)
5941 /* 5939 /*
5942 * Determine the bus phase and queue an appropriate message. 5940 * Determine the bus phase and queue an appropriate message.
5943 */ 5941 */
5944 char *phase; 5942 char *phase;
5945 Scsi_Cmnd *cmd; 5943 struct scsi_cmnd *cmd;
5946 unsigned char mesg_out = MSG_NOOP; 5944 unsigned char mesg_out = MSG_NOOP;
5947 unsigned char lastphase = aic_inb(p, LASTPHASE); 5945 unsigned char lastphase = aic_inb(p, LASTPHASE);
5948 unsigned char sstat2 = aic_inb(p, SSTAT2); 5946 unsigned char sstat2 = aic_inb(p, SSTAT2);
5949 5947
5950 cmd = scb->cmd; 5948 cmd = scb->cmd;
5951 switch (lastphase) 5949 switch (lastphase)
@@ -6248,10 +6246,10 @@ aic7xxx_check_scbs(struct aic7xxx_host *p, char *buffer)
6248static void 6246static void
6249aic7xxx_handle_command_completion_intr(struct aic7xxx_host *p) 6247aic7xxx_handle_command_completion_intr(struct aic7xxx_host *p)
6250{ 6248{
6251 struct aic7xxx_scb *scb = NULL; 6249 struct aic7xxx_scb *scb = NULL;
6252 struct aic_dev_data *aic_dev; 6250 struct aic_dev_data *aic_dev;
6253 Scsi_Cmnd *cmd; 6251 struct scsi_cmnd *cmd;
6254 unsigned char scb_index, tindex; 6252 unsigned char scb_index, tindex;
6255 6253
6256#ifdef AIC7XXX_VERBOSE_DEBUGGING 6254#ifdef AIC7XXX_VERBOSE_DEBUGGING
6257 if( (p->isr_count < 16) && (aic7xxx_verbose > 0xffff) ) 6255 if( (p->isr_count < 16) && (aic7xxx_verbose > 0xffff) )
@@ -10131,9 +10129,8 @@ skip_pci_controller:
10131 * Description: 10129 * Description:
10132 * Build a SCB. 10130 * Build a SCB.
10133 *-F*************************************************************************/ 10131 *-F*************************************************************************/
10134static void 10132static void aic7xxx_buildscb(struct aic7xxx_host *p, struct scsi_cmnd *cmd,
10135aic7xxx_buildscb(struct aic7xxx_host *p, Scsi_Cmnd *cmd, 10133 struct aic7xxx_scb *scb)
10136 struct aic7xxx_scb *scb)
10137{ 10134{
10138 unsigned short mask; 10135 unsigned short mask;
10139 struct aic7xxx_hwscb *hscb; 10136 struct aic7xxx_hwscb *hscb;
@@ -10285,8 +10282,7 @@ aic7xxx_buildscb(struct aic7xxx_host *p, Scsi_Cmnd *cmd,
10285 * Description: 10282 * Description:
10286 * Queue a SCB to the controller. 10283 * Queue a SCB to the controller.
10287 *-F*************************************************************************/ 10284 *-F*************************************************************************/
10288static int 10285static int aic7xxx_queue(struct scsi_cmnd *cmd, void (*fn)(struct scsi_cmnd *))
10289aic7xxx_queue(Scsi_Cmnd *cmd, void (*fn)(Scsi_Cmnd *))
10290{ 10286{
10291 struct aic7xxx_host *p; 10287 struct aic7xxx_host *p;
10292 struct aic7xxx_scb *scb; 10288 struct aic7xxx_scb *scb;
@@ -10319,11 +10315,11 @@ aic7xxx_queue(Scsi_Cmnd *cmd, void (*fn)(Scsi_Cmnd *))
10319 } 10315 }
10320 scb->cmd = cmd; 10316 scb->cmd = cmd;
10321 10317
10322 /* 10318 /*
10323 * Make sure the Scsi_Cmnd pointer is saved, the struct it points to 10319 * Make sure the scsi_cmnd pointer is saved, the struct it points to
10324 * is set up properly, and the parity error flag is reset, then send 10320 * is set up properly, and the parity error flag is reset, then send
10325 * the SCB to the sequencer and watch the fun begin. 10321 * the SCB to the sequencer and watch the fun begin.
10326 */ 10322 */
10327 aic7xxx_position(cmd) = scb->hscb->tag; 10323 aic7xxx_position(cmd) = scb->hscb->tag;
10328 cmd->scsi_done = fn; 10324 cmd->scsi_done = fn;
10329 cmd->result = DID_OK; 10325 cmd->result = DID_OK;
@@ -10356,8 +10352,7 @@ aic7xxx_queue(Scsi_Cmnd *cmd, void (*fn)(Scsi_Cmnd *))
10356 * aborted, then we will reset the channel and have all devices renegotiate. 10352 * aborted, then we will reset the channel and have all devices renegotiate.
10357 * Returns an enumerated type that indicates the status of the operation. 10353 * Returns an enumerated type that indicates the status of the operation.
10358 *-F*************************************************************************/ 10354 *-F*************************************************************************/
10359static int 10355static int __aic7xxx_bus_device_reset(struct scsi_cmnd *cmd)
10360__aic7xxx_bus_device_reset(Scsi_Cmnd *cmd)
10361{ 10356{
10362 struct aic7xxx_host *p; 10357 struct aic7xxx_host *p;
10363 struct aic7xxx_scb *scb; 10358 struct aic7xxx_scb *scb;
@@ -10550,8 +10545,7 @@ __aic7xxx_bus_device_reset(Scsi_Cmnd *cmd)
10550 return SUCCESS; 10545 return SUCCESS;
10551} 10546}
10552 10547
10553static int 10548static int aic7xxx_bus_device_reset(struct scsi_cmnd *cmd)
10554aic7xxx_bus_device_reset(Scsi_Cmnd *cmd)
10555{ 10549{
10556 int rc; 10550 int rc;
10557 10551
@@ -10570,8 +10564,7 @@ aic7xxx_bus_device_reset(Scsi_Cmnd *cmd)
10570 * Description: 10564 * Description:
10571 * Abort the current SCSI command(s). 10565 * Abort the current SCSI command(s).
10572 *-F*************************************************************************/ 10566 *-F*************************************************************************/
10573static void 10567static void aic7xxx_panic_abort(struct aic7xxx_host *p, struct scsi_cmnd *cmd)
10574aic7xxx_panic_abort(struct aic7xxx_host *p, Scsi_Cmnd *cmd)
10575{ 10568{
10576 10569
10577 printk("aic7xxx driver version %s\n", AIC7XXX_C_VERSION); 10570 printk("aic7xxx driver version %s\n", AIC7XXX_C_VERSION);
@@ -10595,8 +10588,7 @@ aic7xxx_panic_abort(struct aic7xxx_host *p, Scsi_Cmnd *cmd)
10595 * Description: 10588 * Description:
10596 * Abort the current SCSI command(s). 10589 * Abort the current SCSI command(s).
10597 *-F*************************************************************************/ 10590 *-F*************************************************************************/
10598static int 10591static int __aic7xxx_abort(struct scsi_cmnd *cmd)
10599__aic7xxx_abort(Scsi_Cmnd *cmd)
10600{ 10592{
10601 struct aic7xxx_scb *scb = NULL; 10593 struct aic7xxx_scb *scb = NULL;
10602 struct aic7xxx_host *p; 10594 struct aic7xxx_host *p;
@@ -10813,8 +10805,7 @@ success:
10813 return SUCCESS; 10805 return SUCCESS;
10814} 10806}
10815 10807
10816static int 10808static int aic7xxx_abort(struct scsi_cmnd *cmd)
10817aic7xxx_abort(Scsi_Cmnd *cmd)
10818{ 10809{
10819 int rc; 10810 int rc;
10820 10811
@@ -10836,8 +10827,7 @@ aic7xxx_abort(Scsi_Cmnd *cmd)
10836 * DEVICE RESET message - on the offending target before pulling 10827 * DEVICE RESET message - on the offending target before pulling
10837 * the SCSI bus reset line. 10828 * the SCSI bus reset line.
10838 *-F*************************************************************************/ 10829 *-F*************************************************************************/
10839static int 10830static int aic7xxx_reset(struct scsi_cmnd *cmd)
10840aic7xxx_reset(Scsi_Cmnd *cmd)
10841{ 10831{
10842 struct aic7xxx_scb *scb; 10832 struct aic7xxx_scb *scb;
10843 struct aic7xxx_host *p; 10833 struct aic7xxx_host *p;