Skip to content

Commit 52c14ea

Browse files
committed
Merge branch 'bnxt_en-3-bug-fixes'
Michael Chan says: ==================== bnxt_en: 3 bug fixes The first one fixes a possible failure when setting DCB ETS. The second one fixes the ethtool coredump (-W 2) not containing all the FW traces. The third one fixes the DMA unmap length when transmitting XDP_REDIRECT packets. ==================== Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2 parents e81750b + 3cdf199 commit 52c14ea

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -368,23 +368,27 @@ static u32 bnxt_get_ctx_coredump(struct bnxt *bp, void *buf, u32 offset,
368368
if (!ctxm->mem_valid || !seg_id)
369369
continue;
370370

371-
if (trace)
371+
if (trace) {
372372
extra_hlen = BNXT_SEG_RCD_LEN;
373+
if (buf) {
374+
u16 trace_type = bnxt_bstore_to_trace[type];
375+
376+
bnxt_fill_drv_seg_record(bp, &record, ctxm,
377+
trace_type);
378+
}
379+
}
380+
373381
if (buf)
374382
data = buf + BNXT_SEG_HDR_LEN + extra_hlen;
383+
375384
seg_len = bnxt_copy_ctx_mem(bp, ctxm, data, 0) + extra_hlen;
376385
if (buf) {
377386
bnxt_fill_coredump_seg_hdr(bp, &seg_hdr, NULL, seg_len,
378387
0, 0, 0, comp_id, seg_id);
379388
memcpy(buf, &seg_hdr, BNXT_SEG_HDR_LEN);
380389
buf += BNXT_SEG_HDR_LEN;
381-
if (trace) {
382-
u16 trace_type = bnxt_bstore_to_trace[type];
383-
384-
bnxt_fill_drv_seg_record(bp, &record, ctxm,
385-
trace_type);
390+
if (trace)
386391
memcpy(buf, &record, BNXT_SEG_RCD_LEN);
387-
}
388392
buf += seg_len;
389393
}
390394
len += BNXT_SEG_HDR_LEN + seg_len;

drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,9 @@ static int bnxt_ets_validate(struct bnxt *bp, struct ieee_ets *ets, u8 *tc)
487487

488488
if ((ets->tc_tx_bw[i] || ets->tc_tsa[i]) && i > bp->max_tc)
489489
return -EINVAL;
490+
}
490491

492+
for (i = 0; i < max_tc; i++) {
491493
switch (ets->tc_tsa[i]) {
492494
case IEEE_8021QAZ_TSA_STRICT:
493495
break;

drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ static void __bnxt_xmit_xdp_redirect(struct bnxt *bp,
115115
tx_buf->action = XDP_REDIRECT;
116116
tx_buf->xdpf = xdpf;
117117
dma_unmap_addr_set(tx_buf, mapping, mapping);
118-
dma_unmap_len_set(tx_buf, len, 0);
118+
dma_unmap_len_set(tx_buf, len, len);
119119
}
120120

121121
void bnxt_tx_int_xdp(struct bnxt *bp, struct bnxt_napi *bnapi, int budget)

0 commit comments

Comments
 (0)