Commit 02988c36 authored by Coiby Xu's avatar Coiby Xu Committed by Greg Kroah-Hartman

staging: qlge: remove mpi_core_to_log which sends coredump to the kernel ring buffer

devlink health could be used to get coredump. No need to send so much
data to the kernel ring buffer.
Signed-off-by: default avatarCoiby Xu <coiby.xu@gmail.com>
Link: https://lore.kernel.org/r/20210123104613.38359-7-coiby.xu@gmail.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2352cf40
...@@ -18,8 +18,6 @@ ...@@ -18,8 +18,6 @@
of questionable value. In particular, qlge_dbg.c has hundreds of lines of of questionable value. In particular, qlge_dbg.c has hundreds of lines of
code bitrotting away in ifdef land (doesn't compile since commit code bitrotting away in ifdef land (doesn't compile since commit
18c49b91777c ("qlge: do vlan cleanup", v3.1-rc1), 8 years ago). 18c49b91777c ("qlge: do vlan cleanup", v3.1-rc1), 8 years ago).
* triggering an ethtool regdump will hexdump a 176k struct to dmesg depending
on some module parameters.
* the flow control implementation in firmware is buggy (sends a flood of pause * the flow control implementation in firmware is buggy (sends a flood of pause
frames, resets the link, device and driver buffer queues become frames, resets the link, device and driver buffer queues become
desynchronized), disable it by default desynchronized), disable it by default
......
...@@ -2153,7 +2153,6 @@ struct qlge_adapter { ...@@ -2153,7 +2153,6 @@ struct qlge_adapter {
u32 port_init; u32 port_init;
u32 link_status; u32 link_status;
struct qlge_mpi_coredump *mpi_coredump; struct qlge_mpi_coredump *mpi_coredump;
u32 core_is_dumped;
u32 link_config; u32 link_config;
u32 led_config; u32 led_config;
u32 max_frame_size; u32 max_frame_size;
...@@ -2166,7 +2165,6 @@ struct qlge_adapter { ...@@ -2166,7 +2165,6 @@ struct qlge_adapter {
struct delayed_work mpi_work; struct delayed_work mpi_work;
struct delayed_work mpi_port_cfg_work; struct delayed_work mpi_port_cfg_work;
struct delayed_work mpi_idc_work; struct delayed_work mpi_idc_work;
struct delayed_work mpi_core_to_log;
struct completion ide_completion; struct completion ide_completion;
const struct nic_operations *nic_ops; const struct nic_operations *nic_ops;
u16 device_id; u16 device_id;
...@@ -2257,7 +2255,6 @@ int qlge_write_cfg(struct qlge_adapter *qdev, void *ptr, int size, u32 bit, ...@@ -2257,7 +2255,6 @@ int qlge_write_cfg(struct qlge_adapter *qdev, void *ptr, int size, u32 bit,
void qlge_queue_fw_error(struct qlge_adapter *qdev); void qlge_queue_fw_error(struct qlge_adapter *qdev);
void qlge_mpi_work(struct work_struct *work); void qlge_mpi_work(struct work_struct *work);
void qlge_mpi_reset_work(struct work_struct *work); void qlge_mpi_reset_work(struct work_struct *work);
void qlge_mpi_core_to_log(struct work_struct *work);
int qlge_wait_reg_rdy(struct qlge_adapter *qdev, u32 reg, u32 bit, u32 ebit); int qlge_wait_reg_rdy(struct qlge_adapter *qdev, u32 reg, u32 bit, u32 ebit);
void qlge_queue_asic_error(struct qlge_adapter *qdev); void qlge_queue_asic_error(struct qlge_adapter *qdev);
void qlge_set_ethtool_ops(struct net_device *ndev); void qlge_set_ethtool_ops(struct net_device *ndev);
......
...@@ -1313,17 +1313,6 @@ void qlge_get_dump(struct qlge_adapter *qdev, void *buff) ...@@ -1313,17 +1313,6 @@ void qlge_get_dump(struct qlge_adapter *qdev, void *buff)
} }
} }
/* Coredump to messages log file using separate worker thread */
void qlge_mpi_core_to_log(struct work_struct *work)
{
struct qlge_adapter *qdev =
container_of(work, struct qlge_adapter, mpi_core_to_log.work);
print_hex_dump(KERN_DEBUG, "Core is dumping to log file!\n",
DUMP_PREFIX_OFFSET, 32, 4, qdev->mpi_coredump,
sizeof(*qdev->mpi_coredump), false);
}
#ifdef QL_REG_DUMP #ifdef QL_REG_DUMP
static void qlge_dump_intr_states(struct qlge_adapter *qdev) static void qlge_dump_intr_states(struct qlge_adapter *qdev)
{ {
......
...@@ -617,7 +617,6 @@ static void qlge_get_regs(struct net_device *ndev, ...@@ -617,7 +617,6 @@ static void qlge_get_regs(struct net_device *ndev,
struct qlge_adapter *qdev = netdev_to_qdev(ndev); struct qlge_adapter *qdev = netdev_to_qdev(ndev);
qlge_get_dump(qdev, p); qlge_get_dump(qdev, p);
qdev->core_is_dumped = 0;
if (!test_bit(QL_FRC_COREDUMP, &qdev->flags)) if (!test_bit(QL_FRC_COREDUMP, &qdev->flags))
regs->len = sizeof(struct qlge_mpi_coredump); regs->len = sizeof(struct qlge_mpi_coredump);
else else
......
...@@ -3800,7 +3800,6 @@ static void qlge_cancel_all_work_sync(struct qlge_adapter *qdev) ...@@ -3800,7 +3800,6 @@ static void qlge_cancel_all_work_sync(struct qlge_adapter *qdev)
cancel_delayed_work_sync(&qdev->mpi_reset_work); cancel_delayed_work_sync(&qdev->mpi_reset_work);
cancel_delayed_work_sync(&qdev->mpi_work); cancel_delayed_work_sync(&qdev->mpi_work);
cancel_delayed_work_sync(&qdev->mpi_idc_work); cancel_delayed_work_sync(&qdev->mpi_idc_work);
cancel_delayed_work_sync(&qdev->mpi_core_to_log);
cancel_delayed_work_sync(&qdev->mpi_port_cfg_work); cancel_delayed_work_sync(&qdev->mpi_port_cfg_work);
} }
...@@ -4493,7 +4492,6 @@ static int qlge_init_device(struct pci_dev *pdev, struct qlge_adapter *qdev, ...@@ -4493,7 +4492,6 @@ static int qlge_init_device(struct pci_dev *pdev, struct qlge_adapter *qdev,
INIT_DELAYED_WORK(&qdev->mpi_work, qlge_mpi_work); INIT_DELAYED_WORK(&qdev->mpi_work, qlge_mpi_work);
INIT_DELAYED_WORK(&qdev->mpi_port_cfg_work, qlge_mpi_port_cfg_work); INIT_DELAYED_WORK(&qdev->mpi_port_cfg_work, qlge_mpi_port_cfg_work);
INIT_DELAYED_WORK(&qdev->mpi_idc_work, qlge_mpi_idc_work); INIT_DELAYED_WORK(&qdev->mpi_idc_work, qlge_mpi_idc_work);
INIT_DELAYED_WORK(&qdev->mpi_core_to_log, qlge_mpi_core_to_log);
init_completion(&qdev->ide_completion); init_completion(&qdev->ide_completion);
mutex_init(&qdev->mpi_mutex); mutex_init(&qdev->mpi_mutex);
......
...@@ -1269,11 +1269,5 @@ void qlge_mpi_reset_work(struct work_struct *work) ...@@ -1269,11 +1269,5 @@ void qlge_mpi_reset_work(struct work_struct *work)
return; return;
} }
if (qdev->mpi_coredump && !qlge_core_dump(qdev, qdev->mpi_coredump)) {
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);
}
qlge_soft_reset_mpi_risc(qdev); qlge_soft_reset_mpi_risc(qdev);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment