85 lines · c
1/* bnx2fc_debug.c: QLogic Linux FCoE offload driver.2 * Handles operations such as session offload/upload etc, and manages3 * session resources such as connection id and qp resources.4 *5 * Copyright (c) 2008-2013 Broadcom Corporation6 * Copyright (c) 2014-2016 QLogic Corporation7 * Copyright (c) 2016-2017 Cavium Inc.8 *9 * This program is free software; you can redistribute it and/or modify10 * it under the terms of the GNU General Public License as published by11 * the Free Software Foundation.12 *13 */14 15#include "bnx2fc.h"16 17void BNX2FC_IO_DBG(const struct bnx2fc_cmd *io_req, const char *fmt, ...)18{19 struct va_format vaf;20 va_list args;21 22 if (likely(!(bnx2fc_debug_level & LOG_IO)))23 return;24 25 va_start(args, fmt);26 27 vaf.fmt = fmt;28 vaf.va = &args;29 30 if (io_req && io_req->port && io_req->port->lport &&31 io_req->port->lport->host)32 shost_printk(KERN_INFO, io_req->port->lport->host,33 PFX "xid:0x%x %pV",34 io_req->xid, &vaf);35 else36 pr_info("NULL %pV", &vaf);37 38 va_end(args);39}40 41void BNX2FC_TGT_DBG(const struct bnx2fc_rport *tgt, const char *fmt, ...)42{43 struct va_format vaf;44 va_list args;45 46 if (likely(!(bnx2fc_debug_level & LOG_TGT)))47 return;48 49 va_start(args, fmt);50 51 vaf.fmt = fmt;52 vaf.va = &args;53 54 if (tgt && tgt->port && tgt->port->lport && tgt->port->lport->host &&55 tgt->rport)56 shost_printk(KERN_INFO, tgt->port->lport->host,57 PFX "port:%x %pV",58 tgt->rport->port_id, &vaf);59 else60 pr_info("NULL %pV", &vaf);61 62 va_end(args);63}64 65void BNX2FC_HBA_DBG(const struct fc_lport *lport, const char *fmt, ...)66{67 struct va_format vaf;68 va_list args;69 70 if (likely(!(bnx2fc_debug_level & LOG_HBA)))71 return;72 73 va_start(args, fmt);74 75 vaf.fmt = fmt;76 vaf.va = &args;77 78 if (lport && lport->host)79 shost_printk(KERN_INFO, lport->host, PFX "%pV", &vaf);80 else81 pr_info("NULL %pV", &vaf);82 83 va_end(args);84}85