Date: Thu, 08 Mar 2012 00:38:44 +0900 (JST) From: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org> To: bschmidt@freebsd.org Cc: adrian@freebsd.org, freebsd-current@freebsd.org, freebsd-wireless@freebsd.org Subject: Re: patches for if_iwi and wlan for WEP mode Message-ID: <20120308.003844.08316346.iwasaki@jp.FreeBSD.org> In-Reply-To: <201203062005.15276.bschmidt@freebsd.org> References: <201203052314.22050.bschmidt@freebsd.org> <20120307.023046.27956263.iwasaki@jp.FreeBSD.org> <201203062005.15276.bschmidt@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> > In RELENG_7, data frame is transmitted by iwi_tx_start() like this. > > > > ether_output > > ether_output_frame > > IFQ_HANDOFF/IFQ_HANDOFF_ADJ > > if_start > > iwi_start > > iwi_tx_start > > > > After 8.0-RELEASE, device specific if_transmit() is called via net80211 layer. > > > > ether_output > > ether_output_frame > > if_transmit > > IFQ_HANDOFF/IFQ_HANDOFF_ADJ > > if_start > > ieee80211_start > > parent->if_transmit(ie. iwi_transmit()) > > > > There was not if_transmit method in iwi(4), so I add it. > > On if_qflush(), CURRENT kernel complains that `transmit and qflush > > must both either be set or both be NULL' from if.c. > > I wrote iwi_qflush(), but actually never tested it... > > Hmm, it still is the case for >= 8 afaik, there is a default > if_transmit() which is used for all wireless drivers which seems to > work pretty well. That's why I'm wondering, iwi(4) would be the first > driver to have it's own if_transmit() function. I'm not aware of any > technical reason for adding one, or did I miss something? If not I'd > rather not have one added, for sake of consistency. By your this comment, I noticed that my understanding on iwi_start() call stack > 8.0 was wrong a bit, correct one is like this; ether_output ether_output_frame if_transmit IFQ_HANDOFF/IFQ_HANDOFF_ADJ if_start ieee80211_start parent->if_transmit(ie. if_transmit()) IFQ_HANDOFF/IFQ_HANDOFF_ADJ if_start iwi_start iwi_start_locked iwi_tx_start So iwi_transmit and iwi_qflush would not be necessary. Today's version of patches at: http://people.freebsd.org/~iwasaki/iwi/iwi-20120307.diff This would be the final version I hope. Thanks!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120308.003844.08316346.iwasaki>