diff options
| author | Rob Clark <robin.clark@oss.qualcomm.com> | 2025-11-01 05:47:30 -0700 |
|---|---|---|
| committer | Rob Clark <robin.clark@oss.qualcomm.com> | 2025-11-01 05:47:30 -0700 |
| commit | cb9f145f638d7afa633632a9290d6ad06caeb8ee (patch) | |
| tree | 1a4dec3bedfb02c62a08a5ebe95717f53e6ded20 /include/linux/atmdev.h | |
| parent | f5d079564c44baaeedf5e25f4b943aa042ea0eb1 (diff) | |
| parent | f67d54e96bc9e4e20a927868f02c2e9d1aa09751 (diff) | |
Merge remote-tracking branch 'drm/drm-next' into msm-next-robclark
Back-merge drm-next to get caught up.
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
Diffstat (limited to 'include/linux/atmdev.h')
| -rw-r--r-- | include/linux/atmdev.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h index 9b02961d65ee..70807c679f1a 100644 --- a/include/linux/atmdev.h +++ b/include/linux/atmdev.h @@ -185,6 +185,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); int (*send_oam)(struct atm_vcc *vcc,void *cell,int flags); @@ -249,6 +250,12 @@ static inline void atm_account_tx(struct atm_vcc *vcc, struct sk_buff *skb) ATM_SKB(skb)->atm_options = vcc->atm_options; } +static inline void atm_return_tx(struct atm_vcc *vcc, struct sk_buff *skb) +{ + WARN_ON_ONCE(refcount_sub_and_test(ATM_SKB(skb)->acct_truesize, + &sk_atm(vcc)->sk_wmem_alloc)); +} + static inline void atm_force_charge(struct atm_vcc *vcc,int truesize) { atomic_add(truesize, &sk_atm(vcc)->sk_rmem_alloc); |
