Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 277885
b: refs/heads/master
c: 53ee4bc
h: refs/heads/master
i:
  277883: 935616a
v: v3
  • Loading branch information
Arend van Spriel authored and John W. Linville committed Nov 11, 2011
1 parent a305804 commit 0726c92
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9a95e60e0610bb8ec39c74d2c8546514a76428df
refs/heads/master: 53ee4bc46784ad53d0a9be52e8d687dd4e89a055
33 changes: 11 additions & 22 deletions trunk/drivers/net/wireless/brcm80211/brcmutil/utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,28 +41,17 @@ EXPORT_SYMBOL(brcmu_pkt_buf_get_skb);
/* Free the driver packet. Free the tag if present */
void brcmu_pkt_buf_free_skb(struct sk_buff *skb)
{
struct sk_buff *nskb;
int nest = 0;

/* perversion: we use skb->next to chain multi-skb packets */
while (skb) {
nskb = skb->next;
skb->next = NULL;

if (skb->destructor)
/* cannot kfree_skb() on hard IRQ (net/core/skbuff.c) if
* destructor exists
*/
dev_kfree_skb_any(skb);
else
/* can free immediately (even in_irq()) if destructor
* does not exist
*/
dev_kfree_skb(skb);

nest++;
skb = nskb;
}
WARN_ON(skb->next);
if (skb->destructor)
/* cannot kfree_skb() on hard IRQ (net/core/skbuff.c) if
* destructor exists
*/
dev_kfree_skb_any(skb);
else
/* can free immediately (even in_irq()) if destructor
* does not exist
*/
dev_kfree_skb(skb);
}
EXPORT_SYMBOL(brcmu_pkt_buf_free_skb);

Expand Down

0 comments on commit 0726c92

Please sign in to comment.