mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-23 07:23:12 +02:00
bnxt_en: Flush FW trace before copying to the coredump
bnxt_fill_drv_seg_record() calls bnxt_dbg_hwrm_log_buffer_flush()
to flush the FW trace buffer. This needs to be done before we
call bnxt_copy_ctx_mem() to copy the trace data.
Without this fix, the coredump may not contain all the FW
traces.
Fixes: 3c2179e663
("bnxt_en: Add FW trace coredump segments to the coredump")
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Shruti Parab <shruti.parab@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20250710213938.1959625-3-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
b74c2a2e9c
commit
100c08c89d
|
@ -368,23 +368,27 @@ static u32 bnxt_get_ctx_coredump(struct bnxt *bp, void *buf, u32 offset,
|
|||
if (!ctxm->mem_valid || !seg_id)
|
||||
continue;
|
||||
|
||||
if (trace)
|
||||
if (trace) {
|
||||
extra_hlen = BNXT_SEG_RCD_LEN;
|
||||
if (buf) {
|
||||
u16 trace_type = bnxt_bstore_to_trace[type];
|
||||
|
||||
bnxt_fill_drv_seg_record(bp, &record, ctxm,
|
||||
trace_type);
|
||||
}
|
||||
}
|
||||
|
||||
if (buf)
|
||||
data = buf + BNXT_SEG_HDR_LEN + extra_hlen;
|
||||
|
||||
seg_len = bnxt_copy_ctx_mem(bp, ctxm, data, 0) + extra_hlen;
|
||||
if (buf) {
|
||||
bnxt_fill_coredump_seg_hdr(bp, &seg_hdr, NULL, seg_len,
|
||||
0, 0, 0, comp_id, seg_id);
|
||||
memcpy(buf, &seg_hdr, BNXT_SEG_HDR_LEN);
|
||||
buf += BNXT_SEG_HDR_LEN;
|
||||
if (trace) {
|
||||
u16 trace_type = bnxt_bstore_to_trace[type];
|
||||
|
||||
bnxt_fill_drv_seg_record(bp, &record, ctxm,
|
||||
trace_type);
|
||||
if (trace)
|
||||
memcpy(buf, &record, BNXT_SEG_RCD_LEN);
|
||||
}
|
||||
buf += seg_len;
|
||||
}
|
||||
len += BNXT_SEG_HDR_LEN + seg_len;
|
||||
|
|
Loading…
Reference in New Issue
Block a user