| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | From 6732a2821cf7eeffa284253f80fd757e1ac2df4f Mon Sep 17 00:00:00 2001 |
| 2 | From: Jan Kiszka <jan.kiszka@siemens.com> |
| 3 | Date: Sun, 2 Jun 2019 11:58:20 +0200 |
| 4 | Subject: [PATCH] ivshmem-net: Switch to netdev_xmit_more helper |
| 5 | |
| 6 | The skb field has been removed by 4f296edeb9d4. |
| 7 | |
| 8 | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> |
| 9 | (cherry picked from commit 80c301552ec0b500dd46a2b4f0c9fef78a610ee6) |
| 10 | --- |
| 11 | drivers/net/ivshmem-net.c | 10 ++++++---- |
| 12 | 1 file changed, 6 insertions(+), 4 deletions(-) |
| 13 | |
| 14 | --- a/drivers/net/ivshmem-net.c |
| 15 | +++ b/drivers/net/ivshmem-net.c |
| 16 | @@ -294,7 +294,8 @@ static u32 ivshm_net_tx_advance(struct i |
| 17 | return p; |
| 18 | } |
| 19 | |
| 20 | -static int ivshm_net_tx_frame(struct net_device *ndev, struct sk_buff *skb) |
| 21 | +static int ivshm_net_tx_frame(struct net_device *ndev, struct sk_buff *skb, |
| 22 | + bool xmit_more) |
| 23 | { |
| 24 | struct ivshm_net *in = netdev_priv(ndev); |
| 25 | struct ivshm_net_queue *tx = &in->tx; |
| 26 | @@ -327,7 +328,7 @@ static int ivshm_net_tx_frame(struct net |
| 27 | vr->avail->ring[avail] = desc_idx; |
| 28 | tx->num_added++; |
| 29 | |
| 30 | - if (!skb->xmit_more) { |
| 31 | + if (!xmit_more) { |
| 32 | virt_store_release(&vr->avail->idx, tx->last_avail_idx); |
| 33 | ivshm_net_notify_tx(in, tx->num_added); |
| 34 | tx->num_added = 0; |
| 35 | @@ -509,17 +510,18 @@ static int ivshm_net_poll(struct napi_st |
| 36 | static netdev_tx_t ivshm_net_xmit(struct sk_buff *skb, struct net_device *ndev) |
| 37 | { |
| 38 | struct ivshm_net *in = netdev_priv(ndev); |
| 39 | + bool xmit_more = netdev_xmit_more(); |
| 40 | |
| 41 | ivshm_net_tx_clean(ndev); |
| 42 | |
| 43 | if (!ivshm_net_tx_ok(in, ndev->mtu)) { |
| 44 | ivshm_net_enable_tx_irq(in); |
| 45 | netif_stop_queue(ndev); |
| 46 | - skb->xmit_more = 0; |
| 47 | + xmit_more = false; |
| 48 | in->stats.tx_pause++; |
| 49 | } |
| 50 | |
| 51 | - ivshm_net_tx_frame(ndev, skb); |
| 52 | + ivshm_net_tx_frame(ndev, skb, xmit_more); |
| 53 | |
| 54 | in->stats.tx_packets++; |
| 55 | ndev->stats.tx_packets++; |