Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 35135
b: refs/heads/master
c: d15064a
h: refs/heads/master
i:
  35133: 1ff1a07
  35131: c191090
  35127: cbf8513
  35119: d1b733e
  35103: e8c716f
  35071: fd9a325
v: v3
  • Loading branch information
Jeff Garzik committed Aug 9, 2006
1 parent 75e4eb9 commit b8bf32c
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 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: e27cdba53b8ad5c12c9281b3737e07f2a536c3a2
refs/heads/master: d15064aa94f44a17bfc052f5b748f5e240735551
24 changes: 23 additions & 1 deletion trunk/net/core/wireless.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
#include <linux/init.h> /* for __init */
#include <linux/if_arp.h> /* ARPHRD_ETHER */
#include <linux/etherdevice.h> /* compare_ether_addr */
#include <linux/interrupt.h>

#include <linux/wireless.h> /* Pretty obvious */
#include <net/iw_handler.h> /* New driver API */
Expand Down Expand Up @@ -1842,6 +1843,18 @@ int wireless_rtnetlink_set(struct net_device * dev,
*/

#ifdef WE_EVENT_RTNETLINK
static struct sk_buff_head wireless_nlevent_queue;

static void wireless_nlevent_process(unsigned long data)
{
struct sk_buff *skb;

while ((skb = skb_dequeue(&wireless_nlevent_queue)))
netlink_broadcast(rtnl, skb, 0, RTNLGRP_LINK, GFP_ATOMIC);
}

static DECLARE_TASKLET(wireless_nlevent_tasklet, wireless_nlevent_process, 0);

/* ---------------------------------------------------------------- */
/*
* Fill a rtnetlink message with our event data.
Expand Down Expand Up @@ -1904,8 +1917,17 @@ static inline void rtmsg_iwinfo(struct net_device * dev,
return;
}
NETLINK_CB(skb).dst_group = RTNLGRP_LINK;
netlink_broadcast(rtnl, skb, 0, RTNLGRP_LINK, GFP_ATOMIC);
skb_queue_tail(&wireless_nlevent_queue, skb);
tasklet_schedule(&wireless_nlevent_tasklet);
}

static int __init wireless_nlevent_init(void)
{
skb_queue_head_init(&wireless_nlevent_queue);
return 0;
}

subsys_initcall(wireless_nlevent_init);
#endif /* WE_EVENT_RTNETLINK */

/* ---------------------------------------------------------------- */
Expand Down

0 comments on commit b8bf32c

Please sign in to comment.