advansys.c (40420) | advansys.c (40733) |
---|---|
1/* 2 * Generic driver for the Advanced Systems Inc. SCSI controllers 3 * Product specific probe and attach routines can be found in: 4 * 5 * i386/isa/adv_isa.c ABP5140, ABP542, ABP5150, ABP842, ABP852 6 * i386/eisa/adv_eisa.c ABP742, ABP752 7 * pci/adv_pci.c ABP920, ABP930, ABP930U, ABP930UA, ABP940, ABP940U, 8 * ABP940UA, ABP950, ABP960, ABP960U, ABP960UA, --- 18 unchanged lines hidden (view full) --- 27 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * | 1/* 2 * Generic driver for the Advanced Systems Inc. SCSI controllers 3 * Product specific probe and attach routines can be found in: 4 * 5 * i386/isa/adv_isa.c ABP5140, ABP542, ABP5150, ABP842, ABP852 6 * i386/eisa/adv_eisa.c ABP742, ABP752 7 * pci/adv_pci.c ABP920, ABP930, ABP930U, ABP930UA, ABP940, ABP940U, 8 * ABP940UA, ABP950, ABP960, ABP960U, ABP960UA, --- 18 unchanged lines hidden (view full) --- 27 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * |
35 * $Id: advansys.c,v 1.3 1998/10/07 03:32:56 gibbs Exp $ | 35 * $Id: advansys.c,v 1.4 1998/10/15 23:47:14 gibbs Exp $ |
36 */ 37/* 38 * Ported from: 39 * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters 40 * 41 * Copyright (c) 1995-1997 Advanced System Products, Inc. 42 * All Rights Reserved. 43 * --- 999 unchanged lines hidden (view full) --- 1043 switch (host_stat) { 1044 case QHSTA_NO_ERROR: 1045 ccb->ccb_h.status = CAM_REQ_CMP; 1046 break; 1047 case QHSTA_M_SEL_TIMEOUT: 1048 ccb->ccb_h.status = CAM_SEL_TIMEOUT; 1049 break; 1050 default: | 36 */ 37/* 38 * Ported from: 39 * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters 40 * 41 * Copyright (c) 1995-1997 Advanced System Products, Inc. 42 * All Rights Reserved. 43 * --- 999 unchanged lines hidden (view full) --- 1043 switch (host_stat) { 1044 case QHSTA_NO_ERROR: 1045 ccb->ccb_h.status = CAM_REQ_CMP; 1046 break; 1047 case QHSTA_M_SEL_TIMEOUT: 1048 ccb->ccb_h.status = CAM_SEL_TIMEOUT; 1049 break; 1050 default: |
1051 /* QHSTA error occurred */ | 1051 xpt_print_path(ccb->ccb_h.path); 1052 printf("adv_done - queue done without error, " 1053 "unknown host status %x\n", host_stat); |
1052 /* XXX Can I get more explicit information here? */ 1053 ccb->ccb_h.status = CAM_REQ_CMP_ERR; 1054 break; 1055 } 1056 break; 1057 1058 case QD_WITH_ERROR: 1059 switch (host_stat) { --- 19 unchanged lines hidden (view full) --- 1079 ccb->ccb_h.status |= CAM_REQ_CMP; 1080 break; 1081 } 1082 break; 1083 case QHSTA_M_SEL_TIMEOUT: 1084 ccb->ccb_h.status = CAM_SEL_TIMEOUT; 1085 break; 1086 default: | 1054 /* XXX Can I get more explicit information here? */ 1055 ccb->ccb_h.status = CAM_REQ_CMP_ERR; 1056 break; 1057 } 1058 break; 1059 1060 case QD_WITH_ERROR: 1061 switch (host_stat) { --- 19 unchanged lines hidden (view full) --- 1081 ccb->ccb_h.status |= CAM_REQ_CMP; 1082 break; 1083 } 1084 break; 1085 case QHSTA_M_SEL_TIMEOUT: 1086 ccb->ccb_h.status = CAM_SEL_TIMEOUT; 1087 break; 1088 default: |
1089 xpt_print_path(ccb->ccb_h.path); 1090 printf("adv_done - queue done with error, " 1091 "unknown host status %x\n", host_stat); |
|
1087 /* XXX Can I get more explicit information here? */ 1088 ccb->ccb_h.status = CAM_REQ_CMP_ERR; 1089 break; 1090 } 1091 break; 1092 1093 case QD_ABORTED_BY_HOST: 1094 /* Don't clobber any, more explicit, error codes we've set */ 1095 if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_INPROG) 1096 ccb->ccb_h.status = CAM_REQ_ABORTED; 1097 break; 1098 1099 default: | 1092 /* XXX Can I get more explicit information here? */ 1093 ccb->ccb_h.status = CAM_REQ_CMP_ERR; 1094 break; 1095 } 1096 break; 1097 1098 case QD_ABORTED_BY_HOST: 1099 /* Don't clobber any, more explicit, error codes we've set */ 1100 if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_INPROG) 1101 ccb->ccb_h.status = CAM_REQ_ABORTED; 1102 break; 1103 1104 default: |
1100 printf("adv_done: Unknown done status 0x%x\n", done_stat); | 1105 xpt_print_path(ccb->ccb_h.path); 1106 printf("adv_done - queue done with unknown status %x:%x\n", 1107 done_stat, host_stat); |
1101 ccb->ccb_h.status = CAM_REQ_CMP_ERR; 1102 break; 1103 } 1104 if ((cinfo->state & ACCB_RELEASE_SIMQ) != 0) 1105 ccb->ccb_h.status |= CAM_RELEASE_SIMQ; 1106 else if (adv->openings_needed > 0) { 1107 int openings; 1108 --- 159 unchanged lines hidden --- | 1108 ccb->ccb_h.status = CAM_REQ_CMP_ERR; 1109 break; 1110 } 1111 if ((cinfo->state & ACCB_RELEASE_SIMQ) != 0) 1112 ccb->ccb_h.status |= CAM_RELEASE_SIMQ; 1113 else if (adv->openings_needed > 0) { 1114 int openings; 1115 --- 159 unchanged lines hidden --- |