[PATCH] [00/48] libertas update
David Woodhouse
dwmw2 at infradead.org
Mon Dec 10 10:45:34 EST 2007
This is the first set of patches to clean up the libertas driver, from the
tree at git://git.infradead.org/libertas-2.6.git
It removes the 'struct lbs_adapter' data structure, merging it into
'struct lbs_private', and removes a bunch of pointless unused fields
from it.
It collapses the pointless nest of functions in the transmit path, which
used to go pre_start_xmit->hard_start_xmit->lbs_process_tx->SendSinglePacket
and now can be handled entirely in libertas_hard_start_xmit() -- thus
removing the need to store information about which netdevice the packet
belongs to, so the whole IS_MESH_FRAME / {UN,}SET_MESH_FRAME thing can go
away too.
It slightly cleans up the RX code path too, along similar lines. There's
more to be done here.
It fixes radiotap mode so that you can query it without crashing, and
can even enable it and see packets, which is a shiny new feature. As an
added bonus, you can even disable it again without crashing, too.
It also fixes a bunch of other things which offended me along the way,
and makes a start at addressing the locking issues with command and data
transmission to the device, partly by moving the actual TX packet
submission to the context of the main worker thread.
There's more to be done, but it seems to make sense to merge at this point
before I embark on the next batch...
Dan Williams (1):
libertas: select WIRELESS_EXT
David Woodhouse (39):
libertas: Fix memory leak of RX skbs
libertas: Remove cmd_oid from struct cmd_ctrl_node
libertas: Consolidate lbs_host_to_card_done() function.
libertas: Don't claim to have checksummed incoming packets.
libertas: Move SET_BOOT2_VER command to if_usb where it belongs
libertas: Zero 'pdata_size' field in cmd_ctrl_node reliably.
libertas: Byteswap cmdptr->size in lbs_cmd()
libertas: Use lbs_cmd() for setting Boot2 version
libertas: Remove SET_BOOT2_VER support from the Big Switch Statement.
libertas: Fix endianness in boot2_version handling.
libertas: when usb_submit_usb fails, include the error code in the printk
libertas: Switch to using a callback function pointer for commands
libertas: Don't set IW_ENCODE_NOKEY when returning WEP keys.
libertas: Fix up error handling in lbs_setuserscan()
libertas: kill adapter->nr_cmd_pending
libertas: switch lbs_cmd() to take a callback function pointer
libertas: clean up lbs_thread() to make it slightly more readable
libertas: fix lbs_rtap attribute in sysfs
libertas: kill TxLockFlag
libertas: kill struct lbs_adapter
libertas: use lbs_host_to_card_done() in lbs_tx_timeout()
libertas: cope with device which already has firmware loaded
libertas: stop debugfs code looking at cmdpendingq
libertas: kill internal tx queue for PS mode
libertas: kill SendSinglePacket() function.
libertas: move lbs_hard_start_xmit() into tx.c
libertas: kill lbs_process_tx() by merging it into lbs_hard_start_xmit()
libertas: clean up lbs_hard_start_xmit()
libertas: kill lbs_pre_start_xmit(), lib_mesh_pre_start_xmit()
libertas: stop using ieee80211 for radiotap device
libertas: set dev_addr on rtap device
libertas: TX packet is radiotap iff it comes from rtap_dev
libertas: free successfully transmitted skbs again
libertas: refactor the 'should I sleep?' decision in lbs_thread()
libertas: Move actual transmission to main thread
libertas: remove unreachable code from process_rxed_802_11_packet()
libertas: fix error cases in lbs_process_rxed_802_11_packet()
libertas: kill lbs_upload_tx_packet()
libertas: kill (IS,SET,UNSET)_MESH_FRAME.
Holger Schurig (7):
libertas: remove cmd_ctrl_node->cmdflags
libertas: remove cmd_ctrl_node->status
libertas: make more functions static
libertas: handy function to call firmware commands
libertas: fix data packet size errors
libertas: implement new scanning logic
libertas: endianness fixes
Li Zefan (1):
libertas: don't cast a pointer to pointer of
---
23 files changed, 1809 insertions(+), 2189 deletions(-)
--
dwmw2
More information about the libertas-dev
mailing list