drivers/net/qlge: Use netif_printk helpers
Convert QPRINTK macros to netif_<level> equivalents. Expands and standardizes the logging message output. Removes __func__ from most logging messages. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
f8502ce4f9
Коммит
ae9540f75d
|
@ -19,14 +19,6 @@
|
|||
#define DRV_VERSION "v1.00.00.23.00.00-01"
|
||||
|
||||
#define PFX "qlge: "
|
||||
#define QPRINTK(qdev, nlevel, klevel, fmt, args...) \
|
||||
do { \
|
||||
if (!((qdev)->msg_enable & NETIF_MSG_##nlevel)) \
|
||||
; \
|
||||
else \
|
||||
dev_printk(KERN_##klevel, &((qdev)->pdev->dev), \
|
||||
"%s: " fmt, __func__, ##args); \
|
||||
} while (0)
|
||||
|
||||
#define WQ_ADDR_ALIGN 0x3 /* 4 byte alignment */
|
||||
|
||||
|
|
|
@ -443,8 +443,8 @@ static int ql_get_cam_entries(struct ql_adapter *qdev, u32 * buf)
|
|||
status = ql_get_mac_addr_reg(qdev,
|
||||
MAC_ADDR_TYPE_CAM_MAC, i, value);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed read of mac index register.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed read of mac index register.\n");
|
||||
goto err;
|
||||
}
|
||||
*buf++ = value[0]; /* lower MAC address */
|
||||
|
@ -455,8 +455,8 @@ static int ql_get_cam_entries(struct ql_adapter *qdev, u32 * buf)
|
|||
status = ql_get_mac_addr_reg(qdev,
|
||||
MAC_ADDR_TYPE_MULTI_MAC, i, value);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed read of mac index register.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed read of mac index register.\n");
|
||||
goto err;
|
||||
}
|
||||
*buf++ = value[0]; /* lower Mcast address */
|
||||
|
@ -479,8 +479,8 @@ static int ql_get_routing_entries(struct ql_adapter *qdev, u32 * buf)
|
|||
for (i = 0; i < 16; i++) {
|
||||
status = ql_get_routing_reg(qdev, i, &value);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed read of routing index register.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed read of routing index register.\n");
|
||||
goto err;
|
||||
} else {
|
||||
*buf++ = value;
|
||||
|
@ -736,8 +736,7 @@ int ql_core_dump(struct ql_adapter *qdev, struct ql_mpi_coredump *mpi_coredump)
|
|||
int i;
|
||||
|
||||
if (!mpi_coredump) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"No memory available.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "No memory available.\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -749,8 +748,8 @@ int ql_core_dump(struct ql_adapter *qdev, struct ql_mpi_coredump *mpi_coredump)
|
|||
|
||||
status = ql_pause_mpi_risc(qdev);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed RISC pause. Status = 0x%.08x\n", status);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed RISC pause. Status = 0x%.08x\n", status);
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -911,9 +910,9 @@ int ql_core_dump(struct ql_adapter *qdev, struct ql_mpi_coredump *mpi_coredump)
|
|||
|
||||
status = ql_get_serdes_regs(qdev, mpi_coredump);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed Dump of Serdes Registers. Status = 0x%.08x\n",
|
||||
status);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed Dump of Serdes Registers. Status = 0x%.08x\n",
|
||||
status);
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -1177,16 +1176,16 @@ int ql_core_dump(struct ql_adapter *qdev, struct ql_mpi_coredump *mpi_coredump)
|
|||
/* clear the pause */
|
||||
status = ql_unpause_mpi_risc(qdev);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed RISC unpause. Status = 0x%.08x\n", status);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed RISC unpause. Status = 0x%.08x\n", status);
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* Reset the RISC so we can dump RAM */
|
||||
status = ql_hard_reset_mpi_risc(qdev);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed RISC reset. Status = 0x%.08x\n", status);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed RISC reset. Status = 0x%.08x\n", status);
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -1198,8 +1197,9 @@ int ql_core_dump(struct ql_adapter *qdev, struct ql_mpi_coredump *mpi_coredump)
|
|||
status = ql_dump_risc_ram_area(qdev, &mpi_coredump->code_ram[0],
|
||||
CODE_RAM_ADDR, CODE_RAM_CNT);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed Dump of CODE RAM. Status = 0x%.08x\n", status);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed Dump of CODE RAM. Status = 0x%.08x\n",
|
||||
status);
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -1212,8 +1212,9 @@ int ql_core_dump(struct ql_adapter *qdev, struct ql_mpi_coredump *mpi_coredump)
|
|||
status = ql_dump_risc_ram_area(qdev, &mpi_coredump->memc_ram[0],
|
||||
MEMC_RAM_ADDR, MEMC_RAM_CNT);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed Dump of MEMC RAM. Status = 0x%.08x\n", status);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed Dump of MEMC RAM. Status = 0x%.08x\n",
|
||||
status);
|
||||
goto err;
|
||||
}
|
||||
err:
|
||||
|
@ -1225,21 +1226,19 @@ err:
|
|||
static void ql_get_core_dump(struct ql_adapter *qdev)
|
||||
{
|
||||
if (!ql_own_firmware(qdev)) {
|
||||
QPRINTK(qdev, DRV, ERR, "%s: Don't own firmware!\n",
|
||||
qdev->ndev->name);
|
||||
netif_err(qdev, drv, qdev->ndev, "Don't own firmware!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!netif_running(qdev->ndev)) {
|
||||
QPRINTK(qdev, IFUP, ERR,
|
||||
"Force Coredump can only be done from interface "
|
||||
"that is up.\n");
|
||||
netif_err(qdev, ifup, qdev->ndev,
|
||||
"Force Coredump can only be done from interface that is up.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ql_mb_sys_err(qdev)) {
|
||||
QPRINTK(qdev, IFUP, ERR,
|
||||
"Fail force coredump with ql_mb_sys_err().\n");
|
||||
netif_err(qdev, ifup, qdev->ndev,
|
||||
"Fail force coredump with ql_mb_sys_err().\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1334,7 +1333,8 @@ void ql_mpi_core_to_log(struct work_struct *work)
|
|||
|
||||
count = sizeof(struct ql_mpi_coredump) / sizeof(u32);
|
||||
tmp = (u32 *)qdev->mpi_coredump;
|
||||
QPRINTK(qdev, DRV, DEBUG, "Core is dumping to log file!\n");
|
||||
netif_printk(qdev, drv, KERN_DEBUG, qdev->ndev,
|
||||
"Core is dumping to log file!\n");
|
||||
|
||||
for (i = 0; i < count; i += 8) {
|
||||
printk(KERN_ERR "%.08x: %.08x %.08x %.08x %.08x %.08x "
|
||||
|
|
|
@ -67,8 +67,8 @@ static int ql_update_ring_coalescing(struct ql_adapter *qdev)
|
|||
status = ql_write_cfg(qdev, cqicb, sizeof(*cqicb),
|
||||
CFG_LCQ, rx_ring->cq_id);
|
||||
if (status) {
|
||||
QPRINTK(qdev, IFUP, ERR,
|
||||
"Failed to load CQICB.\n");
|
||||
netif_err(qdev, ifup, qdev->ndev,
|
||||
"Failed to load CQICB.\n");
|
||||
goto exit;
|
||||
}
|
||||
}
|
||||
|
@ -89,8 +89,8 @@ static int ql_update_ring_coalescing(struct ql_adapter *qdev)
|
|||
status = ql_write_cfg(qdev, cqicb, sizeof(*cqicb),
|
||||
CFG_LCQ, rx_ring->cq_id);
|
||||
if (status) {
|
||||
QPRINTK(qdev, IFUP, ERR,
|
||||
"Failed to load CQICB.\n");
|
||||
netif_err(qdev, ifup, qdev->ndev,
|
||||
"Failed to load CQICB.\n");
|
||||
goto exit;
|
||||
}
|
||||
}
|
||||
|
@ -107,8 +107,8 @@ static void ql_update_stats(struct ql_adapter *qdev)
|
|||
|
||||
spin_lock(&qdev->stats_lock);
|
||||
if (ql_sem_spinlock(qdev, qdev->xg_sem_mask)) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Couldn't get xgmac sem.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Couldn't get xgmac sem.\n");
|
||||
goto quit;
|
||||
}
|
||||
/*
|
||||
|
@ -116,8 +116,9 @@ static void ql_update_stats(struct ql_adapter *qdev)
|
|||
*/
|
||||
for (i = 0x200; i < 0x280; i += 8) {
|
||||
if (ql_read_xgmac_reg64(qdev, i, &data)) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Error reading status register 0x%.04x.\n", i);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Error reading status register 0x%.04x.\n",
|
||||
i);
|
||||
goto end;
|
||||
} else
|
||||
*iter = data;
|
||||
|
@ -129,8 +130,9 @@ static void ql_update_stats(struct ql_adapter *qdev)
|
|||
*/
|
||||
for (i = 0x300; i < 0x3d0; i += 8) {
|
||||
if (ql_read_xgmac_reg64(qdev, i, &data)) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Error reading status register 0x%.04x.\n", i);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Error reading status register 0x%.04x.\n",
|
||||
i);
|
||||
goto end;
|
||||
} else
|
||||
*iter = data;
|
||||
|
@ -142,8 +144,9 @@ static void ql_update_stats(struct ql_adapter *qdev)
|
|||
*/
|
||||
for (i = 0x500; i < 0x540; i += 8) {
|
||||
if (ql_read_xgmac_reg64(qdev, i, &data)) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Error reading status register 0x%.04x.\n", i);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Error reading status register 0x%.04x.\n",
|
||||
i);
|
||||
goto end;
|
||||
} else
|
||||
*iter = data;
|
||||
|
@ -155,8 +158,9 @@ static void ql_update_stats(struct ql_adapter *qdev)
|
|||
*/
|
||||
for (i = 0x568; i < 0x5a8; i += 8) {
|
||||
if (ql_read_xgmac_reg64(qdev, i, &data)) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Error reading status register 0x%.04x.\n", i);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Error reading status register 0x%.04x.\n",
|
||||
i);
|
||||
goto end;
|
||||
} else
|
||||
*iter = data;
|
||||
|
@ -167,8 +171,8 @@ static void ql_update_stats(struct ql_adapter *qdev)
|
|||
* Get RX NIC FIFO DROP statistics.
|
||||
*/
|
||||
if (ql_read_xgmac_reg64(qdev, 0x5b8, &data)) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Error reading status register 0x%.04x.\n", i);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Error reading status register 0x%.04x.\n", i);
|
||||
goto end;
|
||||
} else
|
||||
*iter = data;
|
||||
|
@ -396,14 +400,13 @@ static int ql_set_wol(struct net_device *ndev, struct ethtool_wolinfo *wol)
|
|||
return -EINVAL;
|
||||
qdev->wol = wol->wolopts;
|
||||
|
||||
QPRINTK(qdev, DRV, INFO, "Set wol option 0x%x on %s\n",
|
||||
qdev->wol, ndev->name);
|
||||
netif_info(qdev, drv, qdev->ndev, "Set wol option 0x%x\n", qdev->wol);
|
||||
if (!qdev->wol) {
|
||||
u32 wol = 0;
|
||||
status = ql_mb_wol_mode(qdev, wol);
|
||||
QPRINTK(qdev, DRV, ERR, "WOL %s (wol code 0x%x) on %s\n",
|
||||
(status == 0) ? "cleared sucessfully" : "clear failed",
|
||||
wol, qdev->ndev->name);
|
||||
netif_err(qdev, drv, qdev->ndev, "WOL %s (wol code 0x%x)\n",
|
||||
status == 0 ? "cleared sucessfully" : "clear failed",
|
||||
wol);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -534,8 +537,8 @@ static void ql_self_test(struct net_device *ndev,
|
|||
}
|
||||
clear_bit(QL_SELFTEST, &qdev->flags);
|
||||
} else {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"%s: is down, Loopback test will fail.\n", ndev->name);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"is down, Loopback test will fail.\n");
|
||||
eth_test->flags |= ETH_TEST_FL_FAILED;
|
||||
}
|
||||
}
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -135,7 +135,7 @@ static int ql_get_mb_sts(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
ql_read_mpi_reg(qdev, qdev->mailbox_out + i,
|
||||
&mbcp->mbox_out[i]);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR, "Failed mailbox read.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Failed mailbox read.\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ static int ql_idc_req_aen(struct ql_adapter *qdev)
|
|||
int status;
|
||||
struct mbox_params *mbcp = &qdev->idc_mbc;
|
||||
|
||||
QPRINTK(qdev, DRV, ERR, "Enter!\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Enter!\n");
|
||||
/* Get the status data and start up a thread to
|
||||
* handle the request.
|
||||
*/
|
||||
|
@ -216,8 +216,8 @@ static int ql_idc_req_aen(struct ql_adapter *qdev)
|
|||
mbcp->out_count = 4;
|
||||
status = ql_get_mb_sts(qdev, mbcp);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Could not read MPI, resetting ASIC!\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Could not read MPI, resetting ASIC!\n");
|
||||
ql_queue_asic_error(qdev);
|
||||
} else {
|
||||
/* Begin polled mode early so
|
||||
|
@ -240,8 +240,8 @@ static int ql_idc_cmplt_aen(struct ql_adapter *qdev)
|
|||
mbcp->out_count = 4;
|
||||
status = ql_get_mb_sts(qdev, mbcp);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Could not read MPI, resetting RISC!\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Could not read MPI, resetting RISC!\n");
|
||||
ql_queue_fw_error(qdev);
|
||||
} else
|
||||
/* Wake up the sleeping mpi_idc_work thread that is
|
||||
|
@ -259,13 +259,13 @@ static void ql_link_up(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
|
||||
status = ql_get_mb_sts(qdev, mbcp);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"%s: Could not get mailbox status.\n", __func__);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"%s: Could not get mailbox status.\n", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
qdev->link_status = mbcp->mbox_out[1];
|
||||
QPRINTK(qdev, DRV, ERR, "Link Up.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Link Up.\n");
|
||||
|
||||
/* If we're coming back from an IDC event
|
||||
* then set up the CAM and frame routing.
|
||||
|
@ -273,8 +273,8 @@ static void ql_link_up(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
if (test_bit(QL_CAM_RT_SET, &qdev->flags)) {
|
||||
status = ql_cam_route_initialize(qdev);
|
||||
if (status) {
|
||||
QPRINTK(qdev, IFUP, ERR,
|
||||
"Failed to init CAM/Routing tables.\n");
|
||||
netif_err(qdev, ifup, qdev->ndev,
|
||||
"Failed to init CAM/Routing tables.\n");
|
||||
return;
|
||||
} else
|
||||
clear_bit(QL_CAM_RT_SET, &qdev->flags);
|
||||
|
@ -285,7 +285,7 @@ static void ql_link_up(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
* to our liking.
|
||||
*/
|
||||
if (!test_bit(QL_PORT_CFG, &qdev->flags)) {
|
||||
QPRINTK(qdev, DRV, ERR, "Queue Port Config Worker!\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Queue Port Config Worker!\n");
|
||||
set_bit(QL_PORT_CFG, &qdev->flags);
|
||||
/* Begin polled mode early so
|
||||
* we don't get another interrupt
|
||||
|
@ -307,7 +307,7 @@ static void ql_link_down(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
|
||||
status = ql_get_mb_sts(qdev, mbcp);
|
||||
if (status)
|
||||
QPRINTK(qdev, DRV, ERR, "Link down AEN broken!\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Link down AEN broken!\n");
|
||||
|
||||
ql_link_off(qdev);
|
||||
}
|
||||
|
@ -320,9 +320,9 @@ static int ql_sfp_in(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
|
||||
status = ql_get_mb_sts(qdev, mbcp);
|
||||
if (status)
|
||||
QPRINTK(qdev, DRV, ERR, "SFP in AEN broken!\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "SFP in AEN broken!\n");
|
||||
else
|
||||
QPRINTK(qdev, DRV, ERR, "SFP insertion detected.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "SFP insertion detected.\n");
|
||||
|
||||
return status;
|
||||
}
|
||||
|
@ -335,9 +335,9 @@ static int ql_sfp_out(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
|
||||
status = ql_get_mb_sts(qdev, mbcp);
|
||||
if (status)
|
||||
QPRINTK(qdev, DRV, ERR, "SFP out AEN broken!\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "SFP out AEN broken!\n");
|
||||
else
|
||||
QPRINTK(qdev, DRV, ERR, "SFP removal detected.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "SFP removal detected.\n");
|
||||
|
||||
return status;
|
||||
}
|
||||
|
@ -350,13 +350,13 @@ static int ql_aen_lost(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
|
||||
status = ql_get_mb_sts(qdev, mbcp);
|
||||
if (status)
|
||||
QPRINTK(qdev, DRV, ERR, "Lost AEN broken!\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Lost AEN broken!\n");
|
||||
else {
|
||||
int i;
|
||||
QPRINTK(qdev, DRV, ERR, "Lost AEN detected.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Lost AEN detected.\n");
|
||||
for (i = 0; i < mbcp->out_count; i++)
|
||||
QPRINTK(qdev, DRV, ERR, "mbox_out[%d] = 0x%.08x.\n",
|
||||
i, mbcp->mbox_out[i]);
|
||||
netif_err(qdev, drv, qdev->ndev, "mbox_out[%d] = 0x%.08x.\n",
|
||||
i, mbcp->mbox_out[i]);
|
||||
|
||||
}
|
||||
|
||||
|
@ -371,15 +371,15 @@ static void ql_init_fw_done(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
|
||||
status = ql_get_mb_sts(qdev, mbcp);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR, "Firmware did not initialize!\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Firmware did not initialize!\n");
|
||||
} else {
|
||||
QPRINTK(qdev, DRV, ERR, "Firmware Revision = 0x%.08x.\n",
|
||||
mbcp->mbox_out[1]);
|
||||
netif_err(qdev, drv, qdev->ndev, "Firmware Revision = 0x%.08x.\n",
|
||||
mbcp->mbox_out[1]);
|
||||
qdev->fw_rev_id = mbcp->mbox_out[1];
|
||||
status = ql_cam_route_initialize(qdev);
|
||||
if (status)
|
||||
QPRINTK(qdev, IFUP, ERR,
|
||||
"Failed to init CAM/Routing tables.\n");
|
||||
netif_err(qdev, ifup, qdev->ndev,
|
||||
"Failed to init CAM/Routing tables.\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -398,8 +398,8 @@ static int ql_mpi_handler(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
mbcp->out_count = 1;
|
||||
status = ql_get_mb_sts(qdev, mbcp);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Could not read MPI, resetting ASIC!\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Could not read MPI, resetting ASIC!\n");
|
||||
ql_queue_asic_error(qdev);
|
||||
goto end;
|
||||
}
|
||||
|
@ -488,15 +488,14 @@ static int ql_mpi_handler(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
mbcp->mbox_out[0] = MB_CMD_STS_ERR;
|
||||
return status;
|
||||
}
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Firmware initialization failed.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Firmware initialization failed.\n");
|
||||
status = -EIO;
|
||||
ql_queue_fw_error(qdev);
|
||||
break;
|
||||
|
||||
case AEN_SYS_ERR:
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"System Error.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "System Error.\n");
|
||||
ql_queue_fw_error(qdev);
|
||||
status = -EIO;
|
||||
break;
|
||||
|
@ -509,8 +508,8 @@ static int ql_mpi_handler(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
/* Need to support AEN 8110 */
|
||||
break;
|
||||
default:
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Unsupported AE %.08x.\n", mbcp->mbox_out[0]);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Unsupported AE %.08x.\n", mbcp->mbox_out[0]);
|
||||
/* Clear the MPI firmware status. */
|
||||
}
|
||||
end:
|
||||
|
@ -583,8 +582,8 @@ static int ql_mailbox_command(struct ql_adapter *qdev, struct mbox_params *mbcp)
|
|||
goto done;
|
||||
} while (time_before(jiffies, count));
|
||||
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Timed out waiting for mailbox complete.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Timed out waiting for mailbox complete.\n");
|
||||
status = -ETIMEDOUT;
|
||||
goto end;
|
||||
|
||||
|
@ -646,8 +645,8 @@ int ql_mb_about_fw(struct ql_adapter *qdev)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed about firmware command\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed about firmware command\n");
|
||||
status = -EIO;
|
||||
}
|
||||
|
||||
|
@ -678,8 +677,8 @@ int ql_mb_get_fw_state(struct ql_adapter *qdev)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed Get Firmware State.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed Get Firmware State.\n");
|
||||
status = -EIO;
|
||||
}
|
||||
|
||||
|
@ -688,8 +687,8 @@ int ql_mb_get_fw_state(struct ql_adapter *qdev)
|
|||
* happen.
|
||||
*/
|
||||
if (mbcp->mbox_out[1] & 1) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Firmware waiting for initialization.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Firmware waiting for initialization.\n");
|
||||
status = -EIO;
|
||||
}
|
||||
|
||||
|
@ -721,8 +720,7 @@ int ql_mb_idc_ack(struct ql_adapter *qdev)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed IDC ACK send.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Failed IDC ACK send.\n");
|
||||
status = -EIO;
|
||||
}
|
||||
return status;
|
||||
|
@ -753,11 +751,11 @@ int ql_mb_set_port_cfg(struct ql_adapter *qdev)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] == MB_CMD_STS_INTRMDT) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Port Config sent, wait for IDC.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Port Config sent, wait for IDC.\n");
|
||||
} else if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed Set Port Configuration.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed Set Port Configuration.\n");
|
||||
status = -EIO;
|
||||
}
|
||||
return status;
|
||||
|
@ -791,8 +789,7 @@ int ql_mb_dump_ram(struct ql_adapter *qdev, u64 req_dma, u32 addr,
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed to dump risc RAM.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Failed to dump risc RAM.\n");
|
||||
status = -EIO;
|
||||
}
|
||||
return status;
|
||||
|
@ -842,12 +839,12 @@ int ql_mb_get_port_cfg(struct ql_adapter *qdev)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed Get Port Configuration.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed Get Port Configuration.\n");
|
||||
status = -EIO;
|
||||
} else {
|
||||
QPRINTK(qdev, DRV, DEBUG,
|
||||
"Passed Get Port Configuration.\n");
|
||||
netif_printk(qdev, drv, KERN_DEBUG, qdev->ndev,
|
||||
"Passed Get Port Configuration.\n");
|
||||
qdev->link_config = mbcp->mbox_out[1];
|
||||
qdev->max_frame_size = mbcp->mbox_out[2];
|
||||
}
|
||||
|
@ -874,8 +871,7 @@ int ql_mb_wol_mode(struct ql_adapter *qdev, u32 wol)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed to set WOL mode.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Failed to set WOL mode.\n");
|
||||
status = -EIO;
|
||||
}
|
||||
return status;
|
||||
|
@ -917,8 +913,7 @@ int ql_mb_wol_set_magic(struct ql_adapter *qdev, u32 enable_wol)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed to set WOL mode.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Failed to set WOL mode.\n");
|
||||
status = -EIO;
|
||||
}
|
||||
return status;
|
||||
|
@ -944,8 +939,7 @@ static int ql_idc_wait(struct ql_adapter *qdev)
|
|||
wait_for_completion_timeout(&qdev->ide_completion,
|
||||
wait_time);
|
||||
if (!wait_time) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"IDC Timeout.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "IDC Timeout.\n");
|
||||
break;
|
||||
}
|
||||
/* Now examine the response from the IDC process.
|
||||
|
@ -953,18 +947,17 @@ static int ql_idc_wait(struct ql_adapter *qdev)
|
|||
* more wait time.
|
||||
*/
|
||||
if (mbcp->mbox_out[0] == AEN_IDC_EXT) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"IDC Time Extension from function.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"IDC Time Extension from function.\n");
|
||||
wait_time += (mbcp->mbox_out[1] >> 8) & 0x0000000f;
|
||||
} else if (mbcp->mbox_out[0] == AEN_IDC_CMPLT) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"IDC Success.\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "IDC Success.\n");
|
||||
status = 0;
|
||||
break;
|
||||
} else {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"IDC: Invalid State 0x%.04x.\n",
|
||||
mbcp->mbox_out[0]);
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"IDC: Invalid State 0x%.04x.\n",
|
||||
mbcp->mbox_out[0]);
|
||||
status = -EIO;
|
||||
break;
|
||||
}
|
||||
|
@ -993,8 +986,8 @@ int ql_mb_set_led_cfg(struct ql_adapter *qdev, u32 led_config)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed to set LED Configuration.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed to set LED Configuration.\n");
|
||||
status = -EIO;
|
||||
}
|
||||
|
||||
|
@ -1019,8 +1012,8 @@ int ql_mb_get_led_cfg(struct ql_adapter *qdev)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed to get LED Configuration.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed to get LED Configuration.\n");
|
||||
status = -EIO;
|
||||
} else
|
||||
qdev->led_config = mbcp->mbox_out[1];
|
||||
|
@ -1050,16 +1043,16 @@ int ql_mb_set_mgmnt_traffic_ctl(struct ql_adapter *qdev, u32 control)
|
|||
return status;
|
||||
|
||||
if (mbcp->mbox_out[0] == MB_CMD_STS_INVLD_CMD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Command not supported by firmware.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Command not supported by firmware.\n");
|
||||
status = -EINVAL;
|
||||
} else if (mbcp->mbox_out[0] == MB_CMD_STS_ERR) {
|
||||
/* This indicates that the firmware is
|
||||
* already in the state we are trying to
|
||||
* change it to.
|
||||
*/
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Command parameters make no change.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Command parameters make no change.\n");
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
@ -1089,12 +1082,12 @@ static int ql_mb_get_mgmnt_traffic_ctl(struct ql_adapter *qdev, u32 *control)
|
|||
}
|
||||
|
||||
if (mbcp->mbox_out[0] == MB_CMD_STS_INVLD_CMD) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Command not supported by firmware.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Command not supported by firmware.\n");
|
||||
status = -EINVAL;
|
||||
} else if (mbcp->mbox_out[0] == MB_CMD_STS_ERR) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Failed to get MPI traffic control.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Failed to get MPI traffic control.\n");
|
||||
status = -EIO;
|
||||
}
|
||||
return status;
|
||||
|
@ -1150,8 +1143,8 @@ void ql_mpi_port_cfg_work(struct work_struct *work)
|
|||
status = ql_mb_get_port_cfg(qdev);
|
||||
rtnl_unlock();
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Bug: Failed to get port config data.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Bug: Failed to get port config data.\n");
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -1164,8 +1157,8 @@ void ql_mpi_port_cfg_work(struct work_struct *work)
|
|||
qdev->max_frame_size = CFG_DEFAULT_MAX_FRAME_SIZE;
|
||||
status = ql_set_port_cfg(qdev);
|
||||
if (status) {
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Bug: Failed to set port config data.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Bug: Failed to set port config data.\n");
|
||||
goto err;
|
||||
}
|
||||
end:
|
||||
|
@ -1197,8 +1190,8 @@ void ql_mpi_idc_work(struct work_struct *work)
|
|||
|
||||
switch (aen) {
|
||||
default:
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Bug: Unhandled IDC action.\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Bug: Unhandled IDC action.\n");
|
||||
break;
|
||||
case MB_CMD_PORT_RESET:
|
||||
case MB_CMD_STOP_FW:
|
||||
|
@ -1213,11 +1206,11 @@ void ql_mpi_idc_work(struct work_struct *work)
|
|||
if (timeout) {
|
||||
status = ql_mb_idc_ack(qdev);
|
||||
if (status)
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Bug: No pending IDC!\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Bug: No pending IDC!\n");
|
||||
} else {
|
||||
QPRINTK(qdev, DRV, DEBUG,
|
||||
"IDC ACK not required\n");
|
||||
netif_printk(qdev, drv, KERN_DEBUG, qdev->ndev,
|
||||
"IDC ACK not required\n");
|
||||
status = 0; /* success */
|
||||
}
|
||||
break;
|
||||
|
@ -1246,11 +1239,11 @@ void ql_mpi_idc_work(struct work_struct *work)
|
|||
if (timeout) {
|
||||
status = ql_mb_idc_ack(qdev);
|
||||
if (status)
|
||||
QPRINTK(qdev, DRV, ERR,
|
||||
"Bug: No pending IDC!\n");
|
||||
netif_err(qdev, drv, qdev->ndev,
|
||||
"Bug: No pending IDC!\n");
|
||||
} else {
|
||||
QPRINTK(qdev, DRV, DEBUG,
|
||||
"IDC ACK not required\n");
|
||||
netif_printk(qdev, drv, KERN_DEBUG, qdev->ndev,
|
||||
"IDC ACK not required\n");
|
||||
status = 0; /* success */
|
||||
}
|
||||
break;
|
||||
|
@ -1298,12 +1291,12 @@ void ql_mpi_reset_work(struct work_struct *work)
|
|||
* then there is nothing to do.
|
||||
*/
|
||||
if (!ql_own_firmware(qdev)) {
|
||||
QPRINTK(qdev, DRV, ERR, "Don't own firmware!\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Don't own firmware!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ql_core_dump(qdev, qdev->mpi_coredump)) {
|
||||
QPRINTK(qdev, DRV, ERR, "Core is dumped!\n");
|
||||
netif_err(qdev, drv, qdev->ndev, "Core is dumped!\n");
|
||||
qdev->core_is_dumped = 1;
|
||||
queue_delayed_work(qdev->workqueue,
|
||||
&qdev->mpi_core_to_log, 5 * HZ);
|
||||
|
|
Загрузка…
Ссылка в новой задаче