> + module_firmware_crashed();
> if (priv->hw_restart_owner == current)
> return 0;
> else
> --
> 2.26.2
>
Acked-by: Rafael Aquini
ers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
> @@ -1393,6 +1393,7 @@ void brcmf_fw_crashed(struct device *dev)
> struct brcmf_pub *drvr = bus_if->drvr;
>
> bphy_err(drvr, "Firmware has halted or crashed\n");
> + module_firmware_crashed();
>
> brcmf_dev_coredump(dev);
>
> --
> 2.26.2
>
Acked-by: Rafael Aquini
/net/wireless/ath/ath6kl/hif.c
> @@ -120,6 +120,7 @@ static int ath6kl_hif_proc_dbg_intr(struct ath6kl_device
> *dev)
> int ret;
>
> ath6kl_warn("firmware crashed\n");
> + module_firmware_crashed();
>
> /*
>* read counter to clear the interrupt, the debug error interrupt is
> --
> 2.26.2
>
Acked-by: Rafael Aquini
ess/ath/ath10k/snoc.c
> index 354d49b1cd45..7cfc123c345c 100644
> --- a/drivers/net/wireless/ath/ath10k/snoc.c
> +++ b/drivers/net/wireless/ath/ath10k/snoc.c
> @@ -1451,6 +1451,7 @@ void ath10k_snoc_fw_crashed_dump(struct ath10k *ar)
> scnprintf(guid, sizeof(guid), "n/a");
>
> ath10k_err(ar, "firmware crashed! (guid %s)\n", guid);
> + module_firmware_crashed();
> ath10k_print_driver_info(ar);
> ath10k_msa_dump_memory(ar, crash_data);
> mutex_unlock(&ar->dump_mutex);
> --
> 2.26.2
>
Acked-by: Rafael Aquini
> skb_queue_walk(&roq->queue, skb_itr) {
> roq_data_itr = (struct i2400m_roq_data *) &skb_itr->cb;
> nsn_itr = __i2400m_roq_nsn(roq, roq_data_itr->sn);
> --
> 2.26.2
>
Acked-by: Rafael Aquini
struct device *dev = &ipa->pdev->dev;
> int ret;
>
> + module_firmware_crashed();
> ipa_endpoint_modem_pause_all(ipa, true);
>
> ipa_endpoint_modem_hol_block_clear_all(ipa);
> --
> 2.26.2
>
Acked-by: Rafael Aquini
p_mb_params->cmd, p_mb_params->param);
> + module_firmware_crashed();
> qed_mcp_print_cpu_info(p_hwfn, p_ptt);
>
> spin_lock_bh(&p_hwfn->mcp_info->cmd_lock);
> --
> 2.26.2
>
Acked-by: Rafael Aquini
4_main.c
> @@ -3646,6 +3646,7 @@ void t4_fatal_err(struct adapter *adap)
>* could be exposed to the adapter. RDMA MWs for example...
>*/
> t4_shutdown_adapter(adap);
> + module_firmware_crashed();
> for_each_port(adap, port) {
> str
8 @@ static void ehea_crash_handler(void)
> {
> int i;
>
> + module_firmware_crashed();
> +
> if (ehea_fw_handles.arr)
> for (i = 0; i < ehea_fw_handles.num_entries; i++)
> ehea_h_free_resource(ehea_fw_handles.arr[i].adh,
> --
> 2.26.2
>
Acked-by: Rafael Aquini
shed();
> other_oct = get_other_octeon_device(oct);
> if (other_oct)
> WRITE_ONCE(other_oct->cores_crashed, true);
> --
> 2.26.2
>
Acked-by: Rafael Aquini
g_save_ftrc(iocpf->ioc);
> bfa_ioc_hw_sem_get(iocpf->ioc);
> }
> --
> 2.26.2
>
Acked-by: Rafael Aquini
TEE_BNXT_FW
> return tee_bnxt_copy_coredump(buf, 0, dump->len);
> #endif
> --
> 2.26.2
>
Acked-by: Rafael Aquini
t; + module_firmware_crashed();
> BNX2X_ERR("begin crash dump -\n");
>
> /* Indices */
> --
> 2.26.2
>
Acked-by: Rafael Aquini
rnel/panic.c| 1 +
> tools/debugging/kernel-chktaint | 7 +++
> 7 files changed, 34 insertions(+), 4 deletions(-)
>
Reviewed-by: Rafael Aquini
this_frame, ei_local->current_page);
> + }
>
> if (this_frame == rxing_page) /* Read all the frames? */
> break; /* Done for now */
> --
> 2.26.2
>
Acked-by: Rafael Aquini
On Sat, May 09, 2020 at 04:35:38AM +, Luis Chamberlain wrote:
> Device driver firmware can crash, and sometimes, this can leave your
> system in a state which makes the device or subsystem completely
> useless. Detecting this by inspecting /proc/sys/kernel/tainted instead
> of scraping some mag
16 matches
Mail list logo