From: Dmitry Shmidt Date: Mon, 13 Jun 2011 23:42:13 +0000 (-0700) Subject: net: wireless: bcmdhd: Allocate skb with GFP_KERNEL flag if possible X-Git-Tag: 2.1b_release~2579 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e13603951a141aca864cb91826916b2b53ef98be;p=platform%2Fkernel%2Fkernel-mfld-blackbay.git net: wireless: bcmdhd: Allocate skb with GFP_KERNEL flag if possible Signed-off-by: Dmitry Shmidt --- diff --git a/drivers/net/wireless/bcmdhd/linux_osl.c b/drivers/net/wireless/bcmdhd/linux_osl.c index 14b9aa1..bfbfc88 100644 --- a/drivers/net/wireless/bcmdhd/linux_osl.c +++ b/drivers/net/wireless/bcmdhd/linux_osl.c @@ -246,6 +246,13 @@ osl_detach(osl_t *osh) kfree(osh); } +struct sk_buff *osl_alloc_skb(unsigned int len) +{ + gfp_t flags = (in_atomic()) ? GFP_ATOMIC : GFP_KERNEL; + + return __dev_alloc_skb(len, flags); +} + #ifdef CTFPOOL void * @@ -266,7 +273,7 @@ osl_ctfpool_add(osl_t *osh) } - skb = dev_alloc_skb(osh->ctfpool->obj_size); + skb = osl_alloc_skb(osh->ctfpool->obj_size); if (skb == NULL) { printf("%s: skb alloc of len %d failed\n", __FUNCTION__, osh->ctfpool->obj_size); @@ -426,7 +433,7 @@ osl_pktfastget(osl_t *osh, uint len) return skb; } -#endif +#endif void * BCMFASTPATH @@ -435,16 +442,14 @@ osl_pktget(osl_t *osh, uint len) struct sk_buff *skb; #ifdef CTFPOOL - skb = osl_pktfastget(osh, len); - if ((skb != NULL) || ((skb = dev_alloc_skb(len)) != NULL)) { -#else - if ((skb = dev_alloc_skb(len))) { -#endif + if ((skb != NULL) || ((skb = osl_alloc_skb(len)) != NULL)) { +#else + if ((skb = osl_alloc_skb(len))) { +#endif skb_put(skb, len); skb->priority = 0; - osh->pub.pktalloced++; }