aboutsummaryrefslogtreecommitdiffstats
path: root/net/irda/irttp.c
diff options
context:
space:
mode:
authorSamuel Ortiz <samuel@sortiz.org>2006-07-21 17:50:41 -0400
committerDavid S. Miller <davem@davemloft.net>2006-07-21 17:50:41 -0400
commit485fb2c998a37d5c3c6aa082aa451e66db90f34a (patch)
tree6adc0e5c935072d82143e7354bc633eac7feed9b /net/irda/irttp.c
parentb82631581372dc00b3507cedc3ad47af29efe962 (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.c11
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