Skip to content

Commit 548852a

Browse files
committed
Merge: net: stmmac: fix TSO DMA API usage causing oops
MR: https://gitlab.com/redhat/rhel/src/kernel/rhel-10/-/merge_requests/284 net: stmmac: fix TSO DMA API usage causing oops JIRA: https://issues.redhat.com/browse/RHEL-84762 Signed-off-by: Izabela Bakollari <ibakolla@redhat.com> Approved-by: Eric Chanudet <echanude@redhat.com> Approved-by: Kamal Heib <kheib@redhat.com> Approved-by: Mark Salter <msalter@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: Jan Stancek <jstancek@redhat.com>
2 parents dec8daa + 0a71be3 commit 548852a

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4217,8 +4217,8 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
42174217
struct stmmac_txq_stats *txq_stats;
42184218
struct stmmac_tx_queue *tx_q;
42194219
u32 pay_len, mss, queue;
4220+
dma_addr_t tso_des, des;
42204221
u8 proto_hdr_len, hdr;
4221-
dma_addr_t des;
42224222
bool set_ic;
42234223
int i;
42244224

@@ -4314,14 +4314,15 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
43144314

43154315
/* If needed take extra descriptors to fill the remaining payload */
43164316
tmp_pay_len = pay_len - TSO_MAX_BUFF_SIZE;
4317+
tso_des = des;
43174318
} else {
43184319
stmmac_set_desc_addr(priv, first, des);
43194320
tmp_pay_len = pay_len;
4320-
des += proto_hdr_len;
4321+
tso_des = des + proto_hdr_len;
43214322
pay_len = 0;
43224323
}
43234324

4324-
stmmac_tso_allocator(priv, des, tmp_pay_len, (nfrags == 0), queue);
4325+
stmmac_tso_allocator(priv, tso_des, tmp_pay_len, (nfrags == 0), queue);
43254326

43264327
/* In case two or more DMA transmit descriptors are allocated for this
43274328
* non-paged SKB data, the DMA buffer address should be saved to

0 commit comments

Comments
 (0)