Index: dc390//dc390.h =================================================================== RCS file: /usr/local/cvsroot/dc390/dc390.h,v retrieving revision 2.27 retrieving revision 2.28 diff -u -r2.27 -r2.28 --- dc390//dc390.h 1999/06/28 18:43:23 2.27 +++ dc390//dc390.h 1999/07/04 20:37:22 2.28 @@ -4,7 +4,7 @@ * Description: Device Driver for Tekram DC-390(T) PCI SCSI * * Bus Master Host Adapter * ***********************************************************************/ -/* $Id: dc390.h,v 2.27 1999/06/28 18:43:23 garloff Exp $ */ +/* $Id: dc390.h,v 2.28 1999/07/04 20:37:22 garloff Exp $ */ #include @@ -16,7 +16,7 @@ #define DC390_H #define DC390_BANNER "Tekram DC390/AM53C974" -#define DC390_VERSION "2.0d11 1999/06/28" +#define DC390_VERSION "2.0d12 1999/07/04" #if defined(HOSTS_C) || defined(MODULE) Index: dc390//scsiiom.c =================================================================== RCS file: /usr/local/cvsroot/dc390/scsiiom.c,v retrieving revision 2.37 retrieving revision 2.40 diff -u -r2.37 -r2.40 --- dc390//scsiiom.c 1999/06/28 18:43:23 2.37 +++ dc390//scsiiom.c 1999/07/04 20:37:22 2.40 @@ -4,7 +4,7 @@ * Description: Device Driver for Tekram DC-390 (T) PCI SCSI * * Bus Master Host Adapter * ***********************************************************************/ -/* $Id: scsiiom.c,v 2.37 1999/06/28 18:43:23 garloff Exp $ */ +/* $Id: scsiiom.c,v 2.40 1999/07/04 20:37:22 garloff Exp $ */ static void __inline__ dc390_freetag (PDCB pDCB, PSRB pSRB) @@ -278,21 +278,39 @@ { printk ("DC390: Illegal Operation detected (%08lx)!\n", dc390_laststatus); dc390_dumpinfo (pACB, pACB->pActiveDCB, pACB->pActiveDCB->pActiveSRB); - }; + } - if(istatus & DISCONNECTED) + else if (istatus & INVALID_CMD) + { + dc390_InvalidCmd( pACB ); + goto unlock; + } + + if (istatus & SCSI_RESET) + { + dc390_ScsiRstDetect( pACB ); + goto unlock; + } + + if (istatus & DISCONNECTED) { dc390_Disconnect( pACB ); goto unlock; } - else if(istatus & RESELECTED) + else if (istatus & RESELECTED) { dc390_Reselect( pACB ); goto unlock; } + + else if (istatus & (SELECTED | SEL_ATTENTION)) + { + printk (KERN_ERR "DC390: Target mode not supported!\n"); + goto unlock; + } - else if( istatus & (SUCCESSFUL_OP|SERVICE_REQUEST) ) + if (istatus & (SUCCESSFUL_OP|SERVICE_REQUEST) ) { pDCB = pACB->pActiveDCB; if (!pDCB) @@ -317,24 +335,6 @@ goto unlock; } - else if(istatus & INVALID_CMD) - { - dc390_InvalidCmd( pACB ); - goto unlock; - } - - else if(istatus & SCSI_RESET) - { - dc390_ScsiRstDetect( pACB ); - goto unlock; - } - - else if(istatus & (SELECTED | SEL_ATTENTION)) - { - printk (KERN_ERR "DC390: Target mode not supported!\n"); - goto unlock; - } - unlock: DC390_LOCK_DRV_NI; DC390_UNLOCK_ACB; @@ -1136,7 +1136,7 @@ if( (pSRB->SRBState & (SRB_START_+SRB_MSGOUT)) || !(pSRB->SRBState & (SRB_DISCONNECT+SRB_COMPLETED)) ) { /* Selection time out */ - if( !(1/*pACB->scan_devices*/) ) + if( !(pACB->scan_devices) ) { pSRB->SRBState = SRB_READY; dc390_freetag (pDCB, pSRB); Index: dc390//tmscsim.c =================================================================== RCS file: /usr/local/cvsroot/dc390/tmscsim.c,v retrieving revision 2.42 retrieving revision 2.43 diff -u -r2.42 -r2.43 --- dc390//tmscsim.c 1999/06/28 18:43:23 2.42 +++ dc390//tmscsim.c 1999/07/04 20:37:22 2.43 @@ -7,7 +7,7 @@ ***********************************************************************/ /* (C) Copyright: put under GNU GPL in 10/96 (see README.tmscsim) * *************************************************************************/ -/* $Id: tmscsim.c,v 2.42 1999/06/28 18:43:23 garloff Exp $ */ +/* $Id: tmscsim.c,v 2.43 1999/07/04 20:37:22 garloff Exp $ */ /* Enhancements and bugfixes by * * Kurt Garloff * ***********************************************************************/ @@ -121,6 +121,7 @@ * clearified (renamed ..) TagMask handling* * cleaned. * * 2.0d1199/06/28 KG cmd->result now identical to 2.0d2 * + * 2.0d1299/07/04 KG Changed order of processing in IRQ * ***********************************************************************/ /* Uncomment SA_INTERRUPT, if the driver refuses to share its IRQ with other devices */