diff options
| author | Doug Ledford <dledford@redhat.com> | 2017-07-17 18:26:58 +0300 |
|---|---|---|
| committer | Doug Ledford <dledford@redhat.com> | 2017-07-17 18:26:58 +0300 |
| commit | 3d886aa3be15439e05784ac1cbd4acc2f13c0048 (patch) | |
| tree | 5d7d5943c7f6697e640bdd684a560e9af7942300 /include/linux/atmdev.h | |
| parent | b6ea01ba3fe9dcb5e08bbd9ed482845582a1e80b (diff) | |
| parent | 5771a8c08880cdca3bfb4a3fc6d309d6bba20877 (diff) | |
| download | linux-3d886aa3be15439e05784ac1cbd4acc2f13c0048.tar.xz | |
Merge tag 'v4.13-rc1' into k.o/for-4.13-rc
Linux v4.13-rc1
Diffstat (limited to 'include/linux/atmdev.h')
| -rw-r--r-- | include/linux/atmdev.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h index c1da539f5e28..0ec9bdb1cc9f 100644 --- a/include/linux/atmdev.h +++ b/include/linux/atmdev.h @@ -11,6 +11,7 @@ #include <linux/uio.h> #include <net/sock.h> #include <linux/atomic.h> +#include <linux/refcount.h> #include <uapi/linux/atmdev.h> #ifdef CONFIG_PROC_FS @@ -158,7 +159,7 @@ struct atm_dev { struct k_atm_dev_stats stats; /* statistics */ char signal; /* signal status (ATM_PHY_SIG_*) */ int link_rate; /* link rate (default: OC3) */ - atomic_t refcnt; /* reference count */ + refcount_t refcnt; /* reference count */ spinlock_t lock; /* protect internal members */ #ifdef CONFIG_PROC_FS struct proc_dir_entry *proc_entry; /* proc entry */ @@ -254,20 +255,20 @@ static inline void atm_return(struct atm_vcc *vcc,int truesize) static inline int atm_may_send(struct atm_vcc *vcc,unsigned int size) { - return (size + atomic_read(&sk_atm(vcc)->sk_wmem_alloc)) < + return (size + refcount_read(&sk_atm(vcc)->sk_wmem_alloc)) < sk_atm(vcc)->sk_sndbuf; } static inline void atm_dev_hold(struct atm_dev *dev) { - atomic_inc(&dev->refcnt); + refcount_inc(&dev->refcnt); } static inline void atm_dev_put(struct atm_dev *dev) { - if (atomic_dec_and_test(&dev->refcnt)) { + if (refcount_dec_and_test(&dev->refcnt)) { BUG_ON(!test_bit(ATM_DF_REMOVED, &dev->flags)); if (dev->ops->dev_close) dev->ops->dev_close(dev); |
