summaryrefslogtreecommitdiff
path: root/net/irda/irttp.c
diff options
context:
space:
mode:
authorSamuel Ortiz <samuel@sortiz.org>2006-07-21 14:50:41 -0700
committerDavid S. Miller <davem@davemloft.net>2006-07-21 14:50:41 -0700
commit485fb2c998a37d5c3c6aa082aa451e66db90f34a (patch)
tree6adc0e5c935072d82143e7354bc633eac7feed9b /net/irda/irttp.c
parentb82631581372dc00b3507cedc3ad47af29efe962 (diff)
downloadlinux-rpi3-485fb2c998a37d5c3c6aa082aa451e66db90f34a.tar.gz
linux-rpi3-485fb2c998a37d5c3c6aa082aa451e66db90f34a.tar.bz2
linux-rpi3-485fb2c998a37d5c3c6aa082aa451e66db90f34a.zip
[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,
IRDA_DEBUG(2, "%s(), fragmenting ...\n", __FUNCTION__);
/* Make new segment */
- frag = dev_alloc_skb(self->max_seg_size+self->max_header_size);
+ frag = alloc_skb(self->max_seg_size+self->max_header_size,
+ GFP_ATOMIC);
if (!frag)
return;
@@ -805,7 +806,7 @@ static inline void irttp_give_credit(struct tsap_cb *self)
self->send_credit, self->avail_credit, self->remote_credit);
/* Give credit to peer */
- tx_skb = dev_alloc_skb(64);
+ tx_skb = alloc_skb(64, GFP_ATOMIC);
if (!tx_skb)
return;
@@ -1094,7 +1095,7 @@ int irttp_connect_request(struct tsap_cb *self, __u8 dtsap_sel,
/* Any userdata supplied? */
if (userdata == NULL) {
- tx_skb = dev_alloc_skb(64);
+ tx_skb = alloc_skb(64, GFP_ATOMIC);
if (!tx_skb)
return -ENOMEM;
@@ -1342,7 +1343,7 @@ int irttp_connect_response(struct tsap_cb *self, __u32 max_sdu_size,
/* Any userdata supplied? */
if (userdata == NULL) {
- tx_skb = dev_alloc_skb(64);
+ tx_skb = alloc_skb(64, GFP_ATOMIC);
if (!tx_skb)
return -ENOMEM;
@@ -1541,7 +1542,7 @@ int irttp_disconnect_request(struct tsap_cb *self, struct sk_buff *userdata,
if (!userdata) {
struct sk_buff *tx_skb;
- tx_skb = dev_alloc_skb(64);
+ tx_skb = alloc_skb(64, GFP_ATOMIC);
if (!tx_skb)
return -ENOMEM;