On 3/24/21 3:41 PM, Joe Perches wrote: > On Tue, 2021-03-23 at 10:27 -0700, lduncan@xxxxxxxx wrote: >> From: Lee Duncan <lduncan@xxxxxxxx> >> >> Commit b43abcbbd5b1 ("scsi: fnic: Ratelimit printks to avoid >> looding when vlan is not set by the switch.i") added >> printk_ratelimit() in front of a couple of debug-mode >> messages, to reduce logging overrun when debugging the >> driver. The code: >> >>> if (printk_ratelimit()) >>> FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, >>> "Start VLAN Discovery\n"); >> >> ends up calling printk_ratelimit() quite often, triggering >> many kernel messages about callbacks being surpressed. >> >> The fix is to decompose FNIC_FCS_DBG(), then change the order >> of checks so that printk_ratelimit() is only called if >> driver debugging is enabled. > > Please make sure to cc the fnic maintainers when submitting patches > to their drivers. > > $ ./scripts/get_maintainer.pl drivers/scsi/fnic/ > Satish Kharat <satishkh@xxxxxxxxx> (supporter:CISCO FCOE HBA DRIVER) > Sesidhar Baddela <sebaddel@xxxxxxxxx> (supporter:CISCO FCOE HBA DRIVER) > Karan Tilak Kumar <kartilak@xxxxxxxxx> (supporter:CISCO FCOE HBA DRIVER) > "James E.J. Bottomley" <jejb@xxxxxxxxxxxxx> (maintainer:SCSI SUBSYSTEM) > "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> (maintainer:SCSI SUBSYSTEM) > linux-scsi@xxxxxxxxxxxxxxx (open list:CISCO FCOE HBA DRIVER) > linux-kernel@xxxxxxxxxxxxxxx (open list) > > > My preference would be to rewrite the FNIC_<FOO>_DBG macros to use > a single fnic_dbg macro and add a new fnic_dbg_ratelimited macro. > > Something like the below: > > This converts a few uses at KERN_INFO to KERN_DEBUG, only uses fnic > and adds a macro concatenation instead of multiple macros. > > Miscellanea: > > o Add missing newlines > o Coalesce formats > o Align arguments > > --- > > compile tested only > > drivers/scsi/fnic/fnic.h | 45 +++---- > drivers/scsi/fnic/fnic_fcs.c | 92 +++++--------- > drivers/scsi/fnic/fnic_isr.c | 9 +- > drivers/scsi/fnic/fnic_main.c | 9 +- > drivers/scsi/fnic/fnic_scsi.c | 280 ++++++++++++++++-------------------------- > 5 files changed, 162 insertions(+), 273 deletions(-) > > diff --git a/drivers/scsi/fnic/fnic.h b/drivers/scsi/fnic/fnic.h > index 69f373b53132..f12cd6ed9296 100644 > --- a/drivers/scsi/fnic/fnic.h > +++ b/drivers/scsi/fnic/fnic.h > @@ -130,36 +130,27 @@ > extern unsigned int fnic_log_level; > extern unsigned int io_completions; > > -#define FNIC_MAIN_LOGGING 0x01 > -#define FNIC_FCS_LOGGING 0x02 > -#define FNIC_SCSI_LOGGING 0x04 > -#define FNIC_ISR_LOGGING 0x08 > - > -#define FNIC_CHECK_LOGGING(LEVEL, CMD) \ > -do { \ > - if (unlikely(fnic_log_level & LEVEL)) \ > - do { \ > - CMD; \ > - } while (0); \ > +#define FNIC_DBG_MAIN 0x01 > +#define FNIC_DBG_FCS 0x02 > +#define FNIC_DBG_SCSI 0x04 > +#define FNIC_DBG_ISR 0x08 > + > +#define fnic_dbg(fnic, TYPE, fmt, ...) \ > +do { \ > + if (unlikely(fnic_log_level & FNIC_DBG_##TYPE)) \ > + shost_printk(KERN_DEBUG, (fnic)->lport->host, \ > + fmt, ##__VA_ARGS__); \ > } while (0) > > -#define FNIC_MAIN_DBG(kern_level, host, fmt, args...) \ > - FNIC_CHECK_LOGGING(FNIC_MAIN_LOGGING, \ > - shost_printk(kern_level, host, fmt, ##args);) > - > -#define FNIC_FCS_DBG(kern_level, host, fmt, args...) \ > - FNIC_CHECK_LOGGING(FNIC_FCS_LOGGING, \ > - shost_printk(kern_level, host, fmt, ##args);) > - > -#define FNIC_SCSI_DBG(kern_level, host, fmt, args...) \ > - FNIC_CHECK_LOGGING(FNIC_SCSI_LOGGING, \ > - shost_printk(kern_level, host, fmt, ##args);) > - > -#define FNIC_ISR_DBG(kern_level, host, fmt, args...) \ > - FNIC_CHECK_LOGGING(FNIC_ISR_LOGGING, \ > - shost_printk(kern_level, host, fmt, ##args);) > +#define fnic_dbg_ratelimited(fnic, TYPE, fmt, ...) \ > +do { \ > + if (unlikely(fnic_log_level & FNIC_DBG_##TYPE) && \ > + printk_ratelimit()) \ > + shost_printk(KERN_DEBUG, (fnic)->lport->host, \ > + fmt, ##__VA_ARGS__); \ > +} while (0) > > -#define FNIC_MAIN_NOTE(kern_level, host, fmt, args...) \ > +#define FNIC_MAIN_NOTE(kern_level, host, fmt, args...) \ > shost_printk(kern_level, host, fmt, ##args) > > extern const char *fnic_state_str[]; > diff --git a/drivers/scsi/fnic/fnic_fcs.c b/drivers/scsi/fnic/fnic_fcs.c > index 881c4823d7e2..81eb278ea025 100644 > --- a/drivers/scsi/fnic/fnic_fcs.c > +++ b/drivers/scsi/fnic/fnic_fcs.c > @@ -75,9 +75,8 @@ void fnic_handle_link(struct work_struct *work) > atomic64_set(&fnic->fnic_stats.misc_stats.current_port_speed, > new_port_speed); > if (old_port_speed != new_port_speed) > - FNIC_MAIN_DBG(KERN_INFO, fnic->lport->host, > - "Current vnic speed set to : %llu\n", > - new_port_speed); > + fnic_dbg(fnic, MAIN, "Current vnic speed set to: %llu\n", > + new_port_speed); > > switch (vnic_dev_port_speed(fnic->vdev)) { > case DCEM_PORTSPEED_10G: > @@ -125,8 +124,7 @@ void fnic_handle_link(struct work_struct *work) > "Link Status:UP_DOWN_UP", > strlen("Link_Status:UP_DOWN_UP") > ); > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "link down\n"); > + fnic_dbg(fnic, FCS, "link down\n"); > fcoe_ctlr_link_down(&fnic->ctlr); > if (fnic->config.flags & VFCF_FIP_CAPABLE) { > /* start FCoE VLAN discovery */ > @@ -140,8 +138,7 @@ void fnic_handle_link(struct work_struct *work) > fnic_fcoe_send_vlan_req(fnic); > return; > } > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "link up\n"); > + fnic_dbg(fnic, FCS, "link up\n"); > fcoe_ctlr_link_up(&fnic->ctlr); > } else { > /* UP -> UP */ > @@ -164,7 +161,7 @@ void fnic_handle_link(struct work_struct *work) > fnic_fcoe_send_vlan_req(fnic); > return; > } > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, "link up\n"); > + fnic_dbg(fnic, FCS, "link up\n"); > fnic_fc_trace_set_data(fnic->lport->host->host_no, FNIC_FC_LE, > "Link Status: DOWN_UP", strlen("Link Status: DOWN_UP")); > fcoe_ctlr_link_up(&fnic->ctlr); > @@ -172,14 +169,14 @@ void fnic_handle_link(struct work_struct *work) > /* UP -> DOWN */ > fnic->lport->host_stats.link_failure_count++; > spin_unlock_irqrestore(&fnic->fnic_lock, flags); > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, "link down\n"); > + fnic_dbg(fnic, FCS, "link down\n"); > fnic_fc_trace_set_data( > fnic->lport->host->host_no, FNIC_FC_LE, > "Link Status: UP_DOWN", > strlen("Link Status: UP_DOWN")); > if (fnic->config.flags & VFCF_FIP_CAPABLE) { > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "deleting fip-timer during link-down\n"); > + fnic_dbg(fnic, FCS, > + "deleting fip-timer during link-down\n"); > del_timer_sync(&fnic->fip_timer); > } > fcoe_ctlr_link_down(&fnic->ctlr); > @@ -281,13 +278,12 @@ void fnic_handle_event(struct work_struct *work) > spin_lock_irqsave(&fnic->fnic_lock, flags); > break; > case FNIC_EVT_START_FCF_DISC: > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "Start FCF Discovery\n"); > + fnic_dbg(fnic, FCS, "Start FCF Discovery\n"); > fnic_fcoe_start_fcf_disc(fnic); > break; > default: > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "Unknown event 0x%x\n", fevt->event); > + fnic_dbg(fnic, FCS, "Unknown event 0x%x\n", > + fevt->event); > break; > } > kfree(fevt); > @@ -380,9 +376,7 @@ static void fnic_fcoe_send_vlan_req(struct fnic *fnic) > fnic_fcoe_reset_vlans(fnic); > fnic->set_vlan(fnic, 0); > > - if (printk_ratelimit()) > - FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, > - "Sending VLAN request...\n"); > + fnic_dbg_ratelimited(fnic, FCS, "Sending VLAN request...\n"); > > skb = dev_alloc_skb(sizeof(struct fip_vlan)); > if (!skb) > @@ -434,14 +428,12 @@ static void fnic_fcoe_process_vlan_resp(struct fnic *fnic, struct sk_buff *skb) > u64 sol_time; > unsigned long flags; > > - FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, > - "Received VLAN response...\n"); > + fnic_dbg(fnic, FCS, "Received VLAN response...\n"); > > fiph = (struct fip_header *) skb->data; > > - FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, > - "Received VLAN response... OP 0x%x SUB_OP 0x%x\n", > - ntohs(fiph->fip_op), fiph->fip_subcode); > + fnic_dbg(fnic, FCS, "Received VLAN response... OP 0x%x SUB_OP 0x%x\n", > + ntohs(fiph->fip_op), fiph->fip_subcode); > > rlen = ntohs(fiph->fip_dl_len) * 4; > fnic_fcoe_reset_vlans(fnic); > @@ -474,8 +466,7 @@ static void fnic_fcoe_process_vlan_resp(struct fnic *fnic, struct sk_buff *skb) > if (list_empty(&fnic->vlans)) { > /* retry from timer */ > atomic64_inc(&fnic_stats->vlan_stats.resp_withno_vlanID); > - FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, > - "No VLAN descriptors in FIP VLAN response\n"); > + fnic_dbg(fnic, FCS, "No VLAN descriptors in FIP VLAN response\n"); > spin_unlock_irqrestore(&fnic->vlans_lock, flags); > goto out; > } > @@ -732,7 +723,7 @@ void fnic_update_mac_locked(struct fnic *fnic, u8 *new) > new = ctl; > if (ether_addr_equal(data, new)) > return; > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, "update_mac %pM\n", new); > + fnic_dbg(fnic, FCS, "update_mac %pM\n", new); > if (!is_zero_ether_addr(data) && !ether_addr_equal(data, ctl)) > vnic_dev_del_addr(fnic->vdev, data); > memcpy(data, new, ETH_ALEN); > @@ -774,8 +765,7 @@ void fnic_set_port_id(struct fc_lport *lport, u32 port_id, struct fc_frame *fp) > u8 *mac; > int ret; > > - FNIC_FCS_DBG(KERN_DEBUG, lport->host, "set port_id %x fp %p\n", > - port_id, fp); > + fnic_dbg(fnic, FCS, "set port_id %x fp %p\n", port_id, fp); > > /* > * If we're clearing the FC_ID, change to use the ctl_src_addr. > @@ -801,10 +791,8 @@ void fnic_set_port_id(struct fc_lport *lport, u32 port_id, struct fc_frame *fp) > if (fnic->state == FNIC_IN_ETH_MODE || fnic->state == FNIC_IN_FC_MODE) > fnic->state = FNIC_IN_ETH_TRANS_FC_MODE; > else { > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "Unexpected fnic state %s while" > - " processing flogi resp\n", > - fnic_state_to_str(fnic->state)); > + fnic_dbg(fnic, FCS, "Unexpected fnic state %s while processing flogi resp\n", > + fnic_state_to_str(fnic->state)); > spin_unlock_irq(&fnic->fnic_lock); > return; > } > @@ -881,8 +869,7 @@ static void fnic_rq_cmpl_frame_recv(struct vnic_rq *rq, struct cq_desc > skb_trim(skb, bytes_written); > if (!fcs_ok) { > atomic64_inc(&fnic_stats->misc_stats.frame_errors); > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "fcs error. dropping packet.\n"); > + fnic_dbg(fnic, FCS, "fcs error - dropping packet\n"); > goto drop; > } > if (fnic_import_rq_eth_pkt(fnic, skb)) > @@ -897,12 +884,9 @@ static void fnic_rq_cmpl_frame_recv(struct vnic_rq *rq, struct cq_desc > > if (!fcs_ok || packet_error || !fcoe_fc_crc_ok || fcoe_enc_error) { > atomic64_inc(&fnic_stats->misc_stats.frame_errors); > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic rq_cmpl fcoe x%x fcsok x%x" > - " pkterr x%x fcoe_fc_crc_ok x%x, fcoe_enc_err" > - " x%x\n", > - fcoe, fcs_ok, packet_error, > - fcoe_fc_crc_ok, fcoe_enc_error); > + fnic_dbg(fnic, FCS, "fnic rq_cmpl fcoe x%x fcsok x%x pkterr x%x fcoe_fc_crc_ok x%x, fcoe_enc_err x%x\n", > + fcoe, fcs_ok, packet_error, > + fcoe_fc_crc_ok, fcoe_enc_error); > goto drop; > } > > @@ -978,8 +962,7 @@ int fnic_alloc_rq_frame(struct vnic_rq *rq) > len = FC_FRAME_HEADROOM + FC_MAX_FRAME + FC_FRAME_TAILROOM; > skb = dev_alloc_skb(len); > if (!skb) { > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "Unable to allocate RQ sk_buff\n"); > + fnic_dbg(fnic, FCS, "Unable to allocate RQ sk_buff\n"); > return -ENOMEM; > } > skb_reset_mac_header(skb); > @@ -1343,29 +1326,23 @@ void fnic_handle_fip_timer(struct fnic *fnic) > if (list_empty(&fnic->vlans)) { > spin_unlock_irqrestore(&fnic->vlans_lock, flags); > /* no vlans available, try again */ > - if (printk_ratelimit()) > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "Start VLAN Discovery\n"); > + fnic_dbg_ratelimited(fnic, FCS, "Start VLAN Discovery\n"); > fnic_event_enq(fnic, FNIC_EVT_START_VLAN_DISC); > return; > } > > vlan = list_first_entry(&fnic->vlans, struct fcoe_vlan, list); > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "fip_timer: vlan %d state %d sol_count %d\n", > - vlan->vid, vlan->state, vlan->sol_count); > + fnic_dbg(fnic, FCS, "fip_timer: vlan %d state %d sol_count %d\n", > + vlan->vid, vlan->state, vlan->sol_count); > switch (vlan->state) { > case FIP_VLAN_USED: > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "FIP VLAN is selected for FC transaction\n"); > + fnic_dbg(fnic, FCS, "FIP VLAN is selected for FC transaction\n"); > spin_unlock_irqrestore(&fnic->vlans_lock, flags); > break; > case FIP_VLAN_FAILED: > spin_unlock_irqrestore(&fnic->vlans_lock, flags); > /* if all vlans are in failed state, restart vlan disc */ > - if (printk_ratelimit()) > - FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, > - "Start VLAN Discovery\n"); > + fnic_dbg_ratelimited(fnic, FCS, "Start VLAN Discovery\n"); > fnic_event_enq(fnic, FNIC_EVT_START_VLAN_DISC); > break; > case FIP_VLAN_SENT: > @@ -1374,9 +1351,8 @@ void fnic_handle_fip_timer(struct fnic *fnic) > * no response on this vlan, remove from the list. > * Try the next vlan > */ > - FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, > - "Dequeue this VLAN ID %d from list\n", > - vlan->vid); > + fnic_dbg(fnic, FCS, "Dequeue this VLAN ID %d from list\n", > + vlan->vid); > list_del(&vlan->list); > kfree(vlan); > vlan = NULL; > @@ -1384,9 +1360,7 @@ void fnic_handle_fip_timer(struct fnic *fnic) > /* we exhausted all vlans, restart vlan disc */ > spin_unlock_irqrestore(&fnic->vlans_lock, > flags); > - FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, > - "fip_timer: vlan list empty, " > - "trigger vlan disc\n"); > + fnic_dbg(fnic, FCS, "fip_timer: vlan list empty, trigger vlan disc\n"); > fnic_event_enq(fnic, FNIC_EVT_START_VLAN_DISC); > return; > } > diff --git a/drivers/scsi/fnic/fnic_isr.c b/drivers/scsi/fnic/fnic_isr.c > index 2fb2731f50fb..dbd86ddd3418 100644 > --- a/drivers/scsi/fnic/fnic_isr.c > +++ b/drivers/scsi/fnic/fnic_isr.c > @@ -263,8 +263,7 @@ int fnic_set_intr_mode(struct fnic *fnic) > fnic->intr_count = vecs; > fnic->err_intr_offset = FNIC_MSIX_ERR_NOTIFY; > > - FNIC_ISR_DBG(KERN_DEBUG, fnic->lport->host, > - "Using MSI-X Interrupts\n"); > + fnic_dbg(fnic, ISR, "Using MSI-X Interrupts\n"); > vnic_dev_set_intr_mode(fnic->vdev, > VNIC_DEV_INTR_MODE_MSIX); > return 0; > @@ -289,8 +288,7 @@ int fnic_set_intr_mode(struct fnic *fnic) > fnic->intr_count = 1; > fnic->err_intr_offset = 0; > > - FNIC_ISR_DBG(KERN_DEBUG, fnic->lport->host, > - "Using MSI Interrupts\n"); > + fnic_dbg(fnic, ISR, "Using MSI Interrupts\n"); > vnic_dev_set_intr_mode(fnic->vdev, VNIC_DEV_INTR_MODE_MSI); > > return 0; > @@ -315,8 +313,7 @@ int fnic_set_intr_mode(struct fnic *fnic) > fnic->cq_count = 3; > fnic->intr_count = 3; > > - FNIC_ISR_DBG(KERN_DEBUG, fnic->lport->host, > - "Using Legacy Interrupts\n"); > + fnic_dbg(fnic, ISR, "Using Legacy Interrupts\n"); > vnic_dev_set_intr_mode(fnic->vdev, VNIC_DEV_INTR_MODE_INTX); > > return 0; > diff --git a/drivers/scsi/fnic/fnic_main.c b/drivers/scsi/fnic/fnic_main.c > index 186c3ab4456b..dd6bb5643ebb 100644 > --- a/drivers/scsi/fnic/fnic_main.c > +++ b/drivers/scsi/fnic/fnic_main.c > @@ -220,9 +220,7 @@ static struct fc_host_statistics *fnic_get_stats(struct Scsi_Host *host) > spin_unlock_irqrestore(&fnic->fnic_lock, flags); > > if (ret) { > - FNIC_MAIN_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic: Get vnic stats failed" > - " 0x%x", ret); > + fnic_dbg(fnic, MAIN, "fnic: Get vnic stats failed 0x%x\n", ret); > return stats; > } > vs = fnic->stats; > @@ -332,9 +330,8 @@ static void fnic_reset_host_stats(struct Scsi_Host *host) > spin_unlock_irqrestore(&fnic->fnic_lock, flags); > > if (ret) { > - FNIC_MAIN_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic: Reset vnic stats failed" > - " 0x%x", ret); > + fnic_dbg(fnic, MAIN, "fnic: Reset vnic stats failed 0x%x\n", > + ret); > return; > } > fnic->stats_reset_time = jiffies; > diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c > index e619a82f921b..3809e57792aa 100644 > --- a/drivers/scsi/fnic/fnic_scsi.c > +++ b/drivers/scsi/fnic/fnic_scsi.c > @@ -240,12 +240,10 @@ int fnic_fw_reset_handler(struct fnic *fnic) > > if (!ret) { > atomic64_inc(&fnic->fnic_stats.reset_stats.fw_resets); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Issued fw reset\n"); > + fnic_dbg(fnic, SCSI, "Issued fw reset\n"); > } else { > fnic_clear_state_flags(fnic, FNIC_FLAGS_FWRESET); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Failed to issue fw reset\n"); > + fnic_dbg(fnic, SCSI, "Failed to issue fw reset\n"); > } > > return ret; > @@ -288,15 +286,13 @@ int fnic_flogi_reg_handler(struct fnic *fnic, u32 fc_id) > fc_id, gw_mac, > fnic->data_src_addr, > lp->r_a_tov, lp->e_d_tov); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "FLOGI FIP reg issued fcid %x src %pM dest %pM\n", > - fc_id, fnic->data_src_addr, gw_mac); > + fnic_dbg(fnic, SCSI, "FLOGI FIP reg issued fcid %x src %pM dest %pM\n", > + fc_id, fnic->data_src_addr, gw_mac); > } else { > fnic_queue_wq_copy_desc_flogi_reg(wq, SCSI_NO_TAG, > format, fc_id, gw_mac); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "FLOGI reg issued fcid %x map %d dest %pM\n", > - fc_id, fnic->ctlr.map_dest, gw_mac); > + fnic_dbg(fnic, SCSI, "FLOGI reg issued fcid %x map %d dest %pM\n", > + fc_id, fnic->ctlr.map_dest, gw_mac); > } > > atomic64_inc(&fnic->fnic_stats.fw_stats.active_fw_reqs); > @@ -373,8 +369,8 @@ static inline int fnic_queue_wq_copy_desc(struct fnic *fnic, > > if (unlikely(!vnic_wq_copy_desc_avail(wq))) { > spin_unlock_irqrestore(&fnic->wq_copy_lock[0], intr_flags); > - FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host, > - "fnic_queue_wq_copy_desc failure - no descriptors\n"); > + fnic_dbg(fnic, SCSI, "%s: failure - no descriptors\n", > + __func__); > atomic64_inc(&misc_stats->io_cpwq_alloc_failures); > return SCSI_MLQUEUE_HOST_BUSY; > } > @@ -445,8 +441,7 @@ static int fnic_queuecommand_lck(struct scsi_cmnd *sc, void (*done)(struct scsi_ > > rport = starget_to_rport(scsi_target(sc->device)); > if (!rport) { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "returning DID_NO_CONNECT for IO as rport is NULL\n"); > + fnic_dbg(fnic, SCSI, "returning DID_NO_CONNECT for IO as rport is NULL\n"); > sc->result = DID_NO_CONNECT << 16; > done(sc); > return 0; > @@ -454,8 +449,7 @@ static int fnic_queuecommand_lck(struct scsi_cmnd *sc, void (*done)(struct scsi_ > > ret = fc_remote_port_chkready(rport); > if (ret) { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "rport is not ready\n"); > + fnic_dbg(fnic, SCSI, "rport is not ready\n"); > atomic64_inc(&fnic_stats->misc_stats.rport_not_ready); > sc->result = ret; > done(sc); > @@ -464,9 +458,8 @@ static int fnic_queuecommand_lck(struct scsi_cmnd *sc, void (*done)(struct scsi_ > > rp = rport->dd_data; > if (!rp || rp->rp_state == RPORT_ST_DELETE) { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "rport 0x%x removed, returning DID_NO_CONNECT\n", > - rport->port_id); > + fnic_dbg(fnic, SCSI, "rport 0x%x removed, returning DID_NO_CONNECT\n", > + rport->port_id); > > atomic64_inc(&fnic_stats->misc_stats.rport_not_ready); > sc->result = DID_NO_CONNECT<<16; > @@ -475,9 +468,8 @@ static int fnic_queuecommand_lck(struct scsi_cmnd *sc, void (*done)(struct scsi_ > } > > if (rp->rp_state != RPORT_ST_READY) { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "rport 0x%x in state 0x%x, returning DID_IMM_RETRY\n", > - rport->port_id, rp->rp_state); > + fnic_dbg(fnic, SCSI, "rport 0x%x in state 0x%x, returning DID_IMM_RETRY\n", > + rport->port_id, rp->rp_state); > > sc->result = DID_IMM_RETRY << 16; > done(sc); > @@ -650,15 +642,12 @@ static int fnic_fcpio_fw_reset_cmpl_handler(struct fnic *fnic, > if (fnic->state == FNIC_IN_FC_TRANS_ETH_MODE) { > /* Check status of reset completion */ > if (!hdr_status) { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "reset cmpl success\n"); > + fnic_dbg(fnic, SCSI, "reset cmpl success\n"); > /* Ready to send flogi out */ > fnic->state = FNIC_IN_ETH_MODE; > } else { > - FNIC_SCSI_DBG(KERN_DEBUG, > - fnic->lport->host, > - "fnic fw_reset : failed %s\n", > - fnic_fcpio_status_to_str(hdr_status)); > + fnic_dbg(fnic, SCSI, "fnic fw_reset : failed %s\n", > + fnic_fcpio_status_to_str(hdr_status)); > > /* > * Unable to change to eth mode, cannot send out flogi > @@ -671,10 +660,8 @@ static int fnic_fcpio_fw_reset_cmpl_handler(struct fnic *fnic, > ret = -1; > } > } else { > - FNIC_SCSI_DBG(KERN_DEBUG, > - fnic->lport->host, > - "Unexpected state %s while processing" > - " reset cmpl\n", fnic_state_to_str(fnic->state)); > + fnic_dbg(fnic, SCSI, "Unexpected state %s while processing reset cmpl\n", > + fnic_state_to_str(fnic->state)); > atomic64_inc(&reset_stats->fw_reset_failures); > ret = -1; > } > @@ -725,22 +712,17 @@ static int fnic_fcpio_flogi_reg_cmpl_handler(struct fnic *fnic, > > /* Check flogi registration completion status */ > if (!hdr_status) { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "flog reg succeeded\n"); > + fnic_dbg(fnic, SCSI, "flog reg succeeded\n"); > fnic->state = FNIC_IN_FC_MODE; > } else { > - FNIC_SCSI_DBG(KERN_DEBUG, > - fnic->lport->host, > - "fnic flogi reg :failed %s\n", > - fnic_fcpio_status_to_str(hdr_status)); > + fnic_dbg(fnic, SCSI, "fnic flogi reg :failed %s\n", > + fnic_fcpio_status_to_str(hdr_status)); > fnic->state = FNIC_IN_ETH_MODE; > ret = -1; > } > } else { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Unexpected fnic state %s while" > - " processing flogi reg completion\n", > - fnic_state_to_str(fnic->state)); > + fnic_dbg(fnic, SCSI, "Unexpected fnic state %s while processing flogi reg completion\n", > + fnic_state_to_str(fnic->state)); > ret = -1; > } > > @@ -901,14 +883,11 @@ static void fnic_fcpio_icmnd_cmpl_handler(struct fnic *fnic, > if(FCPIO_ABORTED == hdr_status) > CMD_FLAGS(sc) |= FNIC_IO_ABORTED; > > - FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host, > - "icmnd_cmpl abts pending " > - "hdr status = %s tag = 0x%x sc = 0x%p " > - "scsi_status = %x residual = %d\n", > - fnic_fcpio_status_to_str(hdr_status), > - id, sc, > - icmnd_cmpl->scsi_status, > - icmnd_cmpl->residual); > + fnic_dbg(fnic, SCSI, "icmnd_cmpl abts pending hdr status = %s tag = 0x%x sc = 0x%p scsi_status = %x residual = %d\n", > + fnic_fcpio_status_to_str(hdr_status), > + id, sc, > + icmnd_cmpl->scsi_status, > + icmnd_cmpl->residual); > return; > } > > @@ -1114,9 +1093,8 @@ static void fnic_fcpio_itmf_cmpl_handler(struct fnic *fnic, > if ((id & FNIC_TAG_ABORT) && (id & FNIC_TAG_DEV_RST)) { > /* Abort and terminate completion of device reset req */ > /* REVISIT : Add asserts about various flags */ > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "dev reset abts cmpl recd. id %x status %s\n", > - id, fnic_fcpio_status_to_str(hdr_status)); > + fnic_dbg(fnic, SCSI, "dev reset abts cmpl recd. id %x status %s\n", > + id, fnic_fcpio_status_to_str(hdr_status)); > CMD_STATE(sc) = FNIC_IOREQ_ABTS_COMPLETE; > CMD_ABTS_STATUS(sc) = hdr_status; > CMD_FLAGS(sc) |= FNIC_DEV_RST_DONE; > @@ -1136,9 +1114,8 @@ static void fnic_fcpio_itmf_cmpl_handler(struct fnic *fnic, > &term_stats->terminate_fw_timeouts); > break; > case FCPIO_ITMF_REJECTED: > - FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host, > - "abort reject recd. id %d\n", > - (int)(id & FNIC_TAG_MASK)); > + fnic_dbg(fnic, SCSI, "abort reject recd. id %d\n", > + (int)(id & FNIC_TAG_MASK)); > break; > case FCPIO_IO_NOT_FOUND: > if (CMD_FLAGS(sc) & FNIC_IO_ABTS_ISSUED) > @@ -1171,10 +1148,9 @@ static void fnic_fcpio_itmf_cmpl_handler(struct fnic *fnic, > if (!(CMD_FLAGS(sc) & (FNIC_IO_ABORTED | FNIC_IO_DONE))) > atomic64_inc(&misc_stats->no_icmnd_itmf_cmpls); > > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "abts cmpl recd. id %d status %s\n", > - (int)(id & FNIC_TAG_MASK), > - fnic_fcpio_status_to_str(hdr_status)); > + fnic_dbg(fnic, SCSI, "abts cmpl recd. id %d status %s\n", > + (int)(id & FNIC_TAG_MASK), > + fnic_fcpio_status_to_str(hdr_status)); > > /* > * If scsi_eh thread is blocked waiting for abts to complete, > @@ -1185,8 +1161,7 @@ static void fnic_fcpio_itmf_cmpl_handler(struct fnic *fnic, > complete(io_req->abts_done); > spin_unlock_irqrestore(io_lock, flags); > } else { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "abts cmpl, completing IO\n"); > + fnic_dbg(fnic, SCSI, "abts cmpl, completing IO\n"); > CMD_SP(sc) = NULL; > sc->result = (DID_ERROR << 16); > > @@ -1227,11 +1202,9 @@ static void fnic_fcpio_itmf_cmpl_handler(struct fnic *fnic, > jiffies_to_msecs(jiffies - start_time), > desc, 0, > (((u64)CMD_FLAGS(sc) << 32) | CMD_STATE(sc))); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Terminate pending " > - "dev reset cmpl recd. id %d status %s\n", > - (int)(id & FNIC_TAG_MASK), > - fnic_fcpio_status_to_str(hdr_status)); > + fnic_dbg(fnic, SCSI, "Terminate pending dev reset cmpl recd. id %d status %s\n", > + (int)(id & FNIC_TAG_MASK), > + fnic_fcpio_status_to_str(hdr_status)); > return; > } > if (CMD_FLAGS(sc) & FNIC_DEV_RST_TIMED_OUT) { > @@ -1242,19 +1215,16 @@ static void fnic_fcpio_itmf_cmpl_handler(struct fnic *fnic, > jiffies_to_msecs(jiffies - start_time), > desc, 0, > (((u64)CMD_FLAGS(sc) << 32) | CMD_STATE(sc))); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "dev reset cmpl recd after time out. " > - "id %d status %s\n", > - (int)(id & FNIC_TAG_MASK), > - fnic_fcpio_status_to_str(hdr_status)); > + fnic_dbg(fnic, SCSI, "dev reset cmpl recd after time out. id %d status %s\n", > + (int)(id & FNIC_TAG_MASK), > + fnic_fcpio_status_to_str(hdr_status)); > return; > } > CMD_STATE(sc) = FNIC_IOREQ_CMD_COMPLETE; > CMD_FLAGS(sc) |= FNIC_DEV_RST_DONE; > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "dev reset cmpl recd. id %d status %s\n", > - (int)(id & FNIC_TAG_MASK), > - fnic_fcpio_status_to_str(hdr_status)); > + fnic_dbg(fnic, SCSI, "dev reset cmpl recd. id %d status %s\n", > + (int)(id & FNIC_TAG_MASK), > + fnic_fcpio_status_to_str(hdr_status)); > if (io_req->dr_done) > complete(io_req->dr_done); > spin_unlock_irqrestore(io_lock, flags); > @@ -1313,9 +1283,8 @@ static int fnic_fcpio_cmpl_handler(struct vnic_dev *vdev, > break; > > default: > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "firmware completion type %d\n", > - desc->hdr.type); > + fnic_dbg(fnic, SCSI, "firmware completion type %d\n", > + desc->hdr.type); > break; > } > > @@ -1419,10 +1388,9 @@ static void fnic_cleanup_io(struct fnic *fnic, int exclude_id) > mempool_free(io_req, fnic->io_req_pool); > > sc->result = DID_TRANSPORT_DISRUPTED << 16; > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "%s: tag:0x%x : sc:0x%p duration = %lu DID_TRANSPORT_DISRUPTED\n", > - __func__, sc->request->tag, sc, > - (jiffies - start_time)); > + fnic_dbg(fnic, SCSI, "%s: tag:0x%x : sc:0x%p duration = %lu DID_TRANSPORT_DISRUPTED\n", > + __func__, sc->request->tag, sc, > + (jiffies - start_time)); > > if (atomic64_read(&fnic->io_cmpl_skip)) > atomic64_dec(&fnic->io_cmpl_skip); > @@ -1495,8 +1463,7 @@ void fnic_wq_copy_cleanup_handler(struct vnic_wq_copy *wq, > > wq_copy_cleanup_scsi_cmd: > sc->result = DID_NO_CONNECT << 16; > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, "wq_copy_cleanup_handler:" > - " DID_NO_CONNECT\n"); > + fnic_dbg(fnic, SCSI, "wq_copy_cleanup_handler: DID_NO_CONNECT\n"); > > if (sc->scsi_done) { > FNIC_TRACE(fnic_wq_copy_cleanup_handler, > @@ -1537,8 +1504,7 @@ static inline int fnic_queue_abort_io_req(struct fnic *fnic, int tag, > if (!vnic_wq_copy_desc_avail(wq)) { > spin_unlock_irqrestore(&fnic->wq_copy_lock[0], flags); > atomic_dec(&fnic->in_flight); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic_queue_abort_io_req: failure: no descriptors\n"); > + fnic_dbg(fnic, SCSI, "%s: failure: no descriptors\n", __func__); > atomic64_inc(&misc_stats->abts_cpwq_alloc_failures); > return 1; > } > @@ -1572,10 +1538,7 @@ static void fnic_rport_exch_reset(struct fnic *fnic, u32 port_id) > struct scsi_lun fc_lun; > enum fnic_ioreq_state old_ioreq_state; > > - FNIC_SCSI_DBG(KERN_DEBUG, > - fnic->lport->host, > - "fnic_rport_exch_reset called portid 0x%06x\n", > - port_id); > + fnic_dbg(fnic, SCSI, "%s: called portid 0x%06x\n", __func__, port_id); > > if (fnic->in_remove) > return; > @@ -1599,9 +1562,8 @@ static void fnic_rport_exch_reset(struct fnic *fnic, u32 port_id) > > if ((CMD_FLAGS(sc) & FNIC_DEVICE_RESET) && > (!(CMD_FLAGS(sc) & FNIC_DEV_RST_ISSUED))) { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic_rport_exch_reset dev rst not pending sc 0x%p\n", > - sc); > + fnic_dbg(fnic, SCSI, "%s: dev rst not pending sc 0x%p\n", > + __func__, sc); > spin_unlock_irqrestore(io_lock, flags); > continue; > } > @@ -1634,15 +1596,13 @@ static void fnic_rport_exch_reset(struct fnic *fnic, u32 port_id) > if (CMD_FLAGS(sc) & FNIC_DEVICE_RESET) { > atomic64_inc(&reset_stats->device_reset_terminates); > abt_tag = (tag | FNIC_TAG_DEV_RST); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic_rport_exch_reset dev rst sc 0x%p\n", > - sc); > + fnic_dbg(fnic, SCSI, "%s: dev rst sc 0x%p\n", > + __func__, sc); > } > > BUG_ON(io_req->abts_done); > > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic_rport_reset_exch: Issuing abts\n"); > + fnic_dbg(fnic, SCSI, "fnic_rport_reset_exch: Issuing abts\n"); > > spin_unlock_irqrestore(io_lock, flags); > > @@ -1713,11 +1673,9 @@ void fnic_terminate_rport_io(struct fc_rport *rport) > return; > } > fnic = lport_priv(lport); > - FNIC_SCSI_DBG(KERN_DEBUG, > - fnic->lport->host, "fnic_terminate_rport_io called" > - " wwpn 0x%llx, wwnn0x%llx, rport 0x%p, portid 0x%06x\n", > - rport->port_name, rport->node_name, rport, > - rport->port_id); > + fnic_dbg(fnic, SCSI, "%s: called wwpn 0x%llx, wwnn0x%llx, rport 0x%p, portid 0x%06x\n", > + __func__, > + rport->port_name, rport->node_name, rport, rport->port_id); > > if (fnic->in_remove) > return; > @@ -1749,9 +1707,8 @@ void fnic_terminate_rport_io(struct fc_rport *rport) > > if ((CMD_FLAGS(sc) & FNIC_DEVICE_RESET) && > (!(CMD_FLAGS(sc) & FNIC_DEV_RST_ISSUED))) { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic_terminate_rport_io dev rst not pending sc 0x%p\n", > - sc); > + fnic_dbg(fnic, SCSI, "%s: dev rst not pending sc 0x%p\n", > + __func__, sc); > spin_unlock_irqrestore(io_lock, flags); > continue; > } > @@ -1770,11 +1727,9 @@ void fnic_terminate_rport_io(struct fc_rport *rport) > fnic_ioreq_state_to_str(CMD_STATE(sc))); > } > if (!(CMD_FLAGS(sc) & FNIC_IO_ISSUED)) { > - FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host, > - "fnic_terminate_rport_io " > - "IO not yet issued %p tag 0x%x flags " > - "%x state %d\n", > - sc, tag, CMD_FLAGS(sc), CMD_STATE(sc)); > + fnic_dbg(fnic, SCSI, "%s: IO not yet issued %p tag 0x%x flags %x state %d\n", > + __func__, > + sc, tag, CMD_FLAGS(sc), CMD_STATE(sc)); > } > old_ioreq_state = CMD_STATE(sc); > CMD_STATE(sc) = FNIC_IOREQ_ABTS_PENDING; > @@ -1782,15 +1737,13 @@ void fnic_terminate_rport_io(struct fc_rport *rport) > if (CMD_FLAGS(sc) & FNIC_DEVICE_RESET) { > atomic64_inc(&reset_stats->device_reset_terminates); > abt_tag = (tag | FNIC_TAG_DEV_RST); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic_terminate_rport_io dev rst sc 0x%p\n", sc); > + fnic_dbg(fnic, SCSI, "%s: dev rst sc 0x%p\n", > + __func__, sc); > } > > BUG_ON(io_req->abts_done); > > - FNIC_SCSI_DBG(KERN_DEBUG, > - fnic->lport->host, > - "fnic_terminate_rport_io: Issuing abts\n"); > + fnic_dbg(fnic, SCSI, "%s: Issuing abts\n", __func__); > > spin_unlock_irqrestore(io_lock, flags); > > @@ -1864,10 +1817,8 @@ int fnic_abort_cmd(struct scsi_cmnd *sc) > > rport = starget_to_rport(scsi_target(sc->device)); > tag = sc->request->tag; > - FNIC_SCSI_DBG(KERN_DEBUG, > - fnic->lport->host, > - "Abort Cmd called FCID 0x%x, LUN 0x%llx TAG %x flags %x\n", > - rport->port_id, sc->device->lun, tag, CMD_FLAGS(sc)); > + fnic_dbg(fnic, SCSI, "Abort Cmd called FCID 0x%x, LUN 0x%llx TAG %x flags %x\n", > + rport->port_id, sc->device->lun, tag, CMD_FLAGS(sc)); > > CMD_FLAGS(sc) = FNIC_NO_FLAGS; > > @@ -1919,8 +1870,8 @@ int fnic_abort_cmd(struct scsi_cmnd *sc) > else > atomic64_inc(&abts_stats->abort_issued_greater_than_60_sec); > > - FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host, > - "CBD Opcode: %02x Abort issued time: %lu msec\n", sc->cmnd[0], abt_issued_time); > + fnic_dbg(fnic, SCSI, "CBD Opcode: %02x Abort issued time: %lu msec\n", > + sc->cmnd[0], abt_issued_time); > /* > * Command is still pending, need to abort it > * If the firmware completes the command after this point, > @@ -2009,8 +1960,7 @@ int fnic_abort_cmd(struct scsi_cmnd *sc) > > if (!(CMD_FLAGS(sc) & (FNIC_IO_ABORTED | FNIC_IO_DONE))) { > spin_unlock_irqrestore(io_lock, flags); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Issuing Host reset due to out of order IO\n"); > + fnic_dbg(fnic, SCSI, "Issuing Host reset due to out of order IO\n"); > > ret = FAILED; > goto fnic_abort_cmd_end; > @@ -2057,10 +2007,8 @@ int fnic_abort_cmd(struct scsi_cmnd *sc) > (u64)sc->cmnd[4] << 8 | sc->cmnd[5]), > (((u64)CMD_FLAGS(sc) << 32) | CMD_STATE(sc))); > > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Returning from abort cmd type %x %s\n", task_req, > - (ret == SUCCESS) ? > - "SUCCESS" : "FAILED"); > + fnic_dbg(fnic, SCSI, "Returning from abort cmd type %x %s\n", > + task_req, (ret == SUCCESS) ? "SUCCESS" : "FAILED"); > return ret; > } > > @@ -2090,8 +2038,7 @@ static inline int fnic_queue_dr_io_req(struct fnic *fnic, > free_wq_copy_descs(fnic, wq); > > if (!vnic_wq_copy_desc_avail(wq)) { > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "queue_dr_io_req failure - no descriptors\n"); > + fnic_dbg(fnic, SCSI, "queue_dr_io_req failure - no descriptors\n"); > atomic64_inc(&misc_stats->devrst_cpwq_alloc_failures); > ret = -EAGAIN; > goto lr_io_req_end; > @@ -2164,9 +2111,8 @@ static int fnic_clean_pending_aborts(struct fnic *fnic, > * Found IO that is still pending with firmware and > * belongs to the LUN that we are resetting > */ > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Found IO in %s on lun\n", > - fnic_ioreq_state_to_str(CMD_STATE(sc))); > + fnic_dbg(fnic, SCSI, "Found IO in %s on lun\n", > + fnic_ioreq_state_to_str(CMD_STATE(sc))); > > if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) { > spin_unlock_irqrestore(io_lock, flags); > @@ -2174,9 +2120,8 @@ static int fnic_clean_pending_aborts(struct fnic *fnic, > } > if ((CMD_FLAGS(sc) & FNIC_DEVICE_RESET) && > (!(CMD_FLAGS(sc) & FNIC_DEV_RST_ISSUED))) { > - FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host, > - "%s dev rst not pending sc 0x%p\n", __func__, > - sc); > + fnic_dbg(fnic, SCSI, "%s: dev rst not pending sc 0x%p\n", > + __func__, sc); > spin_unlock_irqrestore(io_lock, flags); > continue; > } > @@ -2200,8 +2145,8 @@ static int fnic_clean_pending_aborts(struct fnic *fnic, > abt_tag = tag; > if (CMD_FLAGS(sc) & FNIC_DEVICE_RESET) { > abt_tag |= FNIC_TAG_DEV_RST; > - FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host, > - "%s: dev rst sc 0x%p\n", __func__, sc); > + fnic_dbg(fnic, SCSI, "%s: dev rst sc 0x%p\n", > + __func__, sc); > } > > CMD_ABTS_STATUS(sc) = FCPIO_INVALID_CODE; > @@ -2356,9 +2301,8 @@ int fnic_device_reset(struct scsi_cmnd *sc) > atomic64_inc(&reset_stats->device_resets); > > rport = starget_to_rport(scsi_target(sc->device)); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Device reset called FCID 0x%x, LUN 0x%llx sc 0x%p\n", > - rport->port_id, sc->device->lun, sc); > + fnic_dbg(fnic, SCSI, "Device reset called FCID 0x%x, LUN 0x%llx sc 0x%p\n", > + rport->port_id, sc->device->lun, sc); > > if (lp->state != LPORT_ST_READY || !(lp->link_up)) > goto fnic_device_reset_end; > @@ -2407,7 +2351,7 @@ int fnic_device_reset(struct scsi_cmnd *sc) > CMD_LR_STATUS(sc) = FCPIO_INVALID_CODE; > spin_unlock_irqrestore(io_lock, flags); > > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, "TAG %x\n", tag); > + fnic_dbg(fnic, SCSI, "TAG %x\n", tag); > > /* > * issue the device reset, if enqueue failed, clean up the ioreq > @@ -2435,8 +2379,8 @@ int fnic_device_reset(struct scsi_cmnd *sc) > io_req = (struct fnic_io_req *)CMD_SP(sc); > if (!io_req) { > spin_unlock_irqrestore(io_lock, flags); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "io_req is null tag 0x%x sc 0x%p\n", tag, sc); > + fnic_dbg(fnic, SCSI, "io_req is null tag 0x%x sc 0x%p\n", > + tag, sc); > goto fnic_device_reset_end; > } > io_req->dr_done = NULL; > @@ -2449,8 +2393,7 @@ int fnic_device_reset(struct scsi_cmnd *sc) > */ > if (status == FCPIO_INVALID_CODE) { > atomic64_inc(&reset_stats->device_reset_timeouts); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Device reset timed out\n"); > + fnic_dbg(fnic, SCSI, "Device reset timed out\n"); > CMD_FLAGS(sc) |= FNIC_DEV_RST_TIMED_OUT; > spin_unlock_irqrestore(io_lock, flags); > int_to_scsilun(sc->device->lun, &fc_lun); > @@ -2477,9 +2420,8 @@ int fnic_device_reset(struct scsi_cmnd *sc) > CMD_STATE(sc) = FNIC_IOREQ_ABTS_PENDING; > io_req->abts_done = &tm_done; > spin_unlock_irqrestore(io_lock, flags); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Abort and terminate issued on Device reset " > - "tag 0x%x sc 0x%p\n", tag, sc); > + fnic_dbg(fnic, SCSI, "Abort and terminate issued on Device reset tag 0x%x sc 0x%p\n", > + tag, sc); > break; > } > } > @@ -2503,9 +2445,7 @@ int fnic_device_reset(struct scsi_cmnd *sc) > /* Completed, but not successful, clean up the io_req, return fail */ > if (status != FCPIO_SUCCESS) { > spin_lock_irqsave(io_lock, flags); > - FNIC_SCSI_DBG(KERN_DEBUG, > - fnic->lport->host, > - "Device reset completed - failed\n"); > + fnic_dbg(fnic, SCSI, "Device reset completed - failed\n"); > io_req = (struct fnic_io_req *)CMD_SP(sc); > goto fnic_device_reset_clean; > } > @@ -2520,9 +2460,7 @@ int fnic_device_reset(struct scsi_cmnd *sc) > if (fnic_clean_pending_aborts(fnic, sc, new_sc)) { > spin_lock_irqsave(io_lock, flags); > io_req = (struct fnic_io_req *)CMD_SP(sc); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Device reset failed" > - " since could not abort all IOs\n"); > + fnic_dbg(fnic, SCSI, "Device reset failed since could not abort all IOs\n"); > goto fnic_device_reset_clean; > } > > @@ -2558,10 +2496,8 @@ int fnic_device_reset(struct scsi_cmnd *sc) > if (unlikely(tag_gen_flag)) > fnic_scsi_host_end_tag(fnic, sc); > > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Returning from device reset %s\n", > - (ret == SUCCESS) ? > - "SUCCESS" : "FAILED"); > + fnic_dbg(fnic, SCSI, "Returning from device reset %s\n", > + (ret == SUCCESS) ? "SUCCESS" : "FAILED"); > > if (ret == FAILED) > atomic64_inc(&reset_stats->device_reset_failures); > @@ -2581,8 +2517,7 @@ int fnic_reset(struct Scsi_Host *shost) > fnic = lport_priv(lp); > reset_stats = &fnic->fnic_stats.reset_stats; > > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic_reset called\n"); > + fnic_dbg(fnic, SCSI, "%s: called\n", __func__); > > atomic64_inc(&reset_stats->fnic_resets); > > @@ -2592,10 +2527,8 @@ int fnic_reset(struct Scsi_Host *shost) > */ > ret = fc_lport_reset(lp); > > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "Returning from fnic reset %s\n", > - (ret == 0) ? > - "SUCCESS" : "FAILED"); > + fnic_dbg(fnic, SCSI, "Returning from fnic reset %s\n", > + (ret == 0) ? "SUCCESS" : "FAILED"); > > if (ret == 0) > atomic64_inc(&reset_stats->fnic_reset_completions); > @@ -2628,8 +2561,7 @@ int fnic_host_reset(struct scsi_cmnd *sc) > fnic->internal_reset_inprogress = true; > } else { > spin_unlock_irqrestore(&fnic->fnic_lock, flags); > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "host reset in progress skipping another host reset\n"); > + fnic_dbg(fnic, SCSI, "host reset in progress skipping another host reset\n"); > return SUCCESS; > } > spin_unlock_irqrestore(&fnic->fnic_lock, flags); > @@ -2703,10 +2635,9 @@ void fnic_scsi_abort_io(struct fc_lport *lp) > > spin_lock_irqsave(&fnic->fnic_lock, flags); > fnic->remove_wait = NULL; > - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, > - "fnic_scsi_abort_io %s\n", > - (fnic->state == FNIC_IN_ETH_MODE) ? > - "SUCCESS" : "FAILED"); > + fnic_dbg(fnic, SCSI, "%s: %s\n", > + __func__, > + (fnic->state == FNIC_IN_ETH_MODE) ? "SUCCESS" : "FAILED"); > spin_unlock_irqrestore(&fnic->fnic_lock, flags); > > } > @@ -2819,9 +2750,8 @@ int fnic_is_abts_pending(struct fnic *fnic, struct scsi_cmnd *lr_sc) > * Found IO that is still pending with firmware and > * belongs to the LUN that we are resetting > */ > - FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host, > - "Found IO in %s on lun\n", > - fnic_ioreq_state_to_str(CMD_STATE(sc))); > + fnic_dbg(fnic, SCSI, "Found IO in %s on lun\n", > + fnic_ioreq_state_to_str(CMD_STATE(sc))); > > if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING) > ret = 1; > No more responses on this? Can we either mege my fix (planning to redesign later), or follow through on your suggested fix? I believe my fix has a review already. Thanks. -- Lee Duncan