diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2026-06-15 12:44:14 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-06-16 08:53:52 -0700 |
| commit | ae6e653514d156f0cc2327fe9e7db731ecb35a76 (patch) | |
| tree | 062aa0d7994229284a2619ce00d5a8fac7ddc259 | |
| parent | 6719d57ee047cba211e8684eef46d5486a3295bb (diff) | |
atm: remove the unused pre_send and send_bh device operations
atmdev_ops::pre_send (a TX pre-processing hook) and ::send_bh (a
bottom-half capable send variant) have no implementation behind them:
no remaining ATM driver sets either, so vcc_sendmsg() always skipped
pre_send and the raw AAL0/AAL5 paths always fell back to ->send().
The drivers that used these hooks were removed with the legacy ATM
adapters.
Drop both operations and the dead branches that tested for them.
Link: https://patch.msgid.link/20260615194416.752559-8-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
| -rw-r--r-- | include/linux/atmdev.h | 2 | ||||
| -rw-r--r-- | net/atm/common.c | 6 | ||||
| -rw-r--r-- | net/atm/raw.c | 7 |
3 files changed, 1 insertions, 14 deletions
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h index 218c05f2ec54..96ce36e02247 100644 --- a/include/linux/atmdev.h +++ b/include/linux/atmdev.h @@ -137,9 +137,7 @@ struct atmdev_ops { /* only send is required */ int (*compat_ioctl)(struct atm_dev *dev,unsigned int cmd, void __user *arg); #endif - int (*pre_send)(struct atm_vcc *vcc, struct sk_buff *skb); int (*send)(struct atm_vcc *vcc,struct sk_buff *skb); - int (*send_bh)(struct atm_vcc *vcc, struct sk_buff *skb); void (*phy_put)(struct atm_dev *dev,unsigned char value, unsigned long addr); unsigned char (*phy_get)(struct atm_dev *dev,unsigned long addr); diff --git a/net/atm/common.c b/net/atm/common.c index 44a0179d4586..654cbe3c855e 100644 --- a/net/atm/common.c +++ b/net/atm/common.c @@ -626,12 +626,6 @@ int vcc_sendmsg(struct socket *sock, struct msghdr *m, size_t size) if (eff != size) memset(skb->data + size, 0, eff-size); - if (vcc->dev->ops->pre_send) { - error = vcc->dev->ops->pre_send(vcc, skb); - if (error) - goto free_skb; - } - error = vcc->dev->ops->send(vcc, skb); error = error ? error : size; out: diff --git a/net/atm/raw.c b/net/atm/raw.c index 1d6ac7b0c4e5..87d136c7554b 100644 --- a/net/atm/raw.c +++ b/net/atm/raw.c @@ -54,8 +54,6 @@ static int atm_send_aal0(struct atm_vcc *vcc, struct sk_buff *skb) kfree_skb(skb); return -EADDRNOTAVAIL; } - if (vcc->dev->ops->send_bh) - return vcc->dev->ops->send_bh(vcc, skb); return vcc->dev->ops->send(vcc, skb); } @@ -71,10 +69,7 @@ int atm_init_aal5(struct atm_vcc *vcc) { vcc->push = atm_push_raw; vcc->pop = atm_pop_raw; - if (vcc->dev->ops->send_bh) - vcc->send = vcc->dev->ops->send_bh; - else - vcc->send = vcc->dev->ops->send; + vcc->send = vcc->dev->ops->send; return 0; } EXPORT_SYMBOL(atm_init_aal5); |
