aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/lapb.h3
-rw-r--r--net/lapb/lapb_iface.c6
2 files changed, 5 insertions, 4 deletions
diff --git a/include/net/lapb.h b/include/net/lapb.h
index 9510f8725f03..85e773742f4e 100644
--- a/include/net/lapb.h
+++ b/include/net/lapb.h
@@ -1,6 +1,7 @@
1#ifndef _LAPB_H 1#ifndef _LAPB_H
2#define _LAPB_H 2#define _LAPB_H
3#include <linux/lapb.h> 3#include <linux/lapb.h>
4#include <linux/refcount.h>
4 5
5#define LAPB_HEADER_LEN 20 /* LAPB over Ethernet + a bit more */ 6#define LAPB_HEADER_LEN 20 /* LAPB over Ethernet + a bit more */
6 7
@@ -101,7 +102,7 @@ struct lapb_cb {
101 struct lapb_frame frmr_data; 102 struct lapb_frame frmr_data;
102 unsigned char frmr_type; 103 unsigned char frmr_type;
103 104
104 atomic_t refcnt; 105 refcount_t refcnt;
105}; 106};
106 107
107/* lapb_iface.c */ 108/* lapb_iface.c */
diff --git a/net/lapb/lapb_iface.c b/net/lapb/lapb_iface.c
index b50b64ac8815..e15314e3b464 100644
--- a/net/lapb/lapb_iface.c
+++ b/net/lapb/lapb_iface.c
@@ -54,12 +54,12 @@ static void lapb_free_cb(struct lapb_cb *lapb)
54 54
55static __inline__ void lapb_hold(struct lapb_cb *lapb) 55static __inline__ void lapb_hold(struct lapb_cb *lapb)
56{ 56{
57 atomic_inc(&lapb->refcnt); 57 refcount_inc(&lapb->refcnt);
58} 58}
59 59
60static __inline__ void lapb_put(struct lapb_cb *lapb) 60static __inline__ void lapb_put(struct lapb_cb *lapb)
61{ 61{
62 if (atomic_dec_and_test(&lapb->refcnt)) 62 if (refcount_dec_and_test(&lapb->refcnt))
63 lapb_free_cb(lapb); 63 lapb_free_cb(lapb);
64} 64}
65 65
@@ -136,7 +136,7 @@ static struct lapb_cb *lapb_create_cb(void)
136 lapb->mode = LAPB_DEFAULT_MODE; 136 lapb->mode = LAPB_DEFAULT_MODE;
137 lapb->window = LAPB_DEFAULT_WINDOW; 137 lapb->window = LAPB_DEFAULT_WINDOW;
138 lapb->state = LAPB_STATE_0; 138 lapb->state = LAPB_STATE_0;
139 atomic_set(&lapb->refcnt, 1); 139 refcount_set(&lapb->refcnt, 1);
140out: 140out:
141 return lapb; 141 return lapb;
142} 142}