diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-18 21:02:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-18 21:02:35 -0400 |
commit | 334d094504c2fe1c44211ecb49146ae6bca8c321 (patch) | |
tree | d3c0f68e4b9f8e3d2ccc39e7dfe5de0534a5fad9 /net/sctp/chunk.c | |
parent | d1a4be630fb068f251d64b62919f143c49ca8057 (diff) | |
parent | d1643d24c61b725bef399cc1cf2944b4c9c23177 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)
[NET]: Fix and allocate less memory for ->priv'less netdevices
[IPV6]: Fix dangling references on error in fib6_add().
[NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found
[PKT_SCHED]: Fix datalen check in tcf_simp_init().
[INET]: Uninline the __inet_inherit_port call.
[INET]: Drop the inet_inherit_port() call.
SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.
[netdrvr] forcedeth: internal simplifications; changelog removal
phylib: factor out get_phy_id from within get_phy_device
PHY: add BCM5464 support to broadcom PHY driver
cxgb3: Fix __must_check warning with dev_dbg.
tc35815: Statistics cleanup
natsemi: fix MMIO for PPC 44x platforms
[TIPC]: Cleanup of TIPC reference table code
[TIPC]: Optimized initialization of TIPC reference table
[TIPC]: Remove inlining of reference table locking routines
e1000: convert uint16_t style integers to u16
ixgb: convert uint16_t style integers to u16
sb1000.c: make const arrays static
sb1000.c: stop inlining largish static functions
...
Diffstat (limited to 'net/sctp/chunk.c')
-rw-r--r-- | net/sctp/chunk.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/net/sctp/chunk.c b/net/sctp/chunk.c index 4d3128f5ccc3..1748ef90950c 100644 --- a/net/sctp/chunk.c +++ b/net/sctp/chunk.c | |||
@@ -66,9 +66,10 @@ SCTP_STATIC struct sctp_datamsg *sctp_datamsg_new(gfp_t gfp) | |||
66 | { | 66 | { |
67 | struct sctp_datamsg *msg; | 67 | struct sctp_datamsg *msg; |
68 | msg = kmalloc(sizeof(struct sctp_datamsg), gfp); | 68 | msg = kmalloc(sizeof(struct sctp_datamsg), gfp); |
69 | if (msg) | 69 | if (msg) { |
70 | sctp_datamsg_init(msg); | 70 | sctp_datamsg_init(msg); |
71 | SCTP_DBG_OBJCNT_INC(datamsg); | 71 | SCTP_DBG_OBJCNT_INC(datamsg); |
72 | } | ||
72 | return msg; | 73 | return msg; |
73 | } | 74 | } |
74 | 75 | ||
@@ -136,20 +137,6 @@ void sctp_datamsg_put(struct sctp_datamsg *msg) | |||
136 | sctp_datamsg_destroy(msg); | 137 | sctp_datamsg_destroy(msg); |
137 | } | 138 | } |
138 | 139 | ||
139 | /* Free a message. Really just give up a reference, the | ||
140 | * really free happens in sctp_datamsg_destroy(). | ||
141 | */ | ||
142 | void sctp_datamsg_free(struct sctp_datamsg *msg) | ||
143 | { | ||
144 | sctp_datamsg_put(msg); | ||
145 | } | ||
146 | |||
147 | /* Hold on to all the fragments until all chunks have been sent. */ | ||
148 | void sctp_datamsg_track(struct sctp_chunk *chunk) | ||
149 | { | ||
150 | sctp_chunk_hold(chunk); | ||
151 | } | ||
152 | |||
153 | /* Assign a chunk to this datamsg. */ | 140 | /* Assign a chunk to this datamsg. */ |
154 | static void sctp_datamsg_assign(struct sctp_datamsg *msg, struct sctp_chunk *chunk) | 141 | static void sctp_datamsg_assign(struct sctp_datamsg *msg, struct sctp_chunk *chunk) |
155 | { | 142 | { |
@@ -189,7 +176,7 @@ struct sctp_datamsg *sctp_datamsg_from_user(struct sctp_association *asoc, | |||
189 | msecs_to_jiffies(sinfo->sinfo_timetolive); | 176 | msecs_to_jiffies(sinfo->sinfo_timetolive); |
190 | msg->can_abandon = 1; | 177 | msg->can_abandon = 1; |
191 | SCTP_DEBUG_PRINTK("%s: msg:%p expires_at: %ld jiffies:%ld\n", | 178 | SCTP_DEBUG_PRINTK("%s: msg:%p expires_at: %ld jiffies:%ld\n", |
192 | __FUNCTION__, msg, msg->expires_at, jiffies); | 179 | __func__, msg, msg->expires_at, jiffies); |
193 | } | 180 | } |
194 | 181 | ||
195 | max = asoc->frag_point; | 182 | max = asoc->frag_point; |
@@ -295,7 +282,7 @@ errout: | |||
295 | chunk = list_entry(pos, struct sctp_chunk, frag_list); | 282 | chunk = list_entry(pos, struct sctp_chunk, frag_list); |
296 | sctp_chunk_free(chunk); | 283 | sctp_chunk_free(chunk); |
297 | } | 284 | } |
298 | sctp_datamsg_free(msg); | 285 | sctp_datamsg_put(msg); |
299 | return NULL; | 286 | return NULL; |
300 | } | 287 | } |
301 | 288 | ||