diff options
author | Samuel Ortiz <samuel@sortiz.org> | 2006-07-21 17:50:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-07-21 17:50:41 -0400 |
commit | 485fb2c998a37d5c3c6aa082aa451e66db90f34a (patch) | |
tree | 6adc0e5c935072d82143e7354bc633eac7feed9b /net/irda/irttp.c | |
parent | b82631581372dc00b3507cedc3ad47af29efe962 (diff) |
[IrDA]: Use alloc_skb() in IrDA TX path
As pointed out by Christoph Hellwig, dev_alloc_skb() is not intended to be
used for allocating TX sk_buff. The IrDA stack was exclusively calling
dev_alloc_skb() on the TX path, and this patch fixes that.
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/irda/irttp.c')
-rw-r--r-- | net/irda/irttp.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/net/irda/irttp.c b/net/irda/irttp.c index 49c51c5f1a86..7a3ccb8a6698 100644 --- a/net/irda/irttp.c +++ b/net/irda/irttp.c | |||
@@ -306,7 +306,8 @@ static inline void irttp_fragment_skb(struct tsap_cb *self, | |||
306 | IRDA_DEBUG(2, "%s(), fragmenting ...\n", __FUNCTION__); | 306 | IRDA_DEBUG(2, "%s(), fragmenting ...\n", __FUNCTION__); |
307 | 307 | ||
308 | /* Make new segment */ | 308 | /* Make new segment */ |
309 | frag = dev_alloc_skb(self->max_seg_size+self->max_header_size); | 309 | frag = alloc_skb(self->max_seg_size+self->max_header_size, |
310 | GFP_ATOMIC); | ||
310 | if (!frag) | 311 | if (!frag) |
311 | return; | 312 | return; |
312 | 313 | ||
@@ -805,7 +806,7 @@ static inline void irttp_give_credit(struct tsap_cb *self) | |||
805 | self->send_credit, self->avail_credit, self->remote_credit); | 806 | self->send_credit, self->avail_credit, self->remote_credit); |
806 | 807 | ||
807 | /* Give credit to peer */ | 808 | /* Give credit to peer */ |
808 | tx_skb = dev_alloc_skb(64); | 809 | tx_skb = alloc_skb(64, GFP_ATOMIC); |
809 | if (!tx_skb) | 810 | if (!tx_skb) |
810 | return; | 811 | return; |
811 | 812 | ||
@@ -1094,7 +1095,7 @@ int irttp_connect_request(struct tsap_cb *self, __u8 dtsap_sel, | |||
1094 | 1095 | ||
1095 | /* Any userdata supplied? */ | 1096 | /* Any userdata supplied? */ |
1096 | if (userdata == NULL) { | 1097 | if (userdata == NULL) { |
1097 | tx_skb = dev_alloc_skb(64); | 1098 | tx_skb = alloc_skb(64, GFP_ATOMIC); |
1098 | if (!tx_skb) | 1099 | if (!tx_skb) |
1099 | return -ENOMEM; | 1100 | return -ENOMEM; |
1100 | 1101 | ||
@@ -1342,7 +1343,7 @@ int irttp_connect_response(struct tsap_cb *self, __u32 max_sdu_size, | |||
1342 | 1343 | ||
1343 | /* Any userdata supplied? */ | 1344 | /* Any userdata supplied? */ |
1344 | if (userdata == NULL) { | 1345 | if (userdata == NULL) { |
1345 | tx_skb = dev_alloc_skb(64); | 1346 | tx_skb = alloc_skb(64, GFP_ATOMIC); |
1346 | if (!tx_skb) | 1347 | if (!tx_skb) |
1347 | return -ENOMEM; | 1348 | return -ENOMEM; |
1348 | 1349 | ||
@@ -1541,7 +1542,7 @@ int irttp_disconnect_request(struct tsap_cb *self, struct sk_buff *userdata, | |||
1541 | 1542 | ||
1542 | if (!userdata) { | 1543 | if (!userdata) { |
1543 | struct sk_buff *tx_skb; | 1544 | struct sk_buff *tx_skb; |
1544 | tx_skb = dev_alloc_skb(64); | 1545 | tx_skb = alloc_skb(64, GFP_ATOMIC); |
1545 | if (!tx_skb) | 1546 | if (!tx_skb) |
1546 | return -ENOMEM; | 1547 | return -ENOMEM; |
1547 | 1548 | ||