projects
/
openwrt-10.03
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
keep track of the wifi interface state in /var/state/wireless
[openwrt-10.03/.git]
/
package
/
broadcom-wl
/
src
/
kmod
/
linux_osl.c
diff --git
a/package/broadcom-wl/src/kmod/linux_osl.c
b/package/broadcom-wl/src/kmod/linux_osl.c
index d702961032a2357f26d3833abc06282e8d45cc6f..24fd77daea53c3f7bbfab50aa2b8f17b9f15a674 100644
(file)
--- a/
package/broadcom-wl/src/kmod/linux_osl.c
+++ b/
package/broadcom-wl/src/kmod/linux_osl.c
@@
-159,13
+159,18
@@
osl_pktget(osl_t *osh, uint len, bool send)
return ((void*) skb);
}
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
/* 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;
{
struct sk_buff *skb, *nskb;
+ pktfree_cb_fn_t tx_fn = osh->pub.tx_fn;
skb = (struct sk_buff*) p;
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) {
/* perversion: we use skb->next to chain multi-skb packets */
while (skb) {