{"shas":[["a46773a46692e57166e8242f65035a3641024a71","5f50a84c1fa3bcff146405017f36aec1a10a9e38@cozybit.com","mac80211: fix mesh beacon format\n\nCorrect ordering of IEs in the mesh beacon while removing unneeded IEs\nfrom mesh peering frames. Set privacy bit in capability info if security\nis enabled. Add utility functions to aid in construction\nof IEs and reduce code duplication.\n\nSigned-off-by: Thomas Pedersen <thomas@cozybit.com>","Thomas Pedersen"],["20ec23aca819b84acbc43960c4f2e5f292809598","5f50a84c1fa3bcff146405017f36aec1a10a9e38@cozybit.com","ieee80211: introduce Self Protected Action codes\n\n802.11s introduces a new action frame category, add action codes as well\nas an entry in ieee80211_mgmt.\n\nSigned-off-by: Thomas Pedersen <thomas@cozybit.com>","Thomas Pedersen"],["046fa9fe812ce4d62e25e19ab834824832075d81","5f50a84c1fa3bcff146405017f36aec1a10a9e38@cozybit.com","mac80211: update mesh peering frame codes\n\nHave the mesh peering frames use the self-protected action and reason codes\nspecified in 802.11s and defined in ieee80211.h. Remove the local enums.\n\nSigned-off-by: Thomas Pedersen <thomas@cozybit.com>","Thomas Pedersen"],["2d9a173a97eae5d3e49fa29f0007af63f1c47dcb","5f50a84c1fa3bcff146405017f36aec1a10a9e38@cozybit.com","mac80211: update mesh peering frame format\n\nThis patch updates the mesh peering frames to the format specified in\nthe recently ratified 802.11s standard. Several changes took place to\nmake this happen:\n\n\t- Change RX path to handle new self-protected frames\n\t- Add new Peering management IE\n\t- Remove old Peer Link IE\n\t- Remove old plink_action field in ieee80211_mgmt header\n\nThese changes by themselves would either break peering, or work by\ncoincidence, so squash them all into this patch.\n\nSigned-off-by: Thomas Pedersen <thomas@cozybit.com>","Thomas Pedersen"],["dbfab36a6162b7ae15d63d06110563f3ab909882","5f50a84c1fa3bcff146405017f36aec1a10a9e38@cozybit.com","ieee80211: add mesh action codes\n\nSigned-off-by: Thomas Pedersen <thomas@cozybit.com>","Thomas Pedersen"],["9cdf934640fa3eafc0f7d93a7012241fa6a0a0b4","5f50a84c1fa3bcff146405017f36aec1a10a9e38@cozybit.com","mac80211: update mesh path selection frame format\n\nMake mesh path selection frames Mesh Action category, remove outdated\nMesh Path Selection category and defines, use updated reason codes, add\nmesh_action_is_path_sel for readability, and update/correct path\nselection IEs.\n\nSigned-off-by: Thomas Pedersen <thomas@cozybit.com>","Thomas Pedersen"],["902e86f02d42a09d1d2c8c06b557e0b5149e1ebe","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","mac80211: improve mpath debugging\n\nmake hwmp_dbg print the relevant sdata->name by default and improve\nformatting. Also add mpath_dbg function for debugging of mesh path\noperations.\n\nSigned-off-by: Javier Cardona <javier@cozybit.com>\n\nv2:\n\t- make mpath_dbg a function (Johannes)","Javier Cardona"],["a1cac494dba8a52cd0bb8af1c7c72edb9420cc0d","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","mac80211: fix mpath timer removal\n\nInitialize mpath timers added to mpp_table.\n\nSigned-off-by: Javier Cardona <javier@cozybit.com>","Javier Cardona"],["4d9466aa789dce640f32e5f44d511c05ce4a411e","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","mac80211: mesh locking fixes\n\nmesh_queue_preq is invoked invoked from both user (work queue) and\nsoftirq (timer) context, so the _bh version of spinlock needs to be\nused. Also, the mpath->state_lock should be softirq safe as well.\n\nSigned-off-by: Javier Cardona <javier@cozybit.com>","Javier Cardona"],["11ff1c25bd29df742a5f7e1df78195ab3b663554","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","mac80211: fix mesh path flushing\n\nPreviously, mpaths were never flushed since the mpath is not active once\nwe call this function.\n\nSigned-off-by: Javier Cardona <javier@cozybit.com>","Javier Cardona"],["f1373ce8971c5108251674cf7a05b10b6aaee994","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","mac80211: mesh gate implementation\n\nIn this implementation, a mesh gate is a root node with a certain bit\nset in its RANN flags. The mpath to this root node is marked as a path\nto a gate, and added to our list of known gates for this if_mesh. Once a\npath discovery process fails, we forward the unresolved frames to a\nknown gate. Thanks to Luis Rodriguez for refactoring and bug fix help.\n\nSigned-off-by: Javier Cardona <javier@cozybit.com>","Javier Cardona"],["d83f51e88d5039f84f06c4c9c7ac958f29d46b95","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","{nl,mac}80211: add missing root mode meshconf entries\n\nThis fix allows userspace to mark a meshif as a root node.\n\nSigned-off-by: Javier Cardona <javier@cozybit.com>","Javier Cardona"],["ec331299992a15e8fbe53c10f71394e82ebbe383","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","{nl,cfg,mac}80211: let userspace set RANN interval\n\nAllow userspace to set Root Announcement Interval for our mesh\ninterface. Also, RANN interval is now in proper units of TUs.\n\nSigned-off-by: Javier Cardona <javier@cozybit.com>","Javier Cardona"],["333c1f7a2b57238c79b6e16c6310fb3267043526","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","{nl,cfg,mac}80211: let userspace make meshif mesh gate\n\nAllow userspace to set NL80211_MESHCONF_GATE_ANNOUNCEMENTS attribute,\nwhich will advertise this mesh node as being a mesh gate.\ndot11MeshHWMPRootMode must be set as root announcements are used to\nindicate we're a mesh gate. Set this if user forgot for now.\n\nSigned-off-by: Javier Cardona <javier@cozybit.com>","Javier Cardona"],["66dfc3965e3e4ab6322f2cb0d4346e087dec69d1","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","mac80211: Fix RCU pointer dereference in mesh_path_discard_frame()\n\nReported by Pedro Larbig (ASPj)","Javier Cardona"],["cc12b1b58baee940b8657e68d2c0feada0a53862","828c1a17681e8566a17a1a4801ea67306010b273@cozybit.com","ath5k: Invoke irqsafe version of ieee80211_tx_status() to avoid deadlock\n\nThis driver reports transmission status to the upper layer\n(ath5k_tx_frame_completed()) while holding the lock on the transmission\nqueue (txq->lock).  Under failure conditions, the mesh stack will\nattempt to send PERR messages to the previous sender of the failed\nframe.  When that happens the driver will attempt to re-acquire the\ntxq->lock lock causing a deadlock.  There are two possible fixes for\nthis, (1) we could defer the transmission of the PERR frame until the\nlock is released or (2) release the lock before invoking\nieee80211_tx_status().  The ath9k driver implements the second approach\n(see ath_tx_complete() in ath9k/xmit.c) as well as the rt2x00 and b43\ndrivers.  The iwl driver, on the other hand, avoids this problem by\ninvoking  ieee80211_tx_status_irqsafe() which effectively defers\nprocessing of transmission feedback status.  This last approach is the\nleast intrusive is implemented here.\n\nReported by Pedro Larbig (ASPj)","Javier Cardona"]],"ref":"refs/heads/bleeding-edge","size":16,"head":"cc12b1b58baee940b8657e68d2c0feada0a53862","push_id":39183245}