Resubmitting the patch with the following change:
In function mptscsih_info_scsiio(), the bufflen and resid fields of the 
Scsi_cmnd structure were accessed directly in the previous patch. 
In this modified patch data accessor functions are used to access those fields.

signed-off-by: Sathya Prakash <[EMAIL PROTECTED]>
---

diff -Naurp b/drivers/message/fusion/mptscsih.c 
a/drivers/message/fusion/mptscsih.c
--- b/drivers/message/fusion/mptscsih.c 2007-07-23 14:24:35.000000000 +0530
+++ a/drivers/message/fusion/mptscsih.c 2007-07-25 10:49:11.000000000 +0530
@@ -191,7 +191,7 @@ mptscsih_getFreeChainBuffer(MPT_ADAPTER 
        int rc;
        int chain_idx;
 
-       dsgprintk((MYIOC_s_INFO_FMT "getFreeChainBuffer called\n",
+       dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "getFreeChainBuffer called\n",
                        ioc->name));
        spin_lock_irqsave(&ioc->FreeQlock, flags);
        if (!list_empty(&ioc->FreeChainQ)) {
@@ -203,12 +203,12 @@ mptscsih_getFreeChainBuffer(MPT_ADAPTER 
                offset = (u8 *)chainBuf - (u8 *)ioc->ChainBuffer;
                chain_idx = offset / ioc->req_sz;
                rc = SUCCESS;
-               dsgprintk((MYIOC_s_ERR_FMT "getFreeChainBuffer chainBuf=%p 
ChainBuffer=%p offset=%d chain_idx=%d\n",
+               dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "getFreeChainBuffer 
chainBuf=%p ChainBuffer=%p offset=%d chain_idx=%d\n",
                        ioc->name, chainBuf, ioc->ChainBuffer, offset, 
chain_idx));
        } else {
                rc = FAILED;
                chain_idx = MPT_HOST_NO_CHAIN;
-               dfailprintk((MYIOC_s_INFO_FMT "getFreeChainBuffer failed\n",
+               dfailprintk(ioc, printk(MYIOC_s_DEBUG_FMT "getFreeChainBuffer 
failed\n",
                        ioc->name));
        }
        spin_unlock_irqrestore(&ioc->FreeQlock, flags);
@@ -337,7 +337,7 @@ nextSGEset:
                         */
                        pReq->ChainOffset = 0;
                        RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor)  + 
1) & 0x03;
-                       dsgprintk((MYIOC_s_INFO_FMT
+                       dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT
                            "Single Buffer RequestNB=%x, sgeOffset=%d\n", 
ioc->name, RequestNB, sgeOffset));
                        ioc->RequestNB[req_idx] = RequestNB;
                }
@@ -353,7 +353,7 @@ nextSGEset:
                 * Loop until done.
                 */
 
-               dsgprintk((MYIOC_s_INFO_FMT "SG: Chain Required! sg done %d\n",
+               dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "SG: Chain Required! sg 
done %d\n",
                                ioc->name, sg_done));
 
                /* Set LAST_ELEMENT flag for last non-chain element
@@ -386,7 +386,7 @@ nextSGEset:
                         */
                        pReq->ChainOffset = (u8) (sgeOffset >> 2);
                        RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor)  + 
1) & 0x03;
-                       dsgprintk((MYIOC_s_ERR_FMT "Chain Buffer Needed, 
RequestNB=%x sgeOffset=%d\n", ioc->name, RequestNB, sgeOffset));
+                       dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Chain Buffer 
Needed, RequestNB=%x sgeOffset=%d\n", ioc->name, RequestNB, sgeOffset));
                        ioc->RequestNB[req_idx] = RequestNB;
                }
 
@@ -397,7 +397,7 @@ nextSGEset:
                 * in current buffer. Get a chain buffer.
                 */
                if ((mptscsih_getFreeChainBuffer(ioc, &newIndex)) == FAILED) {
-                       dfailprintk((MYIOC_s_INFO_FMT
+                       dfailprintk(ioc, printk(MYIOC_s_DEBUG_FMT
                            "getFreeChainBuffer FAILED SCSI cmd=%02x (%p)\n",
                            ioc->name, pReq->CDB[0], SCpnt));
                        return FAILED;
@@ -419,7 +419,7 @@ nextSGEset:
                 *   out the Address and Flags fields.
                 */
                chainSge = (char *) psge;
-               dsgprintk((KERN_INFO "  Current buff @ %p (index 0x%x)",
+               dsgprintk(ioc, printk(KERN_DEBUG "  Current buff @ %p (index 
0x%x)",
                                psge, req_idx));
 
                /* Start the SGE for the next buffer
@@ -428,7 +428,7 @@ nextSGEset:
                sgeOffset = 0;
                sg_done = 0;
 
-               dsgprintk((KERN_INFO "  Chain buff @ %p (index 0x%x)\n",
+               dsgprintk(ioc, printk(KERN_DEBUG "  Chain buff @ %p (index 
0x%x)\n",
                                psge, chain_idx));
 
                /* Start the SGE for the next buffer
@@ -456,7 +456,7 @@ mptscsih_issue_sep_command(MPT_ADAPTER *
                return;
 
        if ((mf = mpt_get_msg_frame(ioc->InternalCtx, ioc)) == NULL) {
-               dfailprintk((MYIOC_s_WARN_FMT "%s: no msg frames!!\n",
+               dfailprintk(ioc, printk(MYIOC_s_WARN_FMT "%s: no msg 
frames!!\n",
                    ioc->name,__FUNCTION__));
                return;
        }
@@ -467,93 +467,158 @@ mptscsih_issue_sep_command(MPT_ADAPTER *
        SEPMsg->TargetID = vtarget->id;
        SEPMsg->Action = MPI_SEP_REQ_ACTION_WRITE_STATUS;
        SEPMsg->SlotStatus = SlotStatus;
-       devtverboseprintk((MYIOC_s_WARN_FMT
+       devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT
            "Sending SEP cmd=%x channel=%d id=%d\n",
            ioc->name, SlotStatus, SEPMsg->Bus, SEPMsg->TargetID));
        mpt_put_msg_frame(ioc->DoneCtx, ioc, mf);
 }
 
-#ifdef MPT_DEBUG_REPLY
+#ifdef CONFIG_FUSION_LOGGING
 /**
- *     mptscsih_iocstatus_info_scsiio - IOCSTATUS information for SCSIIO
+ *     mptscsih_info_scsiio - debug print info on reply frame
  *     @ioc: Pointer to MPT_ADAPTER structure
- *     @ioc_status: U32 IOCStatus word from IOC
- *     @scsi_status: U8 sam status from target
- *     @scsi_state: U8 scsi state
  *     @sc: original scsi cmnd pointer
- *     @mf: Pointer to MPT request frame
+ *     @pScsiReply: Pointer to MPT reply frame
+ *
+ *     MPT_DEBUG_REPLY needs to be enabled to obtain this info
  *
  *     Refer to lsi/mpi.h.
  **/
 static void
-mptscsih_iocstatus_info_scsiio(MPT_ADAPTER *ioc, u32 ioc_status,
-    u8 scsi_status, u8 scsi_state, struct scsi_cmnd *sc)
+mptscsih_info_scsiio(MPT_ADAPTER *ioc, struct scsi_cmnd *sc, SCSIIOReply_t * 
pScsiReply)
 {
-       char extend_desc[EVENT_DESCR_STR_SZ];
-       char *desc = NULL;
+       char    *desc = NULL;
+       char    *desc1 = NULL;
+       u16     ioc_status;
+       u8      skey, asc, ascq;
+
+       ioc_status = le16_to_cpu(pScsiReply->IOCStatus) & MPI_IOCSTATUS_MASK;
 
        switch (ioc_status) {
 
-       case MPI_IOCSTATUS_SCSI_INVALID_BUS: /* 0x0041 */
-               desc = "SCSI Invalid Bus";
+       case MPI_IOCSTATUS_SUCCESS:
+               desc = "success";
                break;
-
-       case MPI_IOCSTATUS_SCSI_INVALID_TARGETID: /* 0x0042 */
-               desc = "SCSI Invalid TargetID";
+       case MPI_IOCSTATUS_SCSI_INVALID_BUS:
+               desc = "invalid bus";
                break;
-
-       case MPI_IOCSTATUS_SCSI_DEVICE_NOT_THERE: /* 0x0043 */
-               /*
-                * Inquiry is issued for device scanning
-                */
-               if (sc->cmnd[0] != 0x12)
-                       desc = "SCSI Device Not There";
+       case MPI_IOCSTATUS_SCSI_INVALID_TARGETID:
+               desc = "invalid target_id";
                break;
-
-       case MPI_IOCSTATUS_SCSI_DATA_OVERRUN: /* 0x0044 */
-               desc = "SCSI Data Overrun";
+       case MPI_IOCSTATUS_SCSI_DEVICE_NOT_THERE:
+               desc = "device not there";
                break;
-
-       case MPI_IOCSTATUS_SCSI_IO_DATA_ERROR: /* 0x0046 */
-               desc = "SCSI I/O Data Error";
+       case MPI_IOCSTATUS_SCSI_DATA_OVERRUN:
+               desc = "data overrun";
                break;
-
-       case MPI_IOCSTATUS_SCSI_PROTOCOL_ERROR: /* 0x0047 */
-               desc = "SCSI Protocol Error";
+       case MPI_IOCSTATUS_SCSI_DATA_UNDERRUN:
+               desc = "data underrun";
                break;
-
-       case MPI_IOCSTATUS_SCSI_TASK_TERMINATED: /* 0x0048 */
-               desc = "SCSI Task Terminated";
+       case MPI_IOCSTATUS_SCSI_IO_DATA_ERROR:
+               desc = "I/O data error";
                break;
-
-       case MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH: /* 0x0049 */
-               desc = "SCSI Residual Mismatch";
+       case MPI_IOCSTATUS_SCSI_PROTOCOL_ERROR:
+               desc = "protocol error";
                break;
-
-       case MPI_IOCSTATUS_SCSI_TASK_MGMT_FAILED: /* 0x004A */
-               desc = "SCSI Task Management Failed";
+       case MPI_IOCSTATUS_SCSI_TASK_TERMINATED:
+               desc = "task terminated";
                break;
-
-       case MPI_IOCSTATUS_SCSI_IOC_TERMINATED: /* 0x004B */
-               desc = "SCSI IOC Terminated";
+       case MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH:
+               desc = "residual mismatch";
                break;
-
-       case MPI_IOCSTATUS_SCSI_EXT_TERMINATED: /* 0x004C */
-               desc = "SCSI Ext Terminated";
+       case MPI_IOCSTATUS_SCSI_TASK_MGMT_FAILED:
+               desc = "task management failed";
+               break;
+       case MPI_IOCSTATUS_SCSI_IOC_TERMINATED:
+               desc = "IOC terminated";
+               break;
+       case MPI_IOCSTATUS_SCSI_EXT_TERMINATED:
+               desc = "ext terminated";
+               break;
+       default:
+               desc = "";
                break;
        }
 
-       if (!desc)
-               return;
+       switch (pScsiReply->SCSIStatus)
+       {
 
-       snprintf(extend_desc, EVENT_DESCR_STR_SZ,
-           "[%d:%d:%d:%d] cmd=%02Xh, sam_status=%02Xh state=%02Xh",
-               sc->device->host->host_no,
-               sc->device->channel, sc->device->id, sc->device->lun,
-               sc->cmnd[0], scsi_status, scsi_state);
+       case MPI_SCSI_STATUS_SUCCESS:
+               desc1 = "success";
+               break;
+       case MPI_SCSI_STATUS_CHECK_CONDITION:
+               desc1 = "check condition";
+               break;
+       case MPI_SCSI_STATUS_CONDITION_MET:
+               desc1 = "condition met";
+               break;
+       case MPI_SCSI_STATUS_BUSY:
+               desc1 = "busy";
+               break;
+       case MPI_SCSI_STATUS_INTERMEDIATE:
+               desc1 = "intermediate";
+               break;
+       case MPI_SCSI_STATUS_INTERMEDIATE_CONDMET:
+               desc1 = "intermediate condmet";
+               break;
+       case MPI_SCSI_STATUS_RESERVATION_CONFLICT:
+               desc1 = "reservation conflict";
+               break;
+       case MPI_SCSI_STATUS_COMMAND_TERMINATED:
+               desc1 = "command terminated";
+               break;
+       case MPI_SCSI_STATUS_TASK_SET_FULL:
+               desc1 = "task set full";
+               break;
+       case MPI_SCSI_STATUS_ACA_ACTIVE:
+               desc1 = "aca active";
+               break;
+       case MPI_SCSI_STATUS_FCPEXT_DEVICE_LOGGED_OUT:
+               desc1 = "fcpext device logged out";
+               break;
+       case MPI_SCSI_STATUS_FCPEXT_NO_LINK:
+               desc1 = "fcpext no link";
+               break;
+       case MPI_SCSI_STATUS_FCPEXT_UNASSIGNED:
+               desc1 = "fcpext unassigned";
+               break;
+       default:
+               desc1 = "";
+               break;
+       }
+
+       scsi_print_command(sc);
+       printk(KERN_DEBUG "\tfw_channel = %d, fw_id = %d\n",
+           pScsiReply->Bus, pScsiReply->TargetID);
+       printk(KERN_DEBUG "\trequest_len = %d, underflow = %d, resid = %d\n",
+           scsi_bufflen(sc), sc->underflow, scsi_get_resid(sc));
+       printk(KERN_DEBUG "\ttag = %d, transfer_count = %d, sc->result = 
%08X\n",
+           le16_to_cpu(pScsiReply->TaskTag),
+           le32_to_cpu(pScsiReply->TransferCount), sc->result);
+
+       printk(KERN_DEBUG "\tiocstatus = %s (0x%04x), "
+           "scsi_status = %s (0x%02x), scsi_state = (0x%02x)\n",
+           desc, ioc_status,
+           desc1, pScsiReply->SCSIStatus,
+           pScsiReply->SCSIState);
+
+       if (pScsiReply->SCSIState & MPI_SCSI_STATE_AUTOSENSE_VALID) {
+               skey = sc->sense_buffer[2] & 0x0F;
+               asc = sc->sense_buffer[12];
+               ascq = sc->sense_buffer[13];
+
+               printk(KERN_DEBUG "\t[sense_key,asc,ascq]: "
+                   "[0x%02x,0x%02x,0x%02x]\n",
+                   skey, asc, ascq);
+       }
 
-       printk(MYIOC_s_INFO_FMT "IOCStatus(0x%04X): %s: %s\n",
-           ioc->name, ioc_status, desc, extend_desc);
+       /*
+        *  Look for + dump FCP ResponseInfo[]!
+        */
+       if (pScsiReply->SCSIState & MPI_SCSI_STATE_RESPONSE_INFO_VALID &&
+           pScsiReply->ResponseInfo)
+               printk(KERN_DEBUG "response_info = %08xh\n",
+                   le32_to_cpu(pScsiReply->ResponseInfo));
 }
 #endif
 
@@ -627,11 +692,11 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_F
        pScsiReply = (SCSIIOReply_t *) mr;
 
        if((ioc->facts.MsgVersion >= MPI_VERSION_01_05) && pScsiReply){
-               dmfprintk((MYIOC_s_INFO_FMT
+               dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT
                        "ScsiDone (mf=%p,mr=%p,sc=%p,idx=%d,task-tag=%d)\n",
                        ioc->name, mf, mr, sc, req_idx, pScsiReply->TaskTag));
        }else{
-               dmfprintk((MYIOC_s_INFO_FMT
+               dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT
                        "ScsiDone (mf=%p,mr=%p,sc=%p,idx=%d)\n",
                        ioc->name, mf, mr, sc, req_idx));
        }
@@ -759,7 +824,7 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_F
                                sc->result=DID_SOFT_ERROR << 16;
                        else /* Sufficient data transfer occurred */
                                sc->result = (DID_OK << 16) | scsi_status;
-                       dreplyprintk((KERN_NOTICE
+                       dreplyprintk(ioc, printk(KERN_DEBUG
                            "RESIDUAL_MISMATCH: result=%x on channel=%d 
id=%d\n",
                            sc->result, sc->device->channel, sc->device->id));
                        break;
@@ -792,9 +857,11 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_F
                                }
                        }
 
-                       dreplyprintk((KERN_NOTICE "  sc->underflow={report ERR 
if < %02xh bytes xfer'd}\n",
+
+                       dreplyprintk(ioc, printk(KERN_DEBUG "  
sc->underflow={report ERR if < %02xh bytes xfer'd}\n",
                                        sc->underflow));
-                       dreplyprintk((KERN_NOTICE "  ActBytesXferd=%02xh\n", 
xfer_cnt));
+                       dreplyprintk(ioc, printk(KERN_DEBUG "  
ActBytesXferd=%02xh\n", xfer_cnt));
+
                        /* Report Queue Full
                         */
                        if (scsi_status == MPI_SCSI_STATUS_TASK_SET_FULL)
@@ -871,27 +938,9 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_F
 
                }       /* switch(status) */
 
-#ifdef MPT_DEBUG_REPLY
-               if (sc->result) {
-
-                       mptscsih_iocstatus_info_scsiio(ioc, status,
-                           scsi_status, scsi_state, sc);
-
-                       dreplyprintk(("%s: [%d:%d:%d:%d] cmd=0x%02x "
-                           "result=0x%08x\n\tiocstatus=0x%04X "
-                           "scsi_state=0x%02X scsi_status=0x%02X "
-                           "loginfo=0x%08X\n", __FUNCTION__,
-                           sc->device->host->host_no, sc->device->channel, 
sc->device->id,
-                           sc->device->lun, sc->cmnd[0], sc->result, status,
-                           scsi_state, scsi_status, log_info));
-
-                       dreplyprintk(("%s: [%d:%d:%d:%d] resid=%d "
-                                     "bufflen=%d xfer_cnt=%d\n", __FUNCTION__,
-                                     sc->device->host->host_no,
-                                     sc->device->channel, sc->device->id,
-                                     sc->device->lun, scsi_get_resid(sc),
-                                     scsi_bufflen(sc), xfer_cnt));
-               }
+#ifdef CONFIG_FUSION_LOGGING
+               if (sc->result && (ioc->debug_level & MPT_DEBUG_REPLY))
+                       mptscsih_info_scsiio(ioc, sc, pScsiReply);
 #endif
 
        } /* end of address reply case */
@@ -925,7 +974,7 @@ mptscsih_flush_running_cmds(MPT_SCSI_HOS
        int              ii;
        int              max = ioc->req_depth;
 
-       dprintk((KERN_INFO MYNAM ": flush_ScsiLookup called\n"));
+       dprintk(ioc, printk(KERN_DEBUG MYNAM ": flush_ScsiLookup called\n"));
        for (ii= 0; ii < max; ii++) {
                if ((SCpnt = hd->ScsiLookup[ii]) != NULL) {
 
@@ -937,7 +986,7 @@ mptscsih_flush_running_cmds(MPT_SCSI_HOS
                        hd->ScsiLookup[ii] = NULL;
 
                        mf = MPT_INDEX_2_MFPTR(ioc, ii);
-                       dmfprintk(( "flush: ScsiDone (mf=%p,sc=%p)\n",
+                       dmfprintk(ioc, printk(KERN_DEBUG MYNAM ": flush: 
ScsiDone (mf=%p,sc=%p)\n",
                                        mf, SCpnt));
 
                        /* Free Chain buffers */
@@ -987,7 +1036,7 @@ mptscsih_search_running_cmds(MPT_SCSI_HO
        struct scsi_cmnd *sc;
        struct scsi_lun  lun;
 
-       dsprintk((KERN_INFO MYNAM ": search_running channel %d id %d lun %d max 
%d\n",
+       dsprintk(hd->ioc, printk(KERN_DEBUG MYNAM ": search_running channel %d 
id %d lun %d max %d\n",
            vdevice->vtarget->channel, vdevice->vtarget->id, vdevice->lun, 
max));
 
        for (ii=0; ii < max; ii++) {
@@ -1020,9 +1069,9 @@ mptscsih_search_running_cmds(MPT_SCSI_HO
                        scsi_dma_unmap(sc);
                        sc->host_scribble = NULL;
                        sc->result = DID_NO_CONNECT << 16;
-                       dsprintk(( "search_running: found (sc=%p, mf = %p) "
-                           "channel %d id %d, lun %d \n", sc, mf,
-                           vdevice->vtarget->channel, vdevice->vtarget->id, 
vdevice->lun));
+                       sdev_printk(KERN_INFO, sc->device, "completing cmds: 
fw_channel %d,"
+                          "fw_id %d, sc=%p, mf = %p, idx=%x\n", 
vdevice->vtarget->channel,
+                          vdevice->vtarget->id, sc, mf, ii);
                        sc->scsi_done(sc);
                }
        }
@@ -1057,7 +1106,7 @@ mptscsih_report_queue_full(struct scsi_c
                return;
 
        if (time - hd->last_queue_full > 10 * HZ) {
-               dprintk((MYIOC_s_WARN_FMT "Device (%d:%d:%d) reported 
QUEUE_FULL!\n",
+               dprintk(hd->ioc, printk(MYIOC_s_WARN_FMT "Device (%d:%d:%d) 
reported QUEUE_FULL!\n",
                                hd->ioc->name, 0, sc->device->id, 
sc->device->lun));
                hd->last_queue_full = time;
        }
@@ -1098,7 +1147,7 @@ mptscsih_remove(struct pci_dev *pdev)
                hd->ScsiLookup = NULL;
        }
 
-       dprintk((MYIOC_s_INFO_FMT
+       dprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT
            "Free'd ScsiLookup (%d) memory\n",
            hd->ioc->name, sz1));
 
@@ -1317,17 +1366,19 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, v
        u32      cmd_len;
        int      my_idx;
        int      ii;
+       MPT_ADAPTER *ioc;
 
        hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata;
+       ioc = hd->ioc;
        lun = SCpnt->device->lun;
        SCpnt->scsi_done = done;
 
-       dmfprintk((MYIOC_s_INFO_FMT "qcmd: SCpnt=%p, done()=%p\n",
-                       (hd && hd->ioc) ? hd->ioc->name : "ioc?", SCpnt, done));
+       dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT "qcmd: SCpnt=%p, done()=%p\n",
+               ioc->name, SCpnt, done));
 
        if (hd->resetPending) {
-               dtmprintk((MYIOC_s_WARN_FMT "qcmd: SCpnt=%p timeout + 60HZ\n",
-                       (hd && hd->ioc) ? hd->ioc->name : "ioc?", SCpnt));
+               dtmprintk(ioc, printk(MYIOC_s_WARN_FMT "qcmd: SCpnt=%p timeout 
+ 60HZ\n",
+                       ioc->name, SCpnt));
                return SCSI_MLQUEUE_HOST_BUSY;
        }
 
@@ -1335,8 +1386,8 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, v
         *  Put together a MPT SCSI request...
         */
        if ((mf = mpt_get_msg_frame(hd->ioc->DoneCtx, hd->ioc)) == NULL) {
-               dprintk((MYIOC_s_WARN_FMT "QueueCmd, no msg frames!!\n",
-                               hd->ioc->name));
+               dprintk(ioc, printk(MYIOC_s_WARN_FMT "QueueCmd, no msg 
frames!!\n",
+                               ioc->name));
                return SCSI_MLQUEUE_HOST_BUSY;
        }
 
@@ -1422,9 +1473,9 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, v
        hd->ScsiLookup[my_idx] = SCpnt;
 
        mpt_put_msg_frame(hd->ioc->DoneCtx, hd->ioc, mf);
-       dmfprintk((MYIOC_s_INFO_FMT "Issued SCSI cmd (%p) mf=%p idx=%d\n",
-                       hd->ioc->name, SCpnt, mf, my_idx));
-       DBG_DUMP_REQUEST_FRAME(mf)
+       dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Issued SCSI cmd (%p) mf=%p 
idx=%d\n",
+                       ioc->name, SCpnt, mf, my_idx));
+       DBG_DUMP_REQUEST_FRAME(ioc, (u32 *)mf)
        return 0;
 
  fail:
@@ -1475,7 +1526,7 @@ mptscsih_freeChainBuffers(MPT_ADAPTER *i
                list_add_tail(&chain->u.frame.linkage.list, &ioc->FreeChainQ);
                spin_unlock_irqrestore(&ioc->FreeQlock, flags);
 
-               dmfprintk((MYIOC_s_INFO_FMT "FreeChainBuffers (index %d)\n",
+               dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT "FreeChainBuffers 
(index %d)\n",
                                ioc->name, chain_idx));
 
                /* handle next */
@@ -1519,7 +1570,7 @@ mptscsih_TMHandler(MPT_SCSI_HOST *hd, u8
        unsigned long    flags;
 
        ioc = hd->ioc;
-       dtmprintk((MYIOC_s_INFO_FMT "TMHandler Entered!\n", ioc->name));
+       dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "TMHandler Entered!\n", 
ioc->name));
 
        // SJR - CHECKME - Can we avoid this here?
        // (mpt_HardResetHandler has this check...)
@@ -1539,20 +1590,20 @@ mptscsih_TMHandler(MPT_SCSI_HOST *hd, u8
         */
        if (mptscsih_tm_pending_wait(hd) == FAILED) {
                if (type == MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK) {
-                       dtmprintk((KERN_INFO MYNAM ": %s: TMHandler abort: "
+                       dtmprintk(ioc, printk(KERN_DEBUG MYNAM ": %s: TMHandler 
abort: "
                           "Timed out waiting for last TM (%d) to complete! \n",
-                          hd->ioc->name, hd->tmPending));
+                          ioc->name, hd->tmPending));
                        return FAILED;
                } else if (type == MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET) {
-                       dtmprintk((KERN_INFO MYNAM ": %s: TMHandler target "
+                       dtmprintk(ioc, printk(KERN_DEBUG MYNAM ": %s: TMHandler 
target "
                                "reset: Timed out waiting for last TM (%d) "
-                               "to complete! \n", hd->ioc->name,
+                               "to complete! \n", ioc->name,
                                hd->tmPending));
                        return FAILED;
                } else if (type == MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS) {
-                       dtmprintk((KERN_INFO MYNAM ": %s: TMHandler bus reset: "
+                       dtmprintk(ioc, printk(KERN_DEBUG MYNAM ": %s: TMHandler 
bus reset: "
                           "Timed out waiting for last TM (%d) to complete! \n",
-                          hd->ioc->name, hd->tmPending));
+                         ioc->name, hd->tmPending));
                        return FAILED;
                }
        } else {
@@ -1591,12 +1642,13 @@ mptscsih_TMHandler(MPT_SCSI_HOST *hd, u8
            ctx2abort, timeout);
        if (rc)
                printk(MYIOC_s_INFO_FMT "Issue of TaskMgmt failed!\n",
-                      hd->ioc->name);
+                      ioc->name);
        else
-               dtmprintk((MYIOC_s_INFO_FMT "Issue of TaskMgmt Successful!\n",
-                          hd->ioc->name));
+               dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Issue of TaskMgmt 
Successful!\n",
+                          ioc->name));
 
-       dtmprintk((MYIOC_s_INFO_FMT "TMHandler rc = %d!\n", hd->ioc->name, rc));
+       dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT
+                       "TMHandler rc = %d!\n", ioc->name, rc));
 
        return rc;
 }
@@ -1632,11 +1684,11 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd
        /* Return Fail to calling function if no message frames available.
         */
        if ((mf = mpt_get_msg_frame(hd->ioc->TaskCtx, hd->ioc)) == NULL) {
-               dfailprintk((MYIOC_s_ERR_FMT "IssueTaskMgmt, no msg frames!!\n",
+               dfailprintk(hd->ioc, printk(MYIOC_s_ERR_FMT "IssueTaskMgmt, no 
msg frames!!\n",
                                hd->ioc->name));
                return FAILED;
        }
-       dtmprintk((MYIOC_s_INFO_FMT "IssueTaskMgmt request @ %p\n",
+       dtmprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "IssueTaskMgmt request @ 
%p\n",
                        hd->ioc->name, mf));
 
        /* Format the Request
@@ -1660,27 +1712,27 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd
 
        pScsiTm->TaskMsgContext = ctx2abort;
 
-       dtmprintk((MYIOC_s_INFO_FMT "IssueTaskMgmt: ctx2abort (0x%08x) "
+       dtmprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "IssueTaskMgmt: ctx2abort 
(0x%08x) "
                "type=%d\n", hd->ioc->name, ctx2abort, type));
 
-       DBG_DUMP_TM_REQUEST_FRAME((u32 *)pScsiTm);
+       DBG_DUMP_TM_REQUEST_FRAME(ioc, (u32 *)pScsiTm);
 
        if ((retval = mpt_send_handshake_request(hd->ioc->TaskCtx, hd->ioc,
                sizeof(SCSITaskMgmt_t), (u32*)pScsiTm, CAN_SLEEP)) != 0) {
-               dfailprintk((MYIOC_s_ERR_FMT "send_handshake FAILED!"
+               dfailprintk(hd->ioc, printk(MYIOC_s_ERR_FMT "send_handshake 
FAILED!"
                        " (hd %p, ioc %p, mf %p, rc=%d) \n", hd->ioc->name, hd,
                        hd->ioc, mf, retval));
                goto fail_out;
        }
 
        if(mptscsih_tm_wait_for_completion(hd, timeout) == FAILED) {
-               dfailprintk((MYIOC_s_ERR_FMT "task management request TIMED 
OUT!"
+               dfailprintk(hd->ioc, printk(MYIOC_s_ERR_FMT "task management 
request TIMED OUT!"
                        " (hd %p, ioc %p, mf %p) \n", hd->ioc->name, hd,
                        hd->ioc, mf));
-               dtmprintk((MYIOC_s_INFO_FMT "Calling HardReset! \n",
+               dtmprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "Calling HardReset! 
\n",
                         hd->ioc->name));
                retval = mpt_HardResetHandler(hd->ioc, CAN_SLEEP);
-               dtmprintk((MYIOC_s_INFO_FMT "rc=%d \n",
+               dtmprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "rc=%d \n",
                         hd->ioc->name, retval));
                goto fail_out;
        }
@@ -1748,8 +1800,8 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
        if ((hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata) == NULL) {
                SCpnt->result = DID_RESET << 16;
                SCpnt->scsi_done(SCpnt);
-               dfailprintk((KERN_INFO MYNAM ": mptscsih_abort: Can't locate "
-                   "host! (sc=%p)\n", SCpnt));
+               printk(KERN_DEBUG MYNAM ": mptscsih_abort: Can't locate "
+                   "host! (sc=%p)\n", SCpnt);
                return FAILED;
        }
 
@@ -1760,7 +1812,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
 
        vdevice = SCpnt->device->hostdata;
        if (!vdevice || !vdevice->vtarget) {
-               dtmprintk((MYIOC_s_DEBUG_FMT "task abort: device has been "
+               dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "task abort: device has 
been "
                    "deleted (sc=%p)\n", ioc->name, SCpnt));
                SCpnt->result = DID_NO_CONNECT << 16;
                SCpnt->scsi_done(SCpnt);
@@ -1771,7 +1823,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
        /* Task aborts are not supported for hidden raid components.
         */
        if (vdevice->vtarget->tflags & MPT_TARGET_FLAGS_RAID_COMPONENT) {
-               dtmprintk((MYIOC_s_DEBUG_FMT "task abort: hidden raid "
+               dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "task abort: hidden 
raid "
                    "component (sc=%p)\n", ioc->name, SCpnt));
                SCpnt->result = DID_RESET << 16;
                retval = FAILED;
@@ -1785,7 +1837,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
                 * Do OS callback.
                 */
                SCpnt->result = DID_RESET << 16;
-               dtmprintk((KERN_INFO MYNAM ": %s: mptscsih_abort: "
+               dtmprintk(ioc, printk(KERN_DEBUG MYNAM ": %s: mptscsih_abort: "
                   "Command not in the active list! (sc=%p)\n", ioc->name,
                   SCpnt));
                retval = 0;
@@ -1850,8 +1902,8 @@ mptscsih_dev_reset(struct scsi_cmnd * SC
        /* If we can't locate our host adapter structure, return FAILED status.
         */
        if ((hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata) == NULL){
-               dtmprintk((KERN_INFO MYNAM ": mptscsih_dev_reset: Can't "
-                   "locate host! (sc=%p)\n", SCpnt));
+               printk(KERN_DEBUG MYNAM ": mptscsih_dev_reset: Can't "
+                   "locate host! (sc=%p)\n", SCpnt);
                return FAILED;
        }
 
@@ -1913,8 +1965,8 @@ mptscsih_bus_reset(struct scsi_cmnd * SC
        /* If we can't locate our host adapter structure, return FAILED status.
         */
        if ((hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata) == NULL){
-               dtmprintk((KERN_INFO MYNAM ": mptscsih_bus_reset: Can't "
-                   "locate host! (sc=%p)\n", SCpnt ));
+               printk(KERN_DEBUG MYNAM ": mptscsih_bus_reset: Can't "
+                   "locate host! (sc=%p)\n", SCpnt );
                return FAILED;
        }
 
@@ -1957,8 +2009,8 @@ mptscsih_host_reset(struct scsi_cmnd *SC
 
        /*  If we can't locate the host to reset, then we failed. */
        if ((hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata) == NULL){
-               dtmprintk( ( KERN_INFO MYNAM ": mptscsih_host_reset: Can't "
-                   "locate host! (sc=%p)\n", SCpnt));
+               printk( KERN_DEBUG MYNAM ": mptscsih_host_reset: Can't "
+                   "locate host! (sc=%p)\n", SCpnt);
                return FAILED;
        }
 
@@ -2106,16 +2158,16 @@ mptscsih_taskmgmt_complete(MPT_ADAPTER *
        u8                       tmType;
        u32                      termination_count;
 
-       dtmprintk((MYIOC_s_WARN_FMT "TaskMgmt completed (mf=%p,mr=%p)\n",
+       dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "TaskMgmt completed 
(mf=%p,mr=%p)\n",
            ioc->name, mf, mr));
        if (!ioc->sh) {
-               dtmprintk((MYIOC_s_WARN_FMT
+               dtmprintk(ioc, printk(MYIOC_s_WARN_FMT
                    "TaskMgmt Complete: NULL Scsi Host Ptr\n", ioc->name));
                return 1;
        }
 
        if (mr == NULL) {
-               dtmprintk((MYIOC_s_WARN_FMT
+               dtmprintk(ioc, printk(MYIOC_s_WARN_FMT
                    "ERROR! TaskMgmt Reply: NULL Request %p\n", ioc->name, mf));
                return 1;
        }
@@ -2131,19 +2183,21 @@ mptscsih_taskmgmt_complete(MPT_ADAPTER *
            pScsiTmReply->ResponseCode)
                mptscsih_taskmgmt_response_code(ioc,
                    pScsiTmReply->ResponseCode);
-       DBG_DUMP_TM_REPLY_FRAME((u32 *)pScsiTmReply);
+       DBG_DUMP_TM_REPLY_FRAME(ioc, (u32 *)pScsiTmReply);
 
-#if defined(MPT_DEBUG_REPLY) || defined(MPT_DEBUG_TM)
-       printk("%s: ha=%d [%d:%d:0] task_type=0x%02X "
-           "iocstatus=0x%04X\n\tloginfo=0x%08X response_code=0x%02X "
-           "term_cmnds=%d\n", __FUNCTION__, ioc->id, pScsiTmReply->Bus,
-           pScsiTmReply->TargetID, pScsiTmReq->TaskType,
-           le16_to_cpu(pScsiTmReply->IOCStatus),
-           le32_to_cpu(pScsiTmReply->IOCLogInfo),pScsiTmReply->ResponseCode,
-           le32_to_cpu(pScsiTmReply->TerminationCount));
+#ifdef CONFIG_FUSION_LOGGING
+       if ((ioc->debug_level & MPT_DEBUG_REPLY) || 
+                               (ioc->debug_level & MPT_DEBUG_TM ))
+               printk("%s: ha=%d [%d:%d:0] task_type=0x%02X "
+                       "iocstatus=0x%04X\n\tloginfo=0x%08X 
response_code=0x%02X "
+                       "term_cmnds=%d\n", __FUNCTION__, ioc->id, 
pScsiTmReply->Bus,
+                        pScsiTmReply->TargetID, pScsiTmReq->TaskType,
+                       le16_to_cpu(pScsiTmReply->IOCStatus),
+                       
le32_to_cpu(pScsiTmReply->IOCLogInfo),pScsiTmReply->ResponseCode,
+                       le32_to_cpu(pScsiTmReply->TerminationCount));
 #endif
        if (!iocstatus) {
-               dtmprintk((MYIOC_s_WARN_FMT " TaskMgmt SUCCESS\n", ioc->name));
+               dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT " TaskMgmt SUCCESS\n", 
ioc->name));
                        hd->abortSCpnt = NULL;
                goto out;
        }
@@ -2224,10 +2278,6 @@ mptscsih_bios_param(struct scsi_device *
        geom[1] = sectors;
        geom[2] = cylinders;
 
-       dprintk((KERN_NOTICE
-               ": bios_param: Id=%i Lun=%i Channel=%i CHS=%i/%i/%i\n",
-               sdev->id, sdev->lun, sdev->channel, (int)cylinders, heads, 
sectors));
-
        return 0;
 }
 
@@ -2393,11 +2443,11 @@ mptscsih_slave_configure(struct scsi_dev
        vtarget = starget->hostdata;
        vdevice = sdev->hostdata;
 
-       dsprintk((MYIOC_s_INFO_FMT
+       dsprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT
                "device @ %p, channel=%d, id=%d, lun=%d\n",
                hd->ioc->name, sdev, sdev->channel, sdev->id, sdev->lun));
        if (hd->ioc->bus_type == SPI)
-               dsprintk((MYIOC_s_INFO_FMT
+               dsprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT
                    "sdtr %d wdtr %d ppr %d inq length=%d\n",
                    hd->ioc->name, sdev->sdtr, sdev->wdtr,
                    sdev->ppr, sdev->inquiry_len));
@@ -2411,19 +2461,19 @@ mptscsih_slave_configure(struct scsi_dev
        vdevice->configured_lun = 1;
        mptscsih_change_queue_depth(sdev, MPT_SCSI_CMD_PER_DEV_HIGH);
 
-       dsprintk((MYIOC_s_INFO_FMT
+       dsprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT
                "Queue depth=%d, tflags=%x\n",
                hd->ioc->name, sdev->queue_depth, vtarget->tflags));
 
        if (hd->ioc->bus_type == SPI)
-               dsprintk((MYIOC_s_INFO_FMT
+               dsprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT
                    "negoFlags=%x, maxOffset=%x, SyncFactor=%x\n",
                    hd->ioc->name, vtarget->negoFlags, vtarget->maxOffset,
                    vtarget->minSyncFactor));
 
 slave_configure_exit:
 
-       dsprintk((MYIOC_s_INFO_FMT
+       dsprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT
                "tagged %d, simple %d, ordered %d\n",
                hd->ioc->name,sdev->tagged_supported, sdev->simple_tags,
                sdev->ordered_tags));
@@ -2490,7 +2540,7 @@ mptscsih_copy_sense_data(struct scsi_cmn
                        }
                }
        } else {
-               dprintk((MYIOC_s_INFO_FMT "Hmmm... SenseData len=0! (?)\n",
+               dprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "Hmmm... SenseData 
len=0! (?)\n",
                                hd->ioc->name));
        }
 }
@@ -2520,7 +2570,7 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int
        unsigned long    flags;
        int             ii;
 
-       dtmprintk((KERN_WARNING MYNAM
+       dtmprintk(ioc, printk(KERN_DEBUG MYNAM
                        ": IOC %s_reset routed to SCSI host driver!\n",
                        reset_phase==MPT_IOC_SETUP_RESET ? "setup" : (
                        reset_phase==MPT_IOC_PRE_RESET ? "pre" : "post")));
@@ -2535,7 +2585,7 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int
                hd = (MPT_SCSI_HOST *) ioc->sh->hostdata;
 
        if (reset_phase == MPT_IOC_SETUP_RESET) {
-               dtmprintk((MYIOC_s_WARN_FMT "Setup-Diag Reset\n", ioc->name));
+               dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Setup-Diag Reset\n", 
ioc->name));
 
                /* Clean Up:
                 * 1. Set Hard Reset Pending Flag
@@ -2544,7 +2594,7 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int
                hd->resetPending = 1;
 
        } else if (reset_phase == MPT_IOC_PRE_RESET) {
-               dtmprintk((MYIOC_s_WARN_FMT "Pre-Diag Reset\n", ioc->name));
+               dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Pre-Diag Reset\n", 
ioc->name));
 
                /* 2. Flush running commands
                 *      Clean ScsiLookup (and associated memory)
@@ -2564,10 +2614,10 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int
                        mpt_free_msg_frame(ioc, hd->cmdPtr);
                }
 
-               dtmprintk((MYIOC_s_WARN_FMT "Pre-Reset complete.\n", 
ioc->name));
+               dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Pre-Reset 
complete.\n", ioc->name));
 
        } else {
-               dtmprintk((MYIOC_s_WARN_FMT "Post-Diag Reset\n", ioc->name));
+               dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Post-Diag Reset\n", 
ioc->name));
 
                /* Once a FW reload begins, all new OS commands are
                 * redirected to the doneQ w/ a reset status.
@@ -2607,7 +2657,7 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int
                        hd->cmdPtr = NULL;
                }
 
-               dtmprintk((MYIOC_s_WARN_FMT "Post-Reset complete.\n", 
ioc->name));
+               dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Post-Reset 
complete.\n", ioc->name));
 
        }
 
@@ -2621,7 +2671,7 @@ mptscsih_event_process(MPT_ADAPTER *ioc,
        MPT_SCSI_HOST *hd;
        u8 event = le32_to_cpu(pEvReply->Event) & 0xFF;
 
-       devtverboseprintk((MYIOC_s_INFO_FMT "MPT event (=%02Xh) routed to SCSI 
host driver!\n",
+       devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT "MPT event (=%02Xh) 
routed to SCSI host driver!\n",
                        ioc->name, event));
 
        if (ioc->sh == NULL ||
@@ -2663,7 +2713,7 @@ mptscsih_event_process(MPT_ADAPTER *ioc,
        case MPI_EVENT_STATE_CHANGE:                    /* 02 */
        case MPI_EVENT_EVENT_CHANGE:                    /* 0A */
        default:
-               dprintk((KERN_INFO "  Ignoring event (=%02Xh)\n", event));
+               dprintk(ioc, printk(KERN_DEBUG MYNAM ": Ignoring event 
(=%02Xh)\n", event));
                break;
        }
 
@@ -2724,7 +2774,7 @@ mptscsih_scandv_complete(MPT_ADAPTER *io
        }
        hd->cmdPtr = NULL;
 
-       ddvprintk((MYIOC_s_INFO_FMT "ScanDvComplete (mf=%p,mr=%p,idx=%d)\n",
+       ddvprintk(ioc, printk(MYIOC_s_DEBUG_FMT "ScanDvComplete 
(mf=%p,mr=%p,idx=%d)\n",
                        hd->ioc->name, mf, mr, req_idx));
 
        hd->pLocal = &hd->localReply;
@@ -2744,9 +2794,6 @@ mptscsih_scandv_complete(MPT_ADAPTER *io
                status = le16_to_cpu(pReply->IOCStatus) & MPI_IOCSTATUS_MASK;
                scsi_status = pReply->SCSIStatus;
 
-               ddvtprintk((KERN_NOTICE "  IOCStatus=%04xh, SCSIState=%02xh, 
SCSIStatus=%02xh, IOCLogInfo=%08xh\n",
-                            status, pReply->SCSIState, scsi_status,
-                            le32_to_cpu(pReply->IOCLogInfo)));
 
                switch(status) {
 
@@ -2799,7 +2846,7 @@ mptscsih_scandv_complete(MPT_ADAPTER *io
                                                        SCSI_STD_SENSE_BYTES);
                                memcpy(hd->pLocal->sense, sense_data, sz);
 
-                               ddvprintk((KERN_NOTICE "  Check Condition, 
sense ptr %p\n",
+                               ddvprintk(ioc, printk(KERN_DEBUG "  Check 
Condition, sense ptr %p\n",
                                                sense_data));
                        } else if (pReply->SCSIState & 
MPI_SCSI_STATE_AUTOSENSE_FAILED) {
                                if (pReq->CDB[0] == INQUIRY)
@@ -2830,8 +2877,6 @@ mptscsih_scandv_complete(MPT_ADAPTER *io
 
                }       /* switch(status) */
 
-               ddvtprintk((KERN_NOTICE "  completionCode set to %08xh\n",
-                               completionCode));
        } /* end of address reply case */
 
        hd->pLocal->completion = completionCode;
@@ -2862,7 +2907,7 @@ mptscsih_timer_expired(unsigned long dat
 {
        MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *) data;
 
-       ddvprintk((MYIOC_s_WARN_FMT "Timer Expired! Cmd %p\n", hd->ioc->name, 
hd->cmdPtr));
+       ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "Timer Expired! Cmd %p\n", 
hd->ioc->name, hd->cmdPtr));
 
        if (hd->cmdPtr) {
                MPIHeader_t *cmd = (MPIHeader_t *)hd->cmdPtr;
@@ -2874,7 +2919,6 @@ mptscsih_timer_expired(unsigned long dat
                         * If new eh code, do nothing. Wait for OS cmd timeout
                         *      for bus reset.
                         */
-                       ddvtprintk((MYIOC_s_NOTE_FMT "DV Cmd Timeout: NoOp\n", 
hd->ioc->name));
                } else {
                        /* Perform a FW reload */
                        if (mpt_HardResetHandler(hd->ioc, NO_SLEEP) < 0) {
@@ -2891,7 +2935,7 @@ mptscsih_timer_expired(unsigned long dat
         * The FW will reply to all outstanding commands, callback will finish 
cleanup.
         * Hard reset clean-up will free all resources.
         */
-       ddvprintk((MYIOC_s_WARN_FMT "Timer Expired Complete!\n", 
hd->ioc->name));
+       ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "Timer Expired 
Complete!\n", hd->ioc->name));
 
        return;
 }
@@ -2932,7 +2976,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTER
 
        in_isr = in_interrupt();
        if (in_isr) {
-               dprintk((MYIOC_s_WARN_FMT "Internal SCSI IO request not allowed 
in ISR context!\n",
+               dprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "Internal SCSI IO 
request not allowed in ISR context!\n",
                                        hd->ioc->name));
                return -EPERM;
        }
@@ -3035,7 +3079,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTER
        /* Get and Populate a free Frame
         */
        if ((mf = mpt_get_msg_frame(hd->ioc->InternalCtx, hd->ioc)) == NULL) {
-               ddvprintk((MYIOC_s_WARN_FMT "No msg frames!\n",
+               ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "No msg frames!\n",
                                        hd->ioc->name));
                return -EBUSY;
        }
@@ -3075,7 +3119,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTER
 
        if (cmd == REQUEST_SENSE) {
                pScsiReq->Control = cpu_to_le32(dir | 
MPI_SCSIIO_CONTROL_UNTAGGED);
-               ddvprintk((MYIOC_s_INFO_FMT "Untagged! 0x%2x\n",
+               ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "Untagged! 0x%2x\n",
                        hd->ioc->name, cmd));
        }
 
@@ -3086,7 +3130,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTER
        pScsiReq->SenseBufferLowAddr = cpu_to_le32(hd->ioc->sense_buf_low_dma
                                           + (my_idx * MPT_SENSE_BUFFER_ALLOC));
 
-       ddvprintk((MYIOC_s_INFO_FMT "Sending Command 0x%x for (%d:%d:%d)\n",
+       ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "Sending Command 0x%x for 
(%d:%d:%d)\n",
                        hd->ioc->name, cmd, io->channel, io->id, io->lun));
 
        if (dir == MPI_SCSIIO_CONTROL_READ) {
@@ -3138,7 +3182,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTER
        } else {
                rc = -EFAULT;
                /* This should never happen. */
-               ddvprintk((MYIOC_s_INFO_FMT "_do_cmd: Null pLocal!!!\n",
+               ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "_do_cmd: Null 
pLocal!!!\n",
                                hd->ioc->name));
        }
 
@@ -3324,6 +3368,35 @@ mptscsih_device_delay_show(struct class_
 static CLASS_DEVICE_ATTR(device_delay, S_IRUGO,
     mptscsih_device_delay_show, NULL);
 
+static ssize_t
+mptscsih_debug_level_show(struct class_device *cdev, char *buf)
+{
+       struct Scsi_Host *host = class_to_shost(cdev);
+       MPT_SCSI_HOST   *hd = (MPT_SCSI_HOST *)host->hostdata;
+       MPT_ADAPTER *ioc = hd->ioc;
+
+       return snprintf(buf, PAGE_SIZE, "%08xh\n", ioc->debug_level);
+}
+static ssize_t
+mptscsih_debug_level_store(struct class_device *cdev, const char *buf,
+                                                               size_t count)
+{
+       struct Scsi_Host *host = class_to_shost(cdev);
+       MPT_SCSI_HOST   *hd = (MPT_SCSI_HOST *)host->hostdata;
+       MPT_ADAPTER *ioc = hd->ioc;
+       int val = 0;
+
+       if (sscanf(buf, "%x", &val) != 1)
+               return -EINVAL;
+
+       ioc->debug_level = val;
+       printk(MYIOC_s_INFO_FMT "debug_level=%08xh\n",
+                               ioc->name, ioc->debug_level);
+       return strlen(buf);
+}
+static CLASS_DEVICE_ATTR(debug_level, S_IRUGO | S_IWUSR,
+    mptscsih_debug_level_show, mptscsih_debug_level_store);
+
 struct class_device_attribute *mptscsih_host_attrs[] = {
        &class_device_attr_version_fw,
        &class_device_attr_version_bios,
@@ -3336,6 +3409,7 @@ struct class_device_attribute *mptscsih_
        &class_device_attr_board_tracer,
        &class_device_attr_io_delay,
        &class_device_attr_device_delay,
+       &class_device_attr_debug_level,
        NULL,
 };
 EXPORT_SYMBOL(mptscsih_host_attrs);

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to