cvs commit: src/sys/dev/netif/acx if_acx.c src/sys/dev/netif/ipw if_ipw.c src/sys/dev/netif/ral rt2560.c rt2661.c src/sys/dev/netif/rum if_rum.c src/sys/netproto/802_11 ieee80211_dragonfly.h src/sys/netproto/802_11/wlan ieee80211_dragonfly.c ...

Sascha Wildner swildner at crater.dragonflybsd.org
Tue Jan 2 15:31:29 PST 2007


swildner    2007/01/02 15:28:49 PST

DragonFly src repository

  Modified files:
    sys/dev/netif/acx    if_acx.c 
    sys/dev/netif/ipw    if_ipw.c 
    sys/dev/netif/ral    rt2560.c rt2661.c 
    sys/dev/netif/rum    if_rum.c 
    sys/netproto/802_11  ieee80211_dragonfly.h 
    sys/netproto/802_11/wlan ieee80211_dragonfly.c 
                             ieee80211_proto.c 
  Log:
  [committed on behalf of sephe]
  
  - Fix ieee80211_node leakage.  The leakage is caused by calling IF_DRAIN()
    on management ifqueue whose mbuf's m_pkthdr.rcvif has special meaning:
    it holds ieee80211_node to which the management frame should be sent and
    the node has its reference count bumped.
    Add a new function ieee80211_drain_mgtq(), which frees ieee80211_node
    pointed by mbuf's m_pkthdr.rcvif before freeing the mbuf.  Use this function
    to drain management ifqueue instead of IF_DRAIN().
  - In acx(4), ipw(4), ral(4) and rum(4) 'stop' routines, move
    ieee80211_new_state(IEEE80211_S_INIT) before clearing IFF_RUNNING in
    ifnet.if_flags, so these drivers may send out management frames injected
    by ieee80211_newstate(IEEE80211_S_INIT). (*)
  
  # (*) Without proper hardware TX queue drain functionality, the management
  #     frames injected by ieee80211_newstate(IEEE80211_S_INIT) almost no
  #     chance to float in the air.
  
  Revision  Changes    Path
  1.15      +2 -1      src/sys/dev/netif/acx/if_acx.c
  1.19      +2 -2      src/sys/dev/netif/ipw/if_ipw.c
  1.8       +2 -2      src/sys/dev/netif/ral/rt2560.c
  1.10      +2 -2      src/sys/dev/netif/ral/rt2661.c
  1.4       +6 -7      src/sys/dev/netif/rum/if_rum.c
  1.2       +1 -0      src/sys/netproto/802_11/ieee80211_dragonfly.h
  1.9       +20 -0     src/sys/netproto/802_11/wlan/ieee80211_dragonfly.c
  1.9       +16 -8     src/sys/netproto/802_11/wlan/ieee80211_proto.c


http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/acx/if_acx.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/ipw/if_ipw.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/ral/rt2560.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/ral/rt2661.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/rum/if_rum.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/802_11/ieee80211_dragonfly.h.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/802_11/wlan/ieee80211_dragonfly.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/802_11/wlan/ieee80211_proto.c.diff?r1=1.8&r2=1.9&f=u





More information about the Commits mailing list