upgrade to broadcom wl driver version 4.80.53.0 (from wrt350n release)
[openwrt-10.03/.git] / package / broadcom-wl / src / kmod / linux_osl.c
index d702961032a2357f26d3833abc06282e8d45cc6f..24fd77daea53c3f7bbfab50aa2b8f17b9f15a674 100644 (file)
@@ -159,13 +159,18 @@ osl_pktget(osl_t *osh, uint len, bool send)
        return ((void*) skb);
 }
 
+typedef void (*pktfree_cb_fn_t)(void *ctx, void *pkt, uint16 status);
 /* Free the driver packet. Free the tag if present */
 void
-osl_pktfree(osl_t *osh, void *p)
+osl_pktfree(osl_t *osh, void *p, bool send)
 {
        struct sk_buff *skb, *nskb;
+       pktfree_cb_fn_t tx_fn = osh->pub.tx_fn;
 
        skb = (struct sk_buff*) p;
+       
+       if (send && tx_fn)
+               tx_fn(osh->pub.tx_ctx, p, 0);
 
        /* perversion: we use skb->next to chain multi-skb packets */
        while (skb) {