diff options
Diffstat (limited to 'drivers/message/fusion/mptscsih.c')
-rw-r--r-- | drivers/message/fusion/mptscsih.c | 98 |
1 files changed, 52 insertions, 46 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index cd4e8c0853d0..4a003dc5fde8 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c | |||
@@ -281,12 +281,12 @@ mptscsih_getFreeChainBuffer(MPT_ADAPTER *ioc, int *retIndex) | |||
281 | offset = (u8 *)chainBuf - (u8 *)ioc->ChainBuffer; | 281 | offset = (u8 *)chainBuf - (u8 *)ioc->ChainBuffer; |
282 | chain_idx = offset / ioc->req_sz; | 282 | chain_idx = offset / ioc->req_sz; |
283 | rc = SUCCESS; | 283 | rc = SUCCESS; |
284 | dsgprintk((MYIOC_s_INFO_FMT "getFreeChainBuffer (index %d), got buf=%p\n", | 284 | dsgprintk((MYIOC_s_ERR_FMT "getFreeChainBuffer chainBuf=%p ChainBuffer=%p offset=%d chain_idx=%d\n", |
285 | ioc->name, *retIndex, chainBuf)); | 285 | ioc->name, chainBuf, ioc->ChainBuffer, offset, chain_idx)); |
286 | } else { | 286 | } else { |
287 | rc = FAILED; | 287 | rc = FAILED; |
288 | chain_idx = MPT_HOST_NO_CHAIN; | 288 | chain_idx = MPT_HOST_NO_CHAIN; |
289 | dfailprintk((MYIOC_s_ERR_FMT "getFreeChainBuffer failed\n", | 289 | dfailprintk((MYIOC_s_INFO_FMT "getFreeChainBuffer failed\n", |
290 | ioc->name)); | 290 | ioc->name)); |
291 | } | 291 | } |
292 | spin_unlock_irqrestore(&ioc->FreeQlock, flags); | 292 | spin_unlock_irqrestore(&ioc->FreeQlock, flags); |
@@ -432,7 +432,7 @@ nextSGEset: | |||
432 | */ | 432 | */ |
433 | pReq->ChainOffset = 0; | 433 | pReq->ChainOffset = 0; |
434 | RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor) + 1) & 0x03; | 434 | RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor) + 1) & 0x03; |
435 | dsgprintk((MYIOC_s_ERR_FMT | 435 | dsgprintk((MYIOC_s_INFO_FMT |
436 | "Single Buffer RequestNB=%x, sgeOffset=%d\n", ioc->name, RequestNB, sgeOffset)); | 436 | "Single Buffer RequestNB=%x, sgeOffset=%d\n", ioc->name, RequestNB, sgeOffset)); |
437 | ioc->RequestNB[req_idx] = RequestNB; | 437 | ioc->RequestNB[req_idx] = RequestNB; |
438 | } | 438 | } |
@@ -491,11 +491,12 @@ nextSGEset: | |||
491 | /* NOTE: psge points to the beginning of the chain element | 491 | /* NOTE: psge points to the beginning of the chain element |
492 | * in current buffer. Get a chain buffer. | 492 | * in current buffer. Get a chain buffer. |
493 | */ | 493 | */ |
494 | dsgprintk((MYIOC_s_INFO_FMT | 494 | if ((mptscsih_getFreeChainBuffer(ioc, &newIndex)) == FAILED) { |
495 | "calling getFreeChainBuffer SCSI cmd=%02x (%p)\n", | 495 | dfailprintk((MYIOC_s_INFO_FMT |
496 | ioc->name, pReq->CDB[0], SCpnt)); | 496 | "getFreeChainBuffer FAILED SCSI cmd=%02x (%p)\n", |
497 | if ((mptscsih_getFreeChainBuffer(ioc, &newIndex)) == FAILED) | 497 | ioc->name, pReq->CDB[0], SCpnt)); |
498 | return FAILED; | 498 | return FAILED; |
499 | } | ||
499 | 500 | ||
500 | /* Update the tracking arrays. | 501 | /* Update the tracking arrays. |
501 | * If chainSge == NULL, update ReqToChain, else ChainToChain | 502 | * If chainSge == NULL, update ReqToChain, else ChainToChain |
@@ -577,14 +578,20 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) | |||
577 | return 1; | 578 | return 1; |
578 | } | 579 | } |
579 | 580 | ||
580 | dmfprintk((MYIOC_s_INFO_FMT | ||
581 | "ScsiDone (mf=%p,mr=%p,sc=%p,idx=%d)\n", | ||
582 | ioc->name, mf, mr, sc, req_idx)); | ||
583 | |||
584 | sc->result = DID_OK << 16; /* Set default reply as OK */ | 581 | sc->result = DID_OK << 16; /* Set default reply as OK */ |
585 | pScsiReq = (SCSIIORequest_t *) mf; | 582 | pScsiReq = (SCSIIORequest_t *) mf; |
586 | pScsiReply = (SCSIIOReply_t *) mr; | 583 | pScsiReply = (SCSIIOReply_t *) mr; |
587 | 584 | ||
585 | if((ioc->facts.MsgVersion >= MPI_VERSION_01_05) && pScsiReply){ | ||
586 | dmfprintk((MYIOC_s_INFO_FMT | ||
587 | "ScsiDone (mf=%p,mr=%p,sc=%p,idx=%d,task-tag=%d)\n", | ||
588 | ioc->name, mf, mr, sc, req_idx, pScsiReply->TaskTag)); | ||
589 | }else{ | ||
590 | dmfprintk((MYIOC_s_INFO_FMT | ||
591 | "ScsiDone (mf=%p,mr=%p,sc=%p,idx=%d)\n", | ||
592 | ioc->name, mf, mr, sc, req_idx)); | ||
593 | } | ||
594 | |||
588 | if (pScsiReply == NULL) { | 595 | if (pScsiReply == NULL) { |
589 | /* special context reply handling */ | 596 | /* special context reply handling */ |
590 | ; | 597 | ; |
@@ -658,8 +665,8 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) | |||
658 | /* Sufficient data transfer occurred */ | 665 | /* Sufficient data transfer occurred */ |
659 | sc->result = (DID_OK << 16) | scsi_status; | 666 | sc->result = (DID_OK << 16) | scsi_status; |
660 | } else if ( xfer_cnt == 0 ) { | 667 | } else if ( xfer_cnt == 0 ) { |
661 | /* A CRC Error causes this condition; retry */ | 668 | /* A CRC Error causes this condition; retry */ |
662 | sc->result = (DRIVER_SENSE << 24) | (DID_OK << 16) | | 669 | sc->result = (DRIVER_SENSE << 24) | (DID_OK << 16) | |
663 | (CHECK_CONDITION << 1); | 670 | (CHECK_CONDITION << 1); |
664 | sc->sense_buffer[0] = 0x70; | 671 | sc->sense_buffer[0] = 0x70; |
665 | sc->sense_buffer[2] = NO_SENSE; | 672 | sc->sense_buffer[2] = NO_SENSE; |
@@ -668,7 +675,9 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) | |||
668 | } else { | 675 | } else { |
669 | sc->result = DID_SOFT_ERROR << 16; | 676 | sc->result = DID_SOFT_ERROR << 16; |
670 | } | 677 | } |
671 | dreplyprintk((KERN_NOTICE "RESIDUAL_MISMATCH: result=%x on id=%d\n", sc->result, sc->target)); | 678 | dreplyprintk((KERN_NOTICE |
679 | "RESIDUAL_MISMATCH: result=%x on id=%d\n", | ||
680 | sc->result, sc->device->id)); | ||
672 | break; | 681 | break; |
673 | 682 | ||
674 | case MPI_IOCSTATUS_SCSI_DATA_UNDERRUN: /* 0x0045 */ | 683 | case MPI_IOCSTATUS_SCSI_DATA_UNDERRUN: /* 0x0045 */ |
@@ -796,7 +805,6 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) | |||
796 | return 1; | 805 | return 1; |
797 | } | 806 | } |
798 | 807 | ||
799 | |||
800 | /* | 808 | /* |
801 | * mptscsih_flush_running_cmds - For each command found, search | 809 | * mptscsih_flush_running_cmds - For each command found, search |
802 | * Scsi_Host instance taskQ and reply to OS. | 810 | * Scsi_Host instance taskQ and reply to OS. |
@@ -1017,7 +1025,7 @@ mptscsih_remove(struct pci_dev *pdev) | |||
1017 | scsi_host_put(host); | 1025 | scsi_host_put(host); |
1018 | 1026 | ||
1019 | mpt_detach(pdev); | 1027 | mpt_detach(pdev); |
1020 | 1028 | ||
1021 | } | 1029 | } |
1022 | 1030 | ||
1023 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 1031 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
@@ -1072,7 +1080,7 @@ mptscsih_resume(struct pci_dev *pdev) | |||
1072 | MPT_SCSI_HOST *hd; | 1080 | MPT_SCSI_HOST *hd; |
1073 | 1081 | ||
1074 | mpt_resume(pdev); | 1082 | mpt_resume(pdev); |
1075 | 1083 | ||
1076 | if(!host) | 1084 | if(!host) |
1077 | return 0; | 1085 | return 0; |
1078 | 1086 | ||
@@ -1214,8 +1222,8 @@ mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t off | |||
1214 | int size = 0; | 1222 | int size = 0; |
1215 | 1223 | ||
1216 | if (func) { | 1224 | if (func) { |
1217 | /* | 1225 | /* |
1218 | * write is not supported | 1226 | * write is not supported |
1219 | */ | 1227 | */ |
1220 | } else { | 1228 | } else { |
1221 | if (start) | 1229 | if (start) |
@@ -1535,17 +1543,17 @@ mptscsih_TMHandler(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun, in | |||
1535 | */ | 1543 | */ |
1536 | if (mptscsih_tm_pending_wait(hd) == FAILED) { | 1544 | if (mptscsih_tm_pending_wait(hd) == FAILED) { |
1537 | if (type == MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK) { | 1545 | if (type == MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK) { |
1538 | dtmprintk((KERN_WARNING MYNAM ": %s: TMHandler abort: " | 1546 | dtmprintk((KERN_INFO MYNAM ": %s: TMHandler abort: " |
1539 | "Timed out waiting for last TM (%d) to complete! \n", | 1547 | "Timed out waiting for last TM (%d) to complete! \n", |
1540 | hd->ioc->name, hd->tmPending)); | 1548 | hd->ioc->name, hd->tmPending)); |
1541 | return FAILED; | 1549 | return FAILED; |
1542 | } else if (type == MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET) { | 1550 | } else if (type == MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET) { |
1543 | dtmprintk((KERN_WARNING MYNAM ": %s: TMHandler target reset: " | 1551 | dtmprintk((KERN_INFO MYNAM ": %s: TMHandler target reset: " |
1544 | "Timed out waiting for last TM (%d) to complete! \n", | 1552 | "Timed out waiting for last TM (%d) to complete! \n", |
1545 | hd->ioc->name, hd->tmPending)); | 1553 | hd->ioc->name, hd->tmPending)); |
1546 | return FAILED; | 1554 | return FAILED; |
1547 | } else if (type == MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS) { | 1555 | } else if (type == MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS) { |
1548 | dtmprintk((KERN_WARNING MYNAM ": %s: TMHandler bus reset: " | 1556 | dtmprintk((KERN_INFO MYNAM ": %s: TMHandler bus reset: " |
1549 | "Timed out waiting for last TM (%d) to complete! \n", | 1557 | "Timed out waiting for last TM (%d) to complete! \n", |
1550 | hd->ioc->name, hd->tmPending)); | 1558 | hd->ioc->name, hd->tmPending)); |
1551 | if (hd->tmPending & (1 << MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS)) | 1559 | if (hd->tmPending & (1 << MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS)) |
@@ -1631,8 +1639,7 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun | |||
1631 | if ((mf = mpt_get_msg_frame(hd->ioc->TaskCtx, hd->ioc)) == NULL) { | 1639 | if ((mf = mpt_get_msg_frame(hd->ioc->TaskCtx, hd->ioc)) == NULL) { |
1632 | dfailprintk((MYIOC_s_ERR_FMT "IssueTaskMgmt, no msg frames!!\n", | 1640 | dfailprintk((MYIOC_s_ERR_FMT "IssueTaskMgmt, no msg frames!!\n", |
1633 | hd->ioc->name)); | 1641 | hd->ioc->name)); |
1634 | //return FAILED; | 1642 | return FAILED; |
1635 | return -999; | ||
1636 | } | 1643 | } |
1637 | dtmprintk((MYIOC_s_INFO_FMT "IssueTaskMgmt request @ %p\n", | 1644 | dtmprintk((MYIOC_s_INFO_FMT "IssueTaskMgmt request @ %p\n", |
1638 | hd->ioc->name, mf)); | 1645 | hd->ioc->name, mf)); |
@@ -1661,9 +1668,8 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun | |||
1661 | 1668 | ||
1662 | pScsiTm->TaskMsgContext = ctx2abort; | 1669 | pScsiTm->TaskMsgContext = ctx2abort; |
1663 | 1670 | ||
1664 | dtmprintk((MYIOC_s_INFO_FMT | 1671 | dtmprintk((MYIOC_s_INFO_FMT "IssueTaskMgmt: ctx2abort (0x%08x) type=%d\n", |
1665 | "IssueTaskMgmt: ctx2abort (0x%08x) type=%d\n", | 1672 | hd->ioc->name, ctx2abort, type)); |
1666 | hd->ioc->name, ctx2abort, type)); | ||
1667 | 1673 | ||
1668 | DBG_DUMP_TM_REQUEST_FRAME((u32 *)pScsiTm); | 1674 | DBG_DUMP_TM_REQUEST_FRAME((u32 *)pScsiTm); |
1669 | 1675 | ||
@@ -1902,13 +1908,13 @@ mptscsih_host_reset(struct scsi_cmnd *SCpnt) | |||
1902 | 1908 | ||
1903 | /* If we can't locate the host to reset, then we failed. */ | 1909 | /* If we can't locate the host to reset, then we failed. */ |
1904 | if ((hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata) == NULL){ | 1910 | if ((hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata) == NULL){ |
1905 | dtmprintk( ( KERN_WARNING MYNAM ": mptscsih_host_reset: " | 1911 | dtmprintk( ( KERN_INFO MYNAM ": mptscsih_host_reset: " |
1906 | "Can't locate host! (sc=%p)\n", | 1912 | "Can't locate host! (sc=%p)\n", |
1907 | SCpnt ) ); | 1913 | SCpnt ) ); |
1908 | return FAILED; | 1914 | return FAILED; |
1909 | } | 1915 | } |
1910 | 1916 | ||
1911 | printk(KERN_WARNING MYNAM ": %s: >> Attempting host reset! (sc=%p)\n", | 1917 | printk(KERN_WARNING MYNAM ": %s: Attempting host reset! (sc=%p)\n", |
1912 | hd->ioc->name, SCpnt); | 1918 | hd->ioc->name, SCpnt); |
1913 | 1919 | ||
1914 | /* If our attempts to reset the host failed, then return a failed | 1920 | /* If our attempts to reset the host failed, then return a failed |
@@ -1924,7 +1930,7 @@ mptscsih_host_reset(struct scsi_cmnd *SCpnt) | |||
1924 | hd->tmState = TM_STATE_NONE; | 1930 | hd->tmState = TM_STATE_NONE; |
1925 | } | 1931 | } |
1926 | 1932 | ||
1927 | dtmprintk( ( KERN_WARNING MYNAM ": mptscsih_host_reset: " | 1933 | dtmprintk( ( KERN_INFO MYNAM ": mptscsih_host_reset: " |
1928 | "Status = %s\n", | 1934 | "Status = %s\n", |
1929 | (status == SUCCESS) ? "SUCCESS" : "FAILED" ) ); | 1935 | (status == SUCCESS) ? "SUCCESS" : "FAILED" ) ); |
1930 | 1936 | ||
@@ -1951,8 +1957,8 @@ mptscsih_tm_pending_wait(MPT_SCSI_HOST * hd) | |||
1951 | if (hd->tmState == TM_STATE_NONE) { | 1957 | if (hd->tmState == TM_STATE_NONE) { |
1952 | hd->tmState = TM_STATE_IN_PROGRESS; | 1958 | hd->tmState = TM_STATE_IN_PROGRESS; |
1953 | hd->tmPending = 1; | 1959 | hd->tmPending = 1; |
1954 | status = SUCCESS; | ||
1955 | spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); | 1960 | spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); |
1961 | status = SUCCESS; | ||
1956 | break; | 1962 | break; |
1957 | } | 1963 | } |
1958 | spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); | 1964 | spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); |
@@ -1980,7 +1986,7 @@ mptscsih_tm_wait_for_completion(MPT_SCSI_HOST * hd, ulong timeout ) | |||
1980 | spin_lock_irqsave(&hd->ioc->FreeQlock, flags); | 1986 | spin_lock_irqsave(&hd->ioc->FreeQlock, flags); |
1981 | if(hd->tmPending == 0) { | 1987 | if(hd->tmPending == 0) { |
1982 | status = SUCCESS; | 1988 | status = SUCCESS; |
1983 | spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); | 1989 | spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); |
1984 | break; | 1990 | break; |
1985 | } | 1991 | } |
1986 | spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); | 1992 | spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); |
@@ -2318,10 +2324,10 @@ mptscsih_slave_configure(struct scsi_device *device) | |||
2318 | if (pTarget == NULL) { | 2324 | if (pTarget == NULL) { |
2319 | /* Driver doesn't know about this device. | 2325 | /* Driver doesn't know about this device. |
2320 | * Kernel may generate a "Dummy Lun 0" which | 2326 | * Kernel may generate a "Dummy Lun 0" which |
2321 | * may become a real Lun if a | 2327 | * may become a real Lun if a |
2322 | * "scsi add-single-device" command is executed | 2328 | * "scsi add-single-device" command is executed |
2323 | * while the driver is active (hot-plug a | 2329 | * while the driver is active (hot-plug a |
2324 | * device). LSI Raid controllers need | 2330 | * device). LSI Raid controllers need |
2325 | * queue_depth set to DEV_HIGH for this reason. | 2331 | * queue_depth set to DEV_HIGH for this reason. |
2326 | */ | 2332 | */ |
2327 | scsi_adjust_queue_depth(device, MSG_SIMPLE_TAG, | 2333 | scsi_adjust_queue_depth(device, MSG_SIMPLE_TAG, |
@@ -2691,7 +2697,7 @@ mptscsih_initTarget(MPT_SCSI_HOST *hd, int bus_id, int target_id, u8 lun, char * | |||
2691 | * If the peripheral qualifier filter is enabled then if the target reports a 0x1 | 2697 | * If the peripheral qualifier filter is enabled then if the target reports a 0x1 |
2692 | * (i.e. The targer is capable of supporting the specified peripheral device type | 2698 | * (i.e. The targer is capable of supporting the specified peripheral device type |
2693 | * on this logical unit; however, the physical device is not currently connected | 2699 | * on this logical unit; however, the physical device is not currently connected |
2694 | * to this logical unit) it will be converted to a 0x3 (i.e. The target is not | 2700 | * to this logical unit) it will be converted to a 0x3 (i.e. The target is not |
2695 | * capable of supporting a physical device on this logical unit). This is to work | 2701 | * capable of supporting a physical device on this logical unit). This is to work |
2696 | * around a bug in th emid-layer in some distributions in which the mid-layer will | 2702 | * around a bug in th emid-layer in some distributions in which the mid-layer will |
2697 | * continue to try to communicate to the LUN and evntually create a dummy LUN. | 2703 | * continue to try to communicate to the LUN and evntually create a dummy LUN. |
@@ -3194,8 +3200,8 @@ mptscsih_writeSDP1(MPT_SCSI_HOST *hd, int portnum, int target_id, int flags) | |||
3194 | /* Get a MF for this command. | 3200 | /* Get a MF for this command. |
3195 | */ | 3201 | */ |
3196 | if ((mf = mpt_get_msg_frame(ioc->DoneCtx, ioc)) == NULL) { | 3202 | if ((mf = mpt_get_msg_frame(ioc->DoneCtx, ioc)) == NULL) { |
3197 | dprintk((MYIOC_s_WARN_FMT "write SDP1: no msg frames!\n", | 3203 | dfailprintk((MYIOC_s_WARN_FMT "write SDP1: no msg frames!\n", |
3198 | ioc->name)); | 3204 | ioc->name)); |
3199 | return -EAGAIN; | 3205 | return -EAGAIN; |
3200 | } | 3206 | } |
3201 | 3207 | ||
@@ -3289,7 +3295,7 @@ mptscsih_writeIOCPage4(MPT_SCSI_HOST *hd, int target_id, int bus) | |||
3289 | /* Get a MF for this command. | 3295 | /* Get a MF for this command. |
3290 | */ | 3296 | */ |
3291 | if ((mf = mpt_get_msg_frame(ioc->DoneCtx, ioc)) == NULL) { | 3297 | if ((mf = mpt_get_msg_frame(ioc->DoneCtx, ioc)) == NULL) { |
3292 | dprintk((MYIOC_s_WARN_FMT "writeIOCPage4 : no msg frames!\n", | 3298 | dfailprintk((MYIOC_s_WARN_FMT "writeIOCPage4 : no msg frames!\n", |
3293 | ioc->name)); | 3299 | ioc->name)); |
3294 | return -EAGAIN; | 3300 | return -EAGAIN; |
3295 | } | 3301 | } |
@@ -4596,8 +4602,8 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) | |||
4596 | if ((pbuf1[56] & 0x02) == 0) { | 4602 | if ((pbuf1[56] & 0x02) == 0) { |
4597 | pTarget->negoFlags |= MPT_TARGET_NO_NEGO_QAS; | 4603 | pTarget->negoFlags |= MPT_TARGET_NO_NEGO_QAS; |
4598 | hd->ioc->spi_data.noQas = MPT_TARGET_NO_NEGO_QAS; | 4604 | hd->ioc->spi_data.noQas = MPT_TARGET_NO_NEGO_QAS; |
4599 | ddvprintk((MYIOC_s_NOTE_FMT | 4605 | ddvprintk((MYIOC_s_NOTE_FMT |
4600 | "DV: Start Basic noQas on id=%d due to pbuf1[56]=%x\n", | 4606 | "DV: Start Basic noQas on id=%d due to pbuf1[56]=%x\n", |
4601 | ioc->name, id, pbuf1[56])); | 4607 | ioc->name, id, pbuf1[56])); |
4602 | } | 4608 | } |
4603 | } | 4609 | } |
@@ -4673,7 +4679,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) | |||
4673 | if (!firstPass) | 4679 | if (!firstPass) |
4674 | doFallback = 1; | 4680 | doFallback = 1; |
4675 | } else { | 4681 | } else { |
4676 | ddvprintk((MYIOC_s_NOTE_FMT | 4682 | ddvprintk((MYIOC_s_NOTE_FMT |
4677 | "DV:Inquiry compared id=%d, calling initTarget\n", ioc->name, id)); | 4683 | "DV:Inquiry compared id=%d, calling initTarget\n", ioc->name, id)); |
4678 | hd->ioc->spi_data.dvStatus[id] &= ~MPT_SCSICFG_DV_NOT_DONE; | 4684 | hd->ioc->spi_data.dvStatus[id] &= ~MPT_SCSICFG_DV_NOT_DONE; |
4679 | mptscsih_initTarget(hd, | 4685 | mptscsih_initTarget(hd, |
@@ -4689,8 +4695,8 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) | |||
4689 | 4695 | ||
4690 | } else if (rc == MPT_SCANDV_ISSUE_SENSE) | 4696 | } else if (rc == MPT_SCANDV_ISSUE_SENSE) |
4691 | doFallback = 1; /* set fallback flag */ | 4697 | doFallback = 1; /* set fallback flag */ |
4692 | else if ((rc == MPT_SCANDV_DID_RESET) || | 4698 | else if ((rc == MPT_SCANDV_DID_RESET) || |
4693 | (rc == MPT_SCANDV_SENSE) || | 4699 | (rc == MPT_SCANDV_SENSE) || |
4694 | (rc == MPT_SCANDV_FALLBACK)) | 4700 | (rc == MPT_SCANDV_FALLBACK)) |
4695 | doFallback = 1; /* set fallback flag */ | 4701 | doFallback = 1; /* set fallback flag */ |
4696 | else | 4702 | else |
@@ -5126,7 +5132,7 @@ target_done: | |||
5126 | */ | 5132 | */ |
5127 | if ((inq0 == 0) && (dv.now.factor > MPT_ULTRA320)) { | 5133 | if ((inq0 == 0) && (dv.now.factor > MPT_ULTRA320)) { |
5128 | hd->ioc->spi_data.noQas = MPT_TARGET_NO_NEGO_QAS; | 5134 | hd->ioc->spi_data.noQas = MPT_TARGET_NO_NEGO_QAS; |
5129 | ddvprintk((MYIOC_s_NOTE_FMT | 5135 | ddvprintk((MYIOC_s_NOTE_FMT |
5130 | "noQas set due to id=%d has factor=%x\n", ioc->name, id, dv.now.factor)); | 5136 | "noQas set due to id=%d has factor=%x\n", ioc->name, id, dv.now.factor)); |
5131 | } | 5137 | } |
5132 | 5138 | ||