mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-01 23:04:54 +01:00
net: thunderbolt: Enable end-to-end flow control also in transmit
According to USB4 specification, if E2E flow control is disabled for the Transmit Descriptor Ring, the Host Interface Adapter Layer shall not require any credits to be available before transmitting a Tunneled Packet from this Transmit Descriptor Ring, so e2e flow control should be enabled in both directions. Acked-by: Mika Westerberg <[email protected]> Link: https://lore.kernel.org/[email protected] Signed-off-by: zhangjianrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
This commit is contained in:
1 parent
8ec31cb17c
commit
a8065af334
1 file changed
+6
-7
@@ -924,8 +924,12 @@ static int tbnet_open(struct net_device *dev)
|
||||
|
||||
netif_carrier_off(dev);
|
||||
|
||||
ring = tb_ring_alloc_tx(xd->tb->nhi, -1, TBNET_RING_SIZE,
|
||||
RING_FLAG_FRAME);
|
||||
flags = RING_FLAG_FRAME;
|
||||
/* Only enable full E2E if the other end supports it too */
|
||||
if (tbnet_e2e && net->svc->prtcstns & TBNET_E2E)
|
||||
flags |= RING_FLAG_E2E;
|
||||
|
||||
ring = tb_ring_alloc_tx(xd->tb->nhi, -1, TBNET_RING_SIZE, flags);
|
||||
if (!ring) {
|
||||
netdev_err(dev, "failed to allocate Tx ring\n");
|
||||
return -ENOMEM;
|
||||
@@ -944,11 +948,6 @@ static int tbnet_open(struct net_device *dev)
|
||||
sof_mask = BIT(TBIP_PDF_FRAME_START);
|
||||
eof_mask = BIT(TBIP_PDF_FRAME_END);
|
||||
|
||||
flags = RING_FLAG_FRAME;
|
||||
/* Only enable full E2E if the other end supports it too */
|
||||
if (tbnet_e2e && net->svc->prtcstns & TBNET_E2E)
|
||||
flags |= RING_FLAG_E2E;
|
||||
|
||||
ring = tb_ring_alloc_rx(xd->tb->nhi, -1, TBNET_RING_SIZE, flags,
|
||||
net->tx_ring.ring->hop, sof_mask,
|
||||
eof_mask, tbnet_start_poll, net);
|
||||
|
||||
Reference in new issue
Block a user