)]}'
{
  "log": [
    {
      "commit": "0b7164458fc184455239ea3676af1b362df1ce1d",
      "tree": "6b968c6ec46e7a949e930de85f75afc337128b97",
      "parents": [
        "303c07db487be59ae9fda10600ea65ca11c21497",
        "b53cf458ea20dd7f5e32611366f63728e40c9021"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Feb 19 14:56:34 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Feb 19 14:56:34 2013 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n"
    },
    {
      "commit": "40d1ae57a0eb2ea8196e15cd2d54ffc186497522",
      "tree": "4efa8aa9d2c1e8b70272aaea4f472a1c656d0998",
      "parents": [
        "6cf1c5fc26c6507bcb0edced6fcda876a79b5a6d",
        "98d5fac2330779e6eea6431a90b44c7476260dcc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 15:12:07 2013 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 15:12:07 2013 -0500"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next\n\nJohn W. Linville says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThis probably is the last big pull request for wireless bits\nfor 3.9.  Of course, I\u0027m sure there will be a few stragglers here\nand there...surely a few bug fixes as well... :-) (In fact, I see\nthat Johannes has already queued-up a few more for me while I was\npreparing this...)\n\nIncluded are a number of pulls...\n\nFor mac80211-next, Johannes says:\n\n\"The biggest change I have is undoubtedly Marco\u0027s mesh powersave\nimplementation. Beyond that, I have a patch from Emmanuel to modify the\nDTIM period API in mac80211, scan improvements and a removal of some\nprevious workaround code from Stanislaw, dynamic short slot time from\nThomas and 64-bit station byte counters from Vladimir. I also made a\nnumber of changes myself, some related to WoWLAN, some auth/deauth\nimprovements and most of them BSS list cleanups.\"\n\n\"This time, I have relatively large number of fixes in various areas of\nthe code (a memory leak in regulatory, an RX race in mac80211, the new\nradar checking caused a P2P device problem, some mesh issues with\nstations, an older bug in tracing and for kernel-doc) as well as a\nnumber of small new features. The biggest (in the diffstat) is my work\non hidden SSID tracking.\"\n\n\"Please pull to get\n * radar detection work from Simon\n * mesh improvements from Thomas\n * a connection monitoring/powersave fix from Wojciech\n * TDLS-related station management work from Jouni\n * VLAN crypto fixes from Michael Braun\n * CCK support in minstrel_ht from Felix\n * an SMPS (not SMSP, oops) related improvement in mac80211 (Emmanuel)\n * some WoWLAN work from Amitkumar Karwar: pattern match offset and a\n   documentation fix\n * some WoWLAN work from myself (TCP connection wakeup feature API)\n * and a lot of VHT (and some HT) work (also from myself)\n\nAnd a number of more random cleanups/fixes. I merged mac80211/master to\navoid a merge problem there.\"\n\nAnd regarding iwlwifi-next, Johannes says:\n\n\"We continue work on our new driver, but I also have a WoWLAN and AP mode\nimprovement for the previous driver and a change to use threaded\ninterrupts to prepare us for working with non-PCIe devices.\"\n\nRegarding wl12xx, Luca says:\n\n\"A few more patches intended for 3.9.  Mostly some clean-ups I\u0027ve been\ndoing to make it easier to support device-tree.  Also including one bug\nfix for wl12xx where the rates we advertise were wrong and an update in\nthe wlconf structure to support newer firmwares.\"\n\nFor the nfc-next bits, Samuel says:\n\n\"This is the second NFC pull request for 3.9.\n\nWe have:\n\n- A few pn533 fixes on top of Waldemar refactorization of the driver, one of\n  them fixes target mode.\n\n- A new driver for Inside Secure microread chipset. It supports two\n  physical layers: i2c and MEI. The MEI one depends on a patchset that\u0027s\n  been sent to Greg Kroah-Hartman for inclusion into the 3.9 kernel [1]. The\n  dependency is a KConfig one which means this code is not buildable as long\n  as the MEI API is not usptream.\"\n\n\"This 3rd NFC pull request for 3.9 contains a fix for the microread MEI\nphysical layer support, as the MEI bus API changed.\n\nFrom the MEI code, we now pass the MEI id back to the driver probe routine,\nand we also pass a name and a MEI id table through the mei_bus_driver\nstructure. A few renames as well like e.g. mei_bus_driver to mei_driver or\nmei_bus_client to mei_device in order to be closer to the driver model\npractices.\"\n\nFor the ath6kl bits, Kalle says:\n\n\"There\u0027s not anything special here, most of the patches are just code\ncleanup. The only functional changes are using the beacon interval from user\nspace and fixing a crash which happens when inserting and removing the\nmodule in a loop.\"\n\nAlso, I pulled the wireless tree in order to resolve some pending\nmerge issues.  On top of that, there is a bunch of work on brcmfmac\nthat leads up to P2P support.  Also, mwifiex, rtlwifi, and a variety\nof other drivers see some basic cleanups and minor enhancements.\n\nPlease let me know if there are problems!\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ece31ffd539e8e2b586b1ca5f50bc4f4591e3893",
      "tree": "05407d915a4c0be78a4aa85f54ae3b148ec91ea3",
      "parents": [
        "b4278c961aca320839964e23cfc7906ff61af0c2"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Feb 18 01:34:56 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 14:53:08 2013 -0500"
      },
      "message": "net: proc: change proc_net_remove to remove_proc_entry\n\nproc_net_remove is only used to remove proc entries\nthat under /proc/net,it\u0027s not a general function for\nremoving proc entries of netns. if we want to remove\nsome proc entries which under /proc/net/stat/, we still\nneed to call remove_proc_entry.\n\nthis patch use remove_proc_entry to replace proc_net_remove.\nwe can remove proc_net_remove after this patch.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4beaa66add8aebf83ab16d2fde4e4de8dac36df",
      "tree": "87e69803c16904077d04c212d7b58acbfa62d143",
      "parents": [
        "510a1e7249298f6bbd049e1ec98041ddf5ef6452"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Feb 18 01:34:54 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 14:53:08 2013 -0500"
      },
      "message": "net: proc: change proc_net_fops_create to proc_create\n\nRight now, some modules such as bonding use proc_create\nto create proc entries under /proc/net/, and other modules\nsuch as ipv4 use proc_net_fops_create.\n\nIt looks a little chaos.this patch changes all of\nproc_net_fops_create to proc_create. we can remove\nproc_net_fops_create after this patch.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98d5fac2330779e6eea6431a90b44c7476260dcc",
      "tree": "99870656d835fc6c12093bc67517956cc7b3d6ec",
      "parents": [
        "4153577a8d318ae02b3791341e10e78416de402f",
        "9e97d14b4923da524d202f2e005d5d30b70db9d6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 18 13:47:13 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 18 13:47:13 2013 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/dvm/tx.c\n\tdrivers/net/wireless/ti/wlcore/sdio.c\n\tdrivers/net/wireless/ti/wlcore/spi.c\n"
    },
    {
      "commit": "8c6d59ee3509acd474365c34db291b950d2e66bf",
      "tree": "82552957ddaff328b600ab162bfa919b21a342e3",
      "parents": [
        "c39ac036add6b0696fb61b4d4733d671ca031723"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 18 14:57:42 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 18 18:26:24 2013 +0100"
      },
      "message": "cfg80211: fix station change if TDLS isn\u0027t supported\n\nLarry noticed (and bisected) that commit df881293c6ba9a12868491a717b25\n\"cfg80211: Pass TDLS peer\u0027s QoS/HT/VHT information during set_station\"\nbroke secure connections. This is is the case only for drivers that\ndon\u0027t support TDLS, where any kind of change, even just the change of\nauthorized flag that is required for normal operation, was rejected\nnow. To fix this, remove the checks. I have some patches that will add\nproper verification for all the different cases later.\n\nCc: Jouni Malinen \u003cj@w1.fi\u003e\nBisected-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "df881293c6ba9a12868491a717b25cb14ec1fa4a",
      "tree": "37ac4ed0321ce4cf626108fff6afbf92beaf845d",
      "parents": [
        "9d62a98617298c1da288f50e84c5dd67732e79b7"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni@qca.qualcomm.com",
        "time": "Thu Feb 14 21:10:54 2013 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 15 09:41:43 2013 +0100"
      },
      "message": "cfg80211: Pass TDLS peer\u0027s QoS/HT/VHT information during set_station\n\nThe information of the peer\u0027s capabilities is required for the driver\nto perform TDLS Peer UAPSD operations. This information of the peer is\npassed by the supplicant using NL80211_CMD_SET_STATION command. This\ncommit enhances the function nl80211_set_station to pass this\ninformation of the peer to the driver in case this command is used\nwith the TDLS peer STA.\n\nIn addition, make the HT/VHT capability configuration handled more\nconsistently for other STA cases (reject both instead of just HT).\n\nSigned-off-by: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "9d62a98617298c1da288f50e84c5dd67732e79b7",
      "tree": "63273fe1ade1b83c876db02ee75b951e1825b9dc",
      "parents": [
        "c6f9d6c3bdeb337809d667ef2a41597229a1ce57"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni@qca.qualcomm.com",
        "time": "Thu Feb 14 21:10:13 2013 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 15 09:41:43 2013 +0100"
      },
      "message": "cfg80211: Pass station (extended) capability info to kernel\n\nThe information of the peer\u0027s capabilities and extended capabilities are\nrequired for the driver to perform TDLS Peer UAPSD operations and off\nchannel operations. This information of the peer is passed from user space\nusing NL80211_CMD_SET_STATION command. This commit enhances\nthe function nl80211_set_station to pass the capability information of\nthe peer to the driver.\n\nSimilarly, there may be need for capability information for other modes,\nso allow this to be provided with both add_station and change_station.\n\nSigned-off-by: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "a50df0c4c0d97170a6c43573612acacc43e62fe7",
      "tree": "fa0ccef7439230a03ac11376ced0fb96f198caf9",
      "parents": [
        "af0ed69badc67a0b6e976543f52029fce9ac8f69"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 11 14:20:05 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 15 09:41:42 2013 +0100"
      },
      "message": "cfg80211: advertise extended capabilities to userspace\n\nIn many cases, userspace may need to know which of the\n802.11 extended capabilities (\"Extended Capabilities\nelement\") are implemented in the driver or device, to\ninclude them e.g. in beacons, assoc request/response\nor other frames. Add a new nl80211 attribute to hold\nthe extended capabilities bitmap for this.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "50640f169372b9977487a328dedf13a8debedff7",
      "tree": "5ee6bf0cc8d936441049e94d48f7773a5fbdd420",
      "parents": [
        "c7a6ee27abd46247c1c7edfc49fb935138da7875"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Dec 12 17:59:39 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 15 09:41:38 2013 +0100"
      },
      "message": "nl80211: advertise HT/VHT channel limitations\n\nWhen drivers or regulatory have limitations on\n40, 80 or 160 MHz channels, advertise these to\nuserspace via nl80211. Also add a new feature\nflag to let userspace know this is supported.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "c7a6ee27abd46247c1c7edfc49fb935138da7875",
      "tree": "716d3e489fbf1d5f34fd362ef09c985e4de033bf",
      "parents": [
        "30eb1dc2c43039e0fe278e6f3a288de9f216d70d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Dec 12 17:50:39 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 15 09:41:38 2013 +0100"
      },
      "message": "cfg80211: allow drivers to selectively disable 80/160 MHz\n\nSome drivers might support 80 or 160 MHz only on some\nchannels for whatever reason, so allow them to disable\nthese channel widths. Also maintain the new flags when\nregulatory bandwidth limitations would disable these\nwide channels.\n\nReviewed-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "8cdc196b743c4224ffa59fef38133559c1fd2a5e",
      "tree": "f5de9fd936d42150ffdbfdacdbce41c6697acb8b",
      "parents": [
        "03395003bf8ac813b1a0ac9299b3496484caf228",
        "3d9646d0abd02c552f6f15c302b31aa321c2fa8b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 15 09:41:21 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 15 09:41:21 2013 +0100"
      },
      "message": "Merge remote-tracking branch \u0027mac80211/master\u0027 into HEAD\n"
    },
    {
      "commit": "04f39047af2a6df64b763ea5a271db24879d0391",
      "tree": "883a946e25f18e27abad2ed487a4ed4c88ff349c",
      "parents": [
        "2a0e047ed62f20664005881b8e7f9328f910316a"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Fri Feb 08 18:16:19 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 15 09:40:18 2013 +0100"
      },
      "message": "nl80211/cfg80211: add radar detection command/event\n\nAdd new NL80211_CMD_RADAR_DETECT, which starts the Channel\nAvailability Check (CAC). This command will also notify the\nusermode about events (CAC finished, CAC aborted, radar\ndetected, NOP finished).\nOnce radar detection has started it should continuously\nmonitor for radars as long as the channel is active.\n\nThis patch enables DFS for AP mode in nl80211/cfg80211.\n\nBased on original patch by Victor Goldenshtein \u003cvictorg@ti.com\u003e\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\n[remove WIPHY_FLAG_HAS_RADAR_DETECT again -- my mistake]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "2a0e047ed62f20664005881b8e7f9328f910316a",
      "tree": "166497ddbe4dea57a2d816d4fb928b3f8558b3aa",
      "parents": [
        "a0497f9f57478c5a37c5628eb32833dd9729a821"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 23 22:57:40 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Feb 13 14:33:42 2013 +0100"
      },
      "message": "cfg80211: configuration for WoWLAN over TCP\n\nIntel Wireless devices are able to make a TCP connection\nafter suspending, sending some data and waking up when\nthe connection receives wakeup data (or breaks). Add the\nWoWLAN configuration and feature advertising API for it.\n\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "6719429dd61cde1fe30d9644d0aa2369eefc9005",
      "tree": "5318edf7523b03cb3c34f2824985dc246231a053",
      "parents": [
        "bb92d19983a4b54be3e3b83441a8076d92cd04bc"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Tue Feb 12 20:11:38 2013 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Feb 13 10:14:17 2013 +0100"
      },
      "message": "cfg80211: check vendor IE length to avoid overrun\n\ncfg80211_find_vendor_ie() was checking only that the vendor IE would\nfit in the remaining IEs buffer.  If a corrupt includes a vendor IE\nthat is too small, we could potentially overrun the IEs buffer.\n\nFix this by checking that the vendor IE fits in the reported IE length\nfield and skip it otherwise.\n\nReported-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\n[change BUILD_BUG_ON to !\u003d 1 (from \u003e\u003d 2)]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "bb92d19983a4b54be3e3b83441a8076d92cd04bc",
      "tree": "e53601fab3727ec69137d67729fdf73414182aba",
      "parents": [
        "66d575705154525c33ab99b5f9ac2d246c348db6"
      ],
      "author": {
        "name": "Amitkumar Karwar",
        "email": "akarwar@marvell.com",
        "time": "Tue Feb 12 12:16:26 2013 -0800"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Feb 13 10:09:48 2013 +0100"
      },
      "message": "nl80211: add packet offset information for wowlan pattern\n\nIf user knows the location of a wowlan pattern to be matched in\nRx packet, he can provide an offset with the pattern. This will\nhelp drivers to ignore initial bytes and match the pattern\nefficiently.\n\nSigned-off-by: Amitkumar Karwar \u003cakarwar@marvell.com\u003e\nSigned-off-by: Bing Zhao \u003cbzhao@marvell.com\u003e\n[refactor pattern sending]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "8cef2c9df88fdd13f518e6607de9d664b31f26cc",
      "tree": "f8a4d29db6012ad3468a5d9435562fc1f383209a",
      "parents": [
        "83c7aa1a1475ae1c42640ab6e4559016142efc67"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Feb 05 16:54:31 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 11 18:44:59 2013 +0100"
      },
      "message": "cfg80211: move TSF into IEs\n\nWhile technically the TSF isn\u0027t an IE, it can be\nnecessary to distinguish between the TSF from a\nbeacon and a probe response, in particular in\norder to know the next DTIM TBTT, as not all APs\nare spec compliant wrt. TSF\u003d\u003d0 being a DTIM TBTT\nand thus the DTIM count needs to be taken into\naccount as well.\n\nTo allow this, move the TSF into the IE struct\nso it can be known whence it came.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "83c7aa1a1475ae1c42640ab6e4559016142efc67",
      "tree": "1a93edf5cb47eea45a120bd34ab0c72383cb28b6",
      "parents": [
        "b207cdb07f3f01ec1adaac62e9d0cc918c60a81a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Feb 05 16:51:29 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 11 18:44:58 2013 +0100"
      },
      "message": "cfg80211: remove scan ies NULL check\n\nThere\u0027s no way scan BSS IEs can be NULL as even\nif the allocation fails the frame is discarded.\nRemove some code checking for this and document\nthat it is always non-NULL.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "776b3580178f2065838fa0db0eb7a41b57495c0a",
      "tree": "7a12015c647583690755f53482e40de7f57b3a31",
      "parents": [
        "1f4ac5a63f897a480fffd0d5c843b03f02c384a5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 01 02:06:18 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 11 18:44:57 2013 +0100"
      },
      "message": "cfg80211: track hidden SSID networks properly\n\nCurrently, cfg80211 will copy beacon IEs from a previously\nreceived hidden SSID beacon to a probe response entry, if\nthat entry is created after the beacon entry. However, if\nit is the other way around, or if the beacon is updated,\nsuch changes aren\u0027t propagated.\n\nFix this by tracking the relation between the probe\nresponse and beacon BSS structs in this case.\n\nIn case drivers have private data stored in a BSS struct\nand need access to such data from a beacon entry, cfg80211\nnow provides the hidden_beacon_bss pointer from the probe\nresponse entry to the beacon entry.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "5b112d3d098c97b867cc580f590395cd1e72f18c",
      "tree": "75e3a6434adaab876ae54ea35d7ceebebbf3ca4a",
      "parents": [
        "bba87ffe606b7fc5fba73d1c0c5ac1eacd2cebe8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 01 01:49:58 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 11 18:44:52 2013 +0100"
      },
      "message": "cfg80211: pass wiphy to cfg80211_ref_bss/put_bss\n\nThis prepares for using the spinlock instead of krefs\nwhich is needed in the next patch to track the refs\nof combined BSSes correctly.\n\nAcked-by: Bing Zhao \u003cbzhao@marvell.com\u003e [mwifiex]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "bba87ffe606b7fc5fba73d1c0c5ac1eacd2cebe8",
      "tree": "d5e1bf181d1b43218d2a65b571ba1d1de55f12aa",
      "parents": [
        "b7566fc363e23f0efd3fa1e1460f9421cdc0d77e"
      ],
      "author": {
        "name": "Ilan Peer",
        "email": "ilan.peer@intel.com",
        "time": "Sun Feb 03 08:28:27 2013 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 11 18:44:45 2013 +0100"
      },
      "message": "cfg80211: fix radar check for P2P_DEVICE\n\nRadar is not required for P2P_DEVICE interfaces.\n\nSigned-off-by: Ilan Peer \u003cilan.peer@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "b7566fc363e23f0efd3fa1e1460f9421cdc0d77e",
      "tree": "2a9c044f8771292ef942cdeab9b0636d676140d8",
      "parents": [
        "78f42aee884dedfd157f79d01f069550edbc95cf"
      ],
      "author": {
        "name": "Larry Finger",
        "email": "Larry.Finger@lwfinger.net",
        "time": "Mon Feb 04 15:33:44 2013 -0600"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 11 18:44:41 2013 +0100"
      },
      "message": "cfg80211: Fix memory leak\n\nWhen a driver requests a specific regulatory domain after cfg80211 already\nhas one, a struct ieee80211_regdomain is leaked.\n\nReported-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "f5237f278f30a92401539a54f87ee0c717b6f818",
      "tree": "209d4fd6fb00e660c76ca8ac5d4caed59dbb9957",
      "parents": [
        "b285109dde7b873b5dc671ef1b3ae3090f4bc72f",
        "b26f5f09ebdeb85ab152344cc1d6d484a3ce967d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 08 13:16:17 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 08 13:16:17 2013 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n"
    },
    {
      "commit": "188d1f76d0dd3715ceeadfa31376867c3395eb41",
      "tree": "b8976427ec21d3c346f2a993160b368c620c249a",
      "parents": [
        "577ae39ddb037242964f5fe87fd50b0b89e3263b",
        "bf414b369f158bb527f9f29174ada815f961b44c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 14:12:20 2013 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 14:12:20 2013 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/intel/e1000e/ethtool.c\n\tdrivers/net/vmxnet3/vmxnet3_drv.c\n\tdrivers/net/wireless/iwlwifi/dvm/tx.c\n\tnet/ipv6/route.c\n\nThe ipv6 route.c conflict is simple, just ignore the \u0027net\u0027 side change\nas we fixed the same problem in \u0027net-next\u0027 by eliminating cached\nneighbours from ipv6 routes.\n\nThe e1000e conflict is an addition of a new statistic in the ethtool\ncode, trivial.\n\nThe vmxnet3 conflict is about one change in \u0027net\u0027 removing a guarding\nconditional, whilst in \u0027net-next\u0027 we had a netdev_info() conversion.\n\nThe iwlwifi conflict is dealing with a WARN_ON() conversion in\n\u0027net-next\u0027 vs. a revert happening in \u0027net\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0532d4f154b87da6361ab90d12f35142d5119dc1",
      "tree": "839e9ba5ab322e5d863b526f547614b297da9e52",
      "parents": [
        "9537f227b44762591a5598b79522789c573d34b3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 01 01:34:36 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:46 2013 +0100"
      },
      "message": "cfg80211: wrap BSS kref\n\nAdd inline wrappers for the BSS struct krefs\nto be able to extend them easily later.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "9537f227b44762591a5598b79522789c573d34b3",
      "tree": "d99cb4fcc120664daebf34faf138342225dcf349",
      "parents": [
        "4b1af4792a2aa686483fc9bb2155f7269fa6399c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 01 01:19:48 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:46 2013 +0100"
      },
      "message": "cfg80211: remove a local variable\n\nThis local variable is only used once, so remove it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "4b1af4792a2aa686483fc9bb2155f7269fa6399c",
      "tree": "df63754635bdf4079ca2d9dc80fe95a783cd4550",
      "parents": [
        "6b684db1db0df40275c7dfcc32a5d48eb72fe4e3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 01 01:05:43 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:45 2013 +0100"
      },
      "message": "cfg80211: use lockdep to assert lock is held\n\nInstead of annotating with a comment, add a lockdep\nannotation which also serves as documentation.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "2ca813ad61136896c91a40194452ff665a522711",
      "tree": "e1eb791203ddc573a8ac34a9fd0a836dcbc20132",
      "parents": [
        "50521aa8817e3f6a77eb7aaabdbbb7b5c2fe0ea3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 01 01:04:14 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:43 2013 +0100"
      },
      "message": "cfg80211: move locking into cfg80211_bss_age\n\nThere\u0027s no reason for it to require external\nlocking, move it into the function.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "50521aa8817e3f6a77eb7aaabdbbb7b5c2fe0ea3",
      "tree": "76aa3d7dfce97b4a5ae169ee63c8f55d4a152f16",
      "parents": [
        "3146a7da83ba2dd266ef436d4ac8e7e09bd15825"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 30 21:33:19 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:43 2013 +0100"
      },
      "message": "cfg80211: fix BSS IE allocation comment\n\nThe comment about allocating the IEs together with\nthe BSS struct is no longer true, remove it. Also\nfix a typo in the same area.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "37e0838117084eb957fdf124bf555f4b9933a5a5",
      "tree": "080d87ef770024e818a8649131efd83183768b50",
      "parents": [
        "3af6341c5378d1ed0905614575ee9ee2e5522c81"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 30 08:50:37 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:42 2013 +0100"
      },
      "message": "cfg80211: remove unused cfg80211_get_mesh\n\nAs Thomas pointed out, cfg80211_get_mesh() is\nunused and can be removed.\n\nCc: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "3af6341c5378d1ed0905614575ee9ee2e5522c81",
      "tree": "876cbc80cc25a62a485f1b2582627b0cf996c71a",
      "parents": [
        "4593c4cbe1c96b3995727dc42f6aa103f4ff5afc"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 30 00:40:20 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:41 2013 +0100"
      },
      "message": "cfg80211: simplify mesh BSS comparison\n\nInstead of first checking if a BSS is an MBSS\nand then doing the comparisons, inline it all\ninto the BSS comparison function. This avoids\ndoing the IE searches twice and is also a lot\nless code.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "4593c4cbe1c96b3995727dc42f6aa103f4ff5afc",
      "tree": "bead4ef70dd54b804d560fa1968f05c89917bb6e",
      "parents": [
        "5622f5bb8dd3cafe0e56014ed03e31957d1b4a03"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 01 19:20:03 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:41 2013 +0100"
      },
      "message": "cfg80211: fix BSS list hidden SSID lookup\n\nWhen trying to find a hidden SSID, the lookup function\nis done wrong; the code is trying to combine the two\nlookups into one, and as a consequence doesn\u0027t always\nfind the entry at all. To understand this, consider a\ncase where multiple BSS entries with the same channel\nand BSSID exist but have different SSID length. Then\ncomparing against the probe response SSID length is\nbound to cause problems since the hidden one might be\neither zeroed out or zero-length.\n\nTo fix this we need to do two lookups for the two ways\nto hide SSIDs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "5622f5bb8dd3cafe0e56014ed03e31957d1b4a03",
      "tree": "43824a1d72ece689d2128077e139567499316f9d",
      "parents": [
        "42745e039312ab4672c60ec584651f0c74e8264f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 30 00:26:45 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:40 2013 +0100"
      },
      "message": "cfg80211: refactor hidden SSID finding\n\nInstead of duplicating the rbtree functions, pass\nan argument to the compare function. This removes\nthe code duplication for the two searches.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "42745e039312ab4672c60ec584651f0c74e8264f",
      "tree": "36c9593c931239d2c9ab4c0edc307506647525dc",
      "parents": [
        "682bd38b8ac1fa3e84e84cddd1f1d7eeebce1212"
      ],
      "author": {
        "name": "Vladimir Kondratiev",
        "email": "qca_vkondrat@qca.qualcomm.com",
        "time": "Mon Feb 04 13:53:11 2013 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:22 2013 +0100"
      },
      "message": "cfg80211: expand per-station byte counters to 64bit\n\nIn per-station statistics, present 32bit counters are too small\nfor practical purposes - with gigabit speeds, it get overlapped\nevery few seconds.\n\nExpand counters in the struct station_info to be 64-bit.\nDriver can still fill only 32-bit and indicate in @filled\nonly bits like STATION_INFO_[TR]X_BYTES; in case driver provides\nfull 64-bit counter, it should also set in @filled\nbit STATION_INFO_[TR]RX_BYTES64\n\nNetlink sends both 32-bit and 64-bit counters, if present, to not\nbreak userspace.\n\nSigned-off-by: Vladimir Kondratiev \u003cqca_vkondrat@qca.qualcomm.com\u003e\n[change to also have 32-bit counters if driver advertises 64-bit]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "ed6882ac40552034ae6bde3e540b84c832dc8491",
      "tree": "989f14b7cee32d55f28b87c3610ffd41cefc8825",
      "parents": [
        "66555e92fb7a619188c02cceae4bbc414f15f96d",
        "8a7d7cbf7b5ff9912ef50b3e94c9ad9f37b1c75f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 01 13:43:25 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 01 13:43:25 2013 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem\n"
    },
    {
      "commit": "3ff9a827c683353b9826ef57366b0f313acc21b0",
      "tree": "a4a76f74cfb68940c880cf23cd7083bef5e69d14",
      "parents": [
        "0fe20add2c4b768ba8432ed15635caa46417ede7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 29 22:37:48 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 31 14:07:30 2013 +0100"
      },
      "message": "cfg80211: remove free_priv BSS API\n\nNow that mac80211 no longer uses this API, remove\nit completely. If anyone needs it again, we can\nrevert this patch of course, but mac80211 was the\nonly user right now.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "cd8f7cb4e6dfa4ea08fc250a814240b883ef7911",
      "tree": "2bcb8f04f01ee9768e5524799b0d429e51fb583d",
      "parents": [
        "3b144658bc7be5f7fa68d13ba24afb4c24489965"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 22 12:34:29 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 31 14:00:21 2013 +0100"
      },
      "message": "cfg80211/mac80211: support reporting wakeup reason\n\nWhen waking up from WoWLAN, it is useful to know\nwhat triggered the wakeup. Support reporting the\nwakeup reason(s) in cfg80211 (and a pass-through\nin mac80211) to allow userspace to know.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "8dcf011ab05bf1fdd9323a9c460bdd0e325b99e1",
      "tree": "f608d60056b6fdde2e5b21f6c612ec3590ff7490",
      "parents": [
        "8df6b7b11a5e4200484e9356073d288f08bdefb0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Jan 26 22:16:08 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 29 12:16:35 2013 +0100"
      },
      "message": "cfg80211: add SME state to warning in __cfg80211_mlme_disassoc\n\nThe warning here occasionally triggers but we haven\u0027t\nfound the cause yet. It\u0027s a valid warning since if it\ntriggers the SME state got confused, so add the SME\nstate to it to help narrow it down in the future.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "4205e6ef4ee747aa81930537b6035086ba5f1e28",
      "tree": "b2ebe2b4621f5f531f283cb9bf0005cd3c04ca7b",
      "parents": [
        "cef401de7be8c4e155c6746bfccf721a4fa5fab9",
        "9ebea3829fac7505e0cd2642fbd13cfa9c038831"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 28 14:43:00 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 28 14:43:00 2013 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n"
    },
    {
      "commit": "77765eaf5cfb6b8dd98ec8b54b411d74ff6095f1",
      "tree": "2b32fca883ee0c5a149290b3df3d97b21cb85549",
      "parents": [
        "6d45a74b1f2e42e41c9931bfb35cdb789d0bb3ea"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vthiagar@qca.qualcomm.com",
        "time": "Fri Jan 18 11:18:45 2013 +0530"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 25 18:36:44 2013 +0100"
      },
      "message": "cfg80211/nl80211: add API for MAC address ACLs\n\nAdd API to enable drivers to implement MAC address based\naccess control in AP/P2P GO mode. Capable drivers advertise\nthis capability by setting the maximum number of MAC\naddresses in such a list in wiphy-\u003emax_acl_mac_addrs.\n\nAn initial ACL may be given to the NL80211_CMD_START_AP\ncommand and/or changed later with NL80211_CMD_SET_MAC_ACL.\n\nBlack- and whitelists are supported, but not simultaneously.\n\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvthiagar@qca.qualcomm.com\u003e\n[rewrite commit log, many cleanups]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "683d41ae6755e6ae297ec09603c229795ab9566e",
      "tree": "528f940800257f790c98cac635af0f622e0c1a1c",
      "parents": [
        "f68d776a04bfcebc426f605c4440ffe38c583a4b"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Wed Jan 23 15:15:57 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 24 16:05:30 2013 +0100"
      },
      "message": "cfg80211: fix channel check in cfg80211_can_use_iftype_chan\n\nIn commit \"cfg80211: check radar interface combinations\" a regression\nwas introduced which might lead to NULL dereference if the argument\nchan \u003d NULL, which might happen in IBSS/wext case (and probably\nothers).\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "c49dc9008b1c641a86837297df7c90cef070571b",
      "tree": "c9c9641dbea5483c8d87233e56656be29ffbc5b7",
      "parents": [
        "8680451f38a64bd270233b3c0eeb7c45f2b5efe3"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Thu Jan 24 09:40:00 2013 +0300"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 24 15:47:22 2013 +0100"
      },
      "message": "cfg80211: off by one in ieee80211_bss()\n\nWe do a:\n\n\tsprintf(buf, \" Last beacon: %ums ago\",\n\t\telapsed_jiffies_msecs(bss-\u003ets));\n\nelapsed_jiffies_msecs() can return a 10 digit number so \"buf\" needs to\nbe 31 characters long.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "11c4a075db2f8774d37544342c8cb9752b4db9e1",
      "tree": "dbd28f1bbac2a42ebe4aade8d1a4bc2871431924",
      "parents": [
        "cee00a959c0a86571e6f99cf42f0261d7e54d2ae"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Tue Jan 08 14:04:07 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 16 23:41:54 2013 +0100"
      },
      "message": "cfg80211: check radar interface combinations\n\nTo ease further DFS development regarding interface combinations, use\nthe interface combinations structure to test for radar capabilities.\nDrivers can specify which channel widths they support, and in which\nmodes. Right now only a single AP interface is allowed, but as the\nDFS code evolves other combinations can be enabled.\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "cee00a959c0a86571e6f99cf42f0261d7e54d2ae",
      "tree": "ca8fe105ffd7059ef4f4eaf33197ba0b9a7acb9c",
      "parents": [
        "1c18f1452a772dfe884ed25677bddb3ecaf9c43a"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni@qca.qualcomm.com",
        "time": "Tue Jan 15 17:15:57 2013 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 16 23:27:49 2013 +0100"
      },
      "message": "cfg80211: Allow use_mfp to be specified with the connect command\n\nThe NL80211_ATTR_USE_MFP attribute was originally added for\nNL80211_CMD_ASSOCIATE, but it is actually as useful (if not even more\nuseful) with NL80211_CMD_CONNECT, so process that attribute with the\nconnect command, too.\n\nSigned-off-by: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "1c18f1452a772dfe884ed25677bddb3ecaf9c43a",
      "tree": "0ab3f13bca9b6245db5f43304cf8e7c951477e42",
      "parents": [
        "3b1c5a5307fb5277f395efdcf330c064d79df07d"
      ],
      "author": {
        "name": "Arend van Spriel",
        "email": "arend@broadcom.com",
        "time": "Tue Jan 08 10:17:27 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 16 23:20:32 2013 +0100"
      },
      "message": "nl80211: allow user-space to set address for P2P_DEVICE\n\nAs per email discussion Jouni Malinen pointed out that:\n\n\"P2P message exchanges can be executed on the current operating channel\nof any operation (both P2P and non-P2P station). These can be on 5 GHz\nand even on 60 GHz (so yes, you _can_ do GO Negotiation on 60 GHz).\n\nAs an example, it would be possible to receive a GO Negotiation Request\nframe on a 5 GHz only radio and then to complete GO Negotiation on that\nband. This can happen both when connected to a P2P group (through client\ndiscoverability mechanism) and when connected to a legacy AP (assuming\nthe station receive Probe Request frame from full scan in the beginning\nof P2P device discovery).\"\n\nThis means that P2P messages can be sent over different radio devices.\nHowever, these should use the same P2P device address so it should be\nable to provision this from user-space. This patch adds a parameter for\nthis to struct vif_params which should only be used during creation of\nthe P2P device interface.\n\nCc: Jouni Malinen \u003cj@w1.fi\u003e\nCc: Greg Goldman \u003cggoldman@broadcom.com\u003e\nCc: Jithu Jance \u003cjithu@broadcom.com\u003e\nSigned-off-by: Arend van Spriel \u003carend@broadcom.com\u003e\n[add error checking]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "3b1c5a5307fb5277f395efdcf330c064d79df07d",
      "tree": "9aca9007c05a70a0bce2c18c3c60fcfda1b7923d",
      "parents": [
        "9bdbf04db099c11bbbaea9dcea7465c508531fb8"
      ],
      "author": {
        "name": "Marco Porsch",
        "email": "marco@cozybit.com",
        "time": "Mon Jan 07 16:04:52 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 16 22:48:04 2013 +0100"
      },
      "message": "{cfg,nl}80211: mesh power mode primitives and userspace access\n\nAdd the nl80211_mesh_power_mode enumeration which holds possible\nvalues for the mesh power mode. These modes are unknown, active,\nlight sleep and deep sleep.\n\nAdd power_mode entry to the mesh config structure to hold the\nuser-configured default mesh power mode. This value will be used\nfor new peer links.\n\nAdd the dot11MeshAwakeWindowDuration value to the mesh config.\nThe awake window is a duration in TU describing how long the STA\nwill stay awake after transmitting its beacon in PS mode.\n\nAdd access routines to:\n - get/set local link-specific power mode (STA)\n - get remote STA\u0027s link-specific power mode (STA)\n - get remote STA\u0027s non-peer power mode (STA)\n - get/set default mesh power mode (mesh config)\n - get/set mesh awake window duration (mesh config)\n\nAll config changes may be done at mesh runtime and take effect\nimmediately.\n\nSigned-off-by: Marco Porsch \u003cmarco@cozybit.com\u003e\nSigned-off-by: Ivan Bezyazychnyy \u003civan.bezyazychnyy@gmail.com\u003e\nSigned-off-by: Mike Krinkin \u003ckrinkin.m.u@gmail.com\u003e\n[fix commit message line length, error handling in set station]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "9bdbf04db099c11bbbaea9dcea7465c508531fb8",
      "tree": "777ad3519262076879f8a5a7c068a2704808d8f5",
      "parents": [
        "eac70c135def117849faa7cc8b7ccb941498085f"
      ],
      "author": {
        "name": "Marco Porsch",
        "email": "marco@cozybit.com",
        "time": "Mon Jan 07 16:04:51 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 16 22:44:04 2013 +0100"
      },
      "message": "{cfg,nl,mac}80211: set beacon interval and DTIM period on mesh join\n\nMove the default mesh beacon interval and DTIM period to cfg80211\nand make them accessible to nl80211. This enables setting both\nvalues when joining an MBSS.\n\nPreviously the DTIM parameter was not set by mac80211 so the\ndriver\u0027s default value was used.\n\nSigned-off-by: Marco Porsch \u003cmarco@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "ea54fba20985b7a0cb8e1c8e2760a0865ee47763",
      "tree": "8f014e95294f5c37407b680b48986935b157273b",
      "parents": [
        "ee1f668136b2fb6640ee2d54c2a525ea41f98211"
      ],
      "author": {
        "name": "Marco Porsch",
        "email": "marco@cozybit.com",
        "time": "Mon Jan 07 16:04:48 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 16 22:40:20 2013 +0100"
      },
      "message": "nl80211: add range checks to mesh parameters\n\nRanges are taken from IEEE 802.11-2012, common sense or current\nimplementation requirements.\n\nSigned-off-by: Marco Porsch \u003cmarco@cozybit.com\u003e\nAcked-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "4b87f922598acf91eee18f71688a33f54f57bcde",
      "tree": "9cdfe30c6b96c47093da5392ed82d147290cd64c",
      "parents": [
        "55eb555d9674e2ebe9d4de0146602f96ff18e7d6",
        "daf3ec688e057f6060fb9bb0819feac7a8bbf45c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 15 15:05:59 2013 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 15 15:05:59 2013 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tDocumentation/networking/ip-sysctl.txt\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c\n\nBoth conflicts were simply overlapping context.\n\nA build fix for qlcnic is in here too, simply removing the added\ndevinit annotations which no longer exist.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d07d7507bfb4e23735c9b83e397c43e1e8a173e8",
      "tree": "1422f8bc9cfa0340a7b1cdec03456a6bf5e3a7d5",
      "parents": [
        "f7e9e230f41f991a6e3e7cb6096424fdfb626081"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Thu Jan 10 23:19:10 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 11 15:55:48 2013 -0800"
      },
      "message": "net, wireless: overwrite default_ethtool_ops\n\nSince:\n\ncommit 2c60db037034d27f8c636403355d52872da92f81\nAuthor: Eric Dumazet \u003cedumazet@google.com\u003e\nDate:   Sun Sep 16 09:17:26 2012 +0000\n\n    net: provide a default dev-\u003eethtool_ops\n\nwireless core does not correctly assign ethtool_ops.\n\nAfter alloc_netdev*() call, some cfg80211 drivers provide they own\nethtool_ops, but some do not. For them, wireless core provide generic\ncfg80211_ethtool_ops, which is assigned in NETDEV_REGISTER notify call:\n\n        if (!dev-\u003eethtool_ops)\n                dev-\u003eethtool_ops \u003d \u0026cfg80211_ethtool_ops;\n\nBut after Eric\u0027s commit, dev-\u003eethtool_ops is no longer NULL (on cfg80211\ndrivers without custom ethtool_ops), but points to \u0026default_ethtool_ops.\n\nIn order to fix the problem, provide function which will overwrite\ndefault_ethtool_ops and use it by wireless core.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55b183ad8635589ea731a31653de79a2626491c4",
      "tree": "f822db644128003a34f46d09ef05cae9a55a39ea",
      "parents": [
        "75e6934a9e996ee7cfe7a488b7f7cc2baa86717a"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Fri Jan 11 14:22:58 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 11 14:32:20 2013 +0100"
      },
      "message": "wireless: fix regulatory HT40 allowed check\n\ncommit 1a9193185f462a51815fe48491f8a6fb6b942551 \"regulatory: code cleanup\"\nchanged is_ht40_allowed without considering that IEEE80211_CHAN_NO_HT40 is\nnot just one flag, but two.\nThis is causing HT40- to be blocked completely.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "2d31986764926630a6df72123a5e217219b32594",
      "tree": "c363b7d854e00b9791f8750100646d66301da832",
      "parents": [
        "4a484cffc5e1836114e9556f7c704412d491200c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 09 12:01:38 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 09 12:19:52 2013 +0100"
      },
      "message": "regulatory: fix restore_regulatory_settings\n\nMy commit 379b82f4c9dc6e67bf61aa61b096c06a2f320f60\n(\"regulatory: pass new regdomain to reset function\")\nbroke the restore_regulatory_settings() function due\nto a logic change. Consider this change:\n\n-\treset_regdomains(true);\n-\tcfg80211_regdomain \u003d cfg80211_world_regdom;\n+\treset_regdomains(true, cfg80211_world_regdom);\n\nThis looks innocent enough, until you realise that the\ncalled function (reset_regdomains) also resets the\ncfg80211_world_regdom pointer, so that the old version\nof the code would use the new object it pointed to and\nthe new version of the code uses the old object. This\nlead to a double-free of this object.\n\nSince reset_regdomains() sets it to \u0026world_regdom, use\nthat directly.\n\nReported-by: Sujith Manoharan \u003csujith@msujith.org\u003e\nTested-by: Sujith Manoharan \u003csujith@msujith.org\u003e\nReported-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nReported-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "4a484cffc5e1836114e9556f7c704412d491200c",
      "tree": "db228d48bc1c0b8244892d2a329b514da167f339",
      "parents": [
        "c51f878379b1d0677619798b1d9358d053bdbdb1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 09 10:22:07 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 09 12:19:43 2013 +0100"
      },
      "message": "regulatory: fix uevent\n\nThe uevent callback doesn\u0027t protect its access to\nlast_request, which now causes a warning since\nthe conversion to get_last_request(). Fix this by\nallowing to use RCU protection for last_request.\n\nReported-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "7826d43f2db45c9305a6e0ba165650e1a203f517",
      "tree": "a8659c995a37f58db809da9537aafac178431f31",
      "parents": [
        "2afb9b533423a9b97f84181e773cf9361d98fed6"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Sun Jan 06 00:44:26 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 06 21:06:31 2013 -0800"
      },
      "message": "ethtool: fix drvinfo strings set in drivers\n\nUse strlcpy where possible to ensure the string is \\0 terminated.\nUse always sizeof(string) instead of 32, ETHTOOL_BUSINFO_LEN\nand custom defines.\nUse snprintf instead of sprint.\nRemove unnecessary inits of -\u003efw_version\nRemove unnecessary inits of drvinfo struct.\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba23d2068d85f6616ea5f92320c04e87d4b9e141",
      "tree": "8ea8b7d8ab39ada84c967531875aef24892667d6",
      "parents": [
        "21add825f90a50407e0121833c8b7cd2c071c478"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 27 17:32:09 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:45 2013 +0100"
      },
      "message": "cfg80211: disallow more station changes\n\nThe following changes are invalid and should be\ndisallowed when a station already exists:\n * supported rates changes, except for TDLS peers\n * listen interval changes\n * HT capability changes\n\nDisallow them and also update a mac80211 comment\nexplaining how they would be racy.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "1c06ef9831c78648f719a174e4598ae2600b0cf7",
      "tree": "c4e5fd59f7d3dc9d0f360701348b86065f08d13c",
      "parents": [
        "ec61cd63dd3f3bf982180b2bcc1b325160d73837"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 28 12:22:02 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:44 2013 +0100"
      },
      "message": "wireless: use __aligned\n\nUse __aligned(...) instead of __attribute__((aligned(...)))\nin mac80211 and cfg80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "d582cffbcd04eae0bd8a83b05648bfd54bfd21c9",
      "tree": "d6832e35977669df448c196db95ecf6b4e399c2b",
      "parents": [
        "dfa674da1807bc8fb782fc38a7d48c8ea3168eb7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Oct 26 17:53:44 2012 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:40 2013 +0100"
      },
      "message": "nl80211/mac80211: support full station state in AP mode\n\nToday, stations are added already associated. That is\ninefficient if, for example, the driver has no room\nfor stations any more because then the station will\ngo through the entire auth/assoc handshake, only to\nbe kicked out afterwards.\n\nTo address this a bit better, at least with drivers\nusing the new station state callback, allow hostapd\nto add stations in unauthenticated mode, just after\nreceiving the AUTH frame, before even replying. Thus\nif there\u0027s no more space at that point, it can send\na negative auth frame back. It still needs to handle\nlater state transition errors though, of course.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "dfa674da1807bc8fb782fc38a7d48c8ea3168eb7",
      "tree": "658877925af2282310b66e86f3484f7424c158b8",
      "parents": [
        "b08fbbd8ade1fe3eea821a65b98d9f6a828329da"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 20 18:23:01 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:40 2013 +0100"
      },
      "message": "cfg80211: move some AP code to right file\n\nSome AP code ended up in mlme.c as ap.c didn\u0027t\nexist when it was written, move it now.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "0f500a5f6cadac888d5d3fce326452372d1a8343",
      "tree": "aa44c923191fff33e55a4320e2ae26811966fbc2",
      "parents": [
        "3195e489a878aaa3b735d4a1b7c5c79b3786efed"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "mcgrof@do-not-panic.com",
        "time": "Wed Dec 19 10:53:04 2012 -0800"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:38 2013 +0100"
      },
      "message": "cfg80211: move world roaming check for beacon hints\n\nWe should not add new beacon hints even if the wiphy\nis not world roaming. Without this we were always adding\na beacon hint if not world roaming for every non world\nroaming wiphy interface.\n\nTested-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\n[fix locking]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "3195e489a878aaa3b735d4a1b7c5c79b3786efed",
      "tree": "020eabf127c12d52f08c27473796162536028347",
      "parents": [
        "3ebfa6e76beab01e644e1facd5fdb84d4274043e"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "mcgrof@do-not-panic.com",
        "time": "Wed Dec 19 10:53:03 2012 -0800"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:38 2013 +0100"
      },
      "message": "cfg80211: move reg_is_world_roaming()\n\nThis will be used later by other code. This has no\nfunctional change.\n\nTested-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "3ebfa6e76beab01e644e1facd5fdb84d4274043e",
      "tree": "7324fb5171326d8ce0af3eb22c2d50a9f5531573",
      "parents": [
        "ad2d223aa900179031feb40273881e212941573d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "mcgrof@do-not-panic.com",
        "time": "Wed Dec 19 10:53:02 2012 -0800"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:37 2013 +0100"
      },
      "message": "cfg80211: do not process beacon hints if one is already queued\n\nRegulatory beacon hints are used to help with world roaming\nand as it is right now we learn from a beacon hint processed\non one wiphy to all other wiphys. The processing of beacon\nhints however is scheduled and if we have a lot of interfaces\nwe may hit the case that we\u0027ll queue a the same beacon hint\nmany times until its processed.\n\nTo avoid this do a lookup on the queued up beacon hints prior\nto adding a new beacon hint. If the beacon hint is removed\nfrom the pending reg beacon hint list then it would be processed\nand we\u0027d ensure all wiphys would have learned from it, if its\non the pending reg beacon list we\u0027d now find it prior to it\nbeing processed.\n\nTested-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "9cab315190cddbe3aaa31b64841354dd719afdfd",
      "tree": "27eea878d27475698839cc7295341d49c2ac5928",
      "parents": [
        "75de9113bb9dc4939a7cd54e4bdfad555b35f5b1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 14 00:19:08 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:32 2013 +0100"
      },
      "message": "cfg80211: adjacent 80+80 MHz channel segments are invalid\n\nIn that case, it\u0027s really a 160 MHz channel, so disallow\nthis configuration.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "361c9c8b0eeeec7d881e018d5143bf883558c566",
      "tree": "631cd436b7e80b8134084a935337c6ee3243bd7b",
      "parents": [
        "c492db370c17c428a0a58d3673294d4e99634b7d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 06 15:57:14 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:31 2013 +0100"
      },
      "message": "regulatory: use IS_ERR macro family for freq_reg_info\n\nInstead of returning an error and filling a pointer\nreturn the pointer and an ERR_PTR value in error cases.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "c492db370c17c428a0a58d3673294d4e99634b7d",
      "tree": "a350365e3cdb2f37c1249f6871eaeb36a811512b",
      "parents": [
        "458f4f9e960b9a3b674c4b87d996eef186b1fe83"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 06 16:29:25 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:30 2013 +0100"
      },
      "message": "regulatory: use RCU to protect last_request\n\nThis will allow making freq_reg_info() lock-free.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "458f4f9e960b9a3b674c4b87d996eef186b1fe83",
      "tree": "febf655badc2a045b3aaaf63271226729c76e325",
      "parents": [
        "379b82f4c9dc6e67bf61aa61b096c06a2f320f60"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 06 15:47:38 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:29 2013 +0100"
      },
      "message": "regulatory: use RCU to protect global and wiphy regdomains\n\nTo simplify the locking and not require cfg80211_mutex\n(which nl80211 uses to access the global regdomain) and\nalso to make it possible for drivers to access their\nwiphy-\u003eregd safely, use RCU to protect these pointers.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "379b82f4c9dc6e67bf61aa61b096c06a2f320f60",
      "tree": "4124d3f006f874f7dbfb75bf46437e9cd00d273e",
      "parents": [
        "fe7ef5e9ba0c60bab01390493a4c6790f7b093af"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 06 15:44:07 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:29 2013 +0100"
      },
      "message": "regulatory: pass new regdomain to reset function\n\nInstead of assigning after calling the function do\nit inside the function. This will later avoid a\nperiod of time where the pointer is NULL.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "fe7ef5e9ba0c60bab01390493a4c6790f7b093af",
      "tree": "899add2d99d37b272a89c5c84eb4e1d9ba22781b",
      "parents": [
        "6913b49a5071064f49f7a74b432286fa735f7612"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Dec 04 15:07:34 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:28 2013 +0100"
      },
      "message": "regulatory: remove handling of channel bandwidth\n\nThe channel bandwidth handling isn\u0027t really quite right,\nit assumes that a 40 MHz channel is really two 20 MHz\nchannels, which isn\u0027t strictly true. This is the way the\nregulatory database handling is defined right now though\nso remove the logic to handle other channel widths.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "6913b49a5071064f49f7a74b432286fa735f7612",
      "tree": "15b54b8dd9d5eef07e8a9366b3f9e391043499f1",
      "parents": [
        "540f6f2cc545da9ae2baa9faa3152fc550bedb57"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Dec 04 00:48:59 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:28 2013 +0100"
      },
      "message": "regulatory: fix reg_is_valid_request handling\n\nThere\u0027s a bug with the world regulatory domain, it\ncan be updated any time which is different from all\nother regdomains that can only be updated once after\na request for them. Fix this by adding a check for\n\"processed\" to the reg_is_valid_request() function\nand clear that when doing a request.\n\nWhile looking at this I also found another locking\nbug, last_request is protected by the reg_mutex not\nthe cfg80211_mutex so the code in nl80211 is racy.\nRemove that code as it only tries to prevent an\nallocation in an error case, which isn\u0027t necessary.\nThen the function can also become static and locking\nin nl80211 can have a smaller scope.\n\nAlso change __set_regdom() to do the checks earlier\nand not different for world/other regdomains.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "540f6f2cc545da9ae2baa9faa3152fc550bedb57",
      "tree": "025838203fff0b4282adb554a02ff6dcd5237988",
      "parents": [
        "e8da2bb4fe9ecb888f44714e2624c7d4268ac09d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Dec 04 00:19:24 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:27 2013 +0100"
      },
      "message": "regulatory: remove locking from wiphy_apply_custom_regulatory\n\nwiphy_apply_custom_regulatory() doesn\u0027t have to hold\nthe regulatory mutex as it only modifies the given\nwiphy with the given regulatory domain, it doesn\u0027t\naccess any global regulatory data.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "e8da2bb4fe9ecb888f44714e2624c7d4268ac09d",
      "tree": "c776f0786e9d72c34888a25cec998f348ef64d70",
      "parents": [
        "5d885b999c68283c493cf00cc020260d38951ae6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 23:00:08 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:27 2013 +0100"
      },
      "message": "regulatory: clarify locking rules and assertions\n\nMany places that currently check that cfg80211_mutex\nis held don\u0027t actually use any data protected by it.\nThe functions that need to hold the cfg80211_mutex\nare the ones using the cfg80211_regdomain variable,\nso add the lock assertion to those and clarify this\nin the comments.\n\nThe reason for this is that nl80211 uses the regdom\nwithout being able to hold reg_mutex.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "5d885b999c68283c493cf00cc020260d38951ae6",
      "tree": "0e835b5e2318bcbf2d2494d45662fa08c1b643df",
      "parents": [
        "0ba857ad671aa8aa2a1276aa7a0c79abd0575146"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Dec 04 00:14:17 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:26 2013 +0100"
      },
      "message": "regulatory: simplify freq_reg_info_regd\n\nThe function itself has dual-purpose: it can\nretrieve from a given regdomain or from the\nglobally installed one. Change it to have a\nsingle purpose only: to look up from a given\nregdomain. Pass the correct regdomain in the\nfreq_reg_info() function instead.\n\nThis also changes the locking rules for it,\nno locking is required any more.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "0ba857ad671aa8aa2a1276aa7a0c79abd0575146",
      "tree": "15bacb84d3977f1ec72a5e9f103d3a409808e0a2",
      "parents": [
        "d4f2c8819a51f31ef0f929574ce8d80b323c6a76"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 19:12:02 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:26 2013 +0100"
      },
      "message": "regulatory: remove useless warning\n\nEven if it never happens and is hidden behind the\ndebug config option, it\u0027s completely useless: the\ncalltrace will only show module loading.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "d4f2c8819a51f31ef0f929574ce8d80b323c6a76",
      "tree": "7d1ba2528b5306a88eb8514f8bf3b659d9ed4f40",
      "parents": [
        "11cff96c0660e1e361d60ab90514ffbbfbaf7c03"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 18:59:58 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:25 2013 +0100"
      },
      "message": "regulatory: remove redundant isalpha() check\n\ntoupper() only modifies lower-case letters, so\nthe isalpha() check is redundant; remove it.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "11cff96c0660e1e361d60ab90514ffbbfbaf7c03",
      "tree": "134ab8c7bb898867d5b65157d303cbdca528461c",
      "parents": [
        "fdc9d7b2863ce67f51ed64f89e5b20f3077be569"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 18:56:41 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:24 2013 +0100"
      },
      "message": "regulatory: simplify restore_regulatory_settings\n\nUse list_splice_tail_init() and also simplify the locking.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "fdc9d7b2863ce67f51ed64f89e5b20f3077be569",
      "tree": "ba92e30e9cfe3e4ecc6d5ca05397e357a112602e",
      "parents": [
        "f41737669d2f4c07c09e90767498243e142171f9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 18:36:09 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:24 2013 +0100"
      },
      "message": "regulatory: remove BUG_ON\n\nThis code is a bit too BUG_ON happy, remove all\ninstances and while doing so make some code a bit\nsmarter by passing the right pointer instead of\nindices into arrays.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "f41737669d2f4c07c09e90767498243e142171f9",
      "tree": "2ac531e5ec1ffefe17f4bb81b0d8d420e48f9499",
      "parents": [
        "2f92212b71f198d42060f7133ff1dc4edf438f6c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 18:23:37 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:23 2013 +0100"
      },
      "message": "cfg80211: remove wiphy_idx_valid\n\nThis is pretty much useless since get_wiphy_idx()\nalways returns true since it\u0027s always called with\na valid wiphy pointer.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "2f92212b71f198d42060f7133ff1dc4edf438f6c",
      "tree": "0a1bd3a91dc246c474b74412beb1eada774ccce6",
      "parents": [
        "9027b1493b57a6a8f9f56741e4c4189048ea5633"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 17:54:55 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:23 2013 +0100"
      },
      "message": "regulatory: use proper enum for return values\n\nInstead of treating special error codes specially,\nlike -EALREADY, introduce a real enum for all the\nneeded possibilities and use it.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "9027b1493b57a6a8f9f56741e4c4189048ea5633",
      "tree": "9a5ac9bba155417560d07b130250015b58772ae5",
      "parents": [
        "1a9193185f462a51815fe48491f8a6fb6b942551"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 17:59:24 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:22 2013 +0100"
      },
      "message": "regulatory: remove useless locking on exit\n\nIt would be a major problem if anything were to run\nconcurrently while the module is being unloaded so\nremove the locking that doesn\u0027t help anything.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "1a9193185f462a51815fe48491f8a6fb6b942551",
      "tree": "9c89b47fdecbbd005fa5795393fab31e6a2e6e97",
      "parents": [
        "75e2dba866706ab9b133983b7fd9a6297b24c22d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 17:21:11 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:22 2013 +0100"
      },
      "message": "regulatory: code cleanup\n\nClean up various things like indentation, extra\nparentheses, too many/few line breaks, etc.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "75e2dba866706ab9b133983b7fd9a6297b24c22d",
      "tree": "c70a293c7e51230616afa3bef62a106a39e0d514",
      "parents": [
        "fea9bcedce2d0c751d4f31155f4634689d46166e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 17:21:26 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:21 2013 +0100"
      },
      "message": "regulatory: simplify regulatory_hint_11d\n\nThere\u0027s no need to unlock before calling\nqueue_regulatory_request(), so simplify\nthe function.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "fea9bcedce2d0c751d4f31155f4634689d46166e",
      "tree": "92d842c278f0a5aad703d977fdd6f5b471e0f6e2",
      "parents": [
        "e9763c3c295a8b31316e16558b58b226e005b160"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 17:32:01 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:21 2013 +0100"
      },
      "message": "regulatory: don\u0027t test list before iterating\n\nThere\u0027s no need to test whether a list is\nempty or not before iterating.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "e9763c3c295a8b31316e16558b58b226e005b160",
      "tree": "e132203edc7265cb23ace6404c9f8b03ad870d7c",
      "parents": [
        "74f53cd8d4474f9ba91c7309feabebae80a60089"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 16:59:46 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:20 2013 +0100"
      },
      "message": "regulatory: clean up reg_copy_regd()\n\nUse ERR_PTR/IS_ERR to return the result or errors,\nalso do some code cleanups.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "74f53cd8d4474f9ba91c7309feabebae80a60089",
      "tree": "1db06e55667c056ad1f73b89d6b5e1b40de5451b",
      "parents": [
        "82f20856304319d5a931846e0269eb911d52a905"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 06 17:26:17 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:19 2013 +0100"
      },
      "message": "regulatory: clean up regdom_intersect\n\nAs the dummy_rule (also renamed from irule) is only\nused for output by the reg_rules_intersect() function\nthere\u0027s no need to clear it at all, remove that.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "82f20856304319d5a931846e0269eb911d52a905",
      "tree": "6a1e7e837f3d26ea40f1f73ac72ea979c9e85665",
      "parents": [
        "8a57fff0c178febbe28669a0ef68a8e3460a7589"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Dec 04 12:49:16 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:19 2013 +0100"
      },
      "message": "regulatory: don\u0027t allocate too much memory\n\nThere\u0027s no need to allocate one reg rule more\nthan will be used, reduce the allocations. The\nallocation in nl80211 already doesn\u0027t allocate\ntoo much space.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "8a57fff0c178febbe28669a0ef68a8e3460a7589",
      "tree": "aaadc945f5f5c72bd63fe1bbe2d39d0c9eec3ee1",
      "parents": [
        "10ff57f98d5fccb9bb508ba30230e5df030d67e3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 06 17:03:17 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:18 2013 +0100"
      },
      "message": "regulatory: don\u0027t write past array when intersecting rules\n\nWhen intersecting rules, we count first to know how many\nrules need to be allocated, and then do the intersection\ninto the allocated array. However, the code doing this\nwrites past the end of the array because it attempts to\ndo all intersections. Make it stop when the right number\nof rules has been reached.\n\nAcked-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "8baf82b368d23aed5c96b01ed7110cdccdd18725",
      "tree": "d67ced86c08d6773030d4a816951fcafa4d21a16",
      "parents": [
        "03ce758e56c483bf5d0035dbd1a53ca2940a3eb0"
      ],
      "author": {
        "name": "Greg KH",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 13:44:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 22 00:03:00 2012 -0800"
      },
      "message": "CONFIG_HOTPLUG removal from networking core\n\nCONFIG_HOTPLUG is always enabled now, so remove the unused code that was\ntrying to be compiled out when this option was disabled, in the\nnetworking core.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c66cfd5325bb215a251f4685fac8718b1da33197",
      "tree": "7c8ed5289c4a99ffcd2588ac48b5a512312a375b",
      "parents": [
        "ecbbec2eb093d2ef205de371af986f0360fca539",
        "8acbcddb5fb3a1dc081defe51b6ac42a7ab0b398"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 11 16:04:03 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 11 16:04:03 2012 -0500"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.sipsolutions.net/mac80211-next\n"
    },
    {
      "commit": "e7d83ed8d0c486fc342e93291e31b3283e3721e7",
      "tree": "88b836bfe47474f44c86842312d57cfb49b4c757",
      "parents": [
        "50c16e2251b63224c05e35d80d434a479a312b4a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 07 11:58:26 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 07 11:58:26 2012 +0100"
      },
      "message": "wext: explicitly cast -110 to u8\n\nThis doesn\u0027t generate any different code, but will\nsuppress a spurious smatch warning.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "403e16731ffddc097eae89f53f9a7b0f0c9769c4",
      "tree": "228d17985ad8ea22a7763457bf9641eb44781568",
      "parents": [
        "55cb0797fa779e36f62876a8aa44cbf3984e8d59",
        "da29d2a5780d80857773d7776b7603a449b0b6e0"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 06 14:58:41 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 06 14:58:41 2012 -0500"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next\n\nConflicts:\n\tdrivers/net/wireless/mwifiex/sta_ioctl.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "a6662dbae0b3a7a91317ec88b5aa0cf8d716f183",
      "tree": "597efafa76ec2defa1f54dc194eb8846518cc73b",
      "parents": [
        "2f91a96799d155d56a0663dbe00fc45c6721a763"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Dec 04 20:49:42 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Dec 04 20:51:27 2012 +0100"
      },
      "message": "cfg80211: check no-OFDM flag for channels wider than 20 MHz\n\nFor channels wider than 20 MHz OFDM will be used, so when\nchecking whether or not a channel is usable, check for the\nno-OFDM flag if the channel is wider than 20 MHz.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "da29d2a5780d80857773d7776b7603a449b0b6e0",
      "tree": "10433b1fbab3c9806d2016d822e3d68266fbf701",
      "parents": [
        "246dc3fddf4a01bb47dd56215a48dd2b270520db"
      ],
      "author": {
        "name": "Marco Porsch",
        "email": "marco.porsch@etit.tu-chemnitz.de",
        "time": "Mon Dec 03 11:23:37 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Dec 03 11:24:49 2012 +0100"
      },
      "message": "cfg80211: fix channel error on mesh join\n\nFix an error on mesh join when no channel has been\nexplicitly set beforehand.\n\nAlso remove a double semicolon.\n\nSigned-off-by: Marco Porsch \u003cmarco.porsch@etit.tu-chemnitz.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "9caf03640279e64d0ba36539b42daa1b43a49486",
      "tree": "cb094a4a577f61421d1b402e16f0e68f151d5726",
      "parents": [
        "b9a9ada14aab17f08c1d9735601f1097cdcfc6de"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 29 01:25:20 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Nov 30 13:42:20 2012 +0100"
      },
      "message": "cfg80211: fix BSS struct IE access races\n\nWhen a BSS struct is updated, the IEs are currently\noverwritten or freed. This can lead to races if some\nother CPU is accessing the BSS struct and using the\nIEs concurrently.\n\nFix this by always allocating the IEs in a new struct\nthat holds the data and length and protecting access\nto this new struct with RCU.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "f94f8b168cf2e46da180bbba2afd626d7af0579d",
      "tree": "44c5efcf76dce5438bd078744e6a695b3a40e478",
      "parents": [
        "915de2ff4a79f1f98362035060777b6c8ce889bb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 28 22:42:34 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Nov 30 13:41:26 2012 +0100"
      },
      "message": "cfg80211: fix cmp_hidden_bss\n\nThe cmp_bss() comparator function uses memcmp() to\ncompare the SSID. This means that cmp_hidden_bss()\nneeds to similarly return a number bigger than zero\n(use 1) instead of -1 when ie1 is bigger than ie2,\nwhich is the case if an ie2 byte is non-zero.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "915de2ff4a79f1f98362035060777b6c8ce889bb",
      "tree": "cc503b95b0aeab48b42fd64012b7d06dbd34aa80",
      "parents": [
        "b629ea3db4c0da4465ffa532914e4a3081f93cdf"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 28 22:39:37 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Nov 30 13:41:25 2012 +0100"
      },
      "message": "cfg80211: fix whitespace in scan handling\n\nFix a number of indentation and similar issues.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "b629ea3db4c0da4465ffa532914e4a3081f93cdf",
      "tree": "bbebaf3d20ded0b389a83458571734c2595a29b4",
      "parents": [
        "41e31b8b902397d5d507b275050fcbe8adaf4ff4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 28 22:14:56 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Nov 30 13:41:24 2012 +0100"
      },
      "message": "cfg80211: don\u0027t BUG_ON BSS struct issues\n\nThere\u0027s no need to stop the machine, just leak\nthe BSS entry if there\u0027s an issue with its hold\ncounter when freeing.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "c04d61500d706b20361eef02e819b9bed8e92c01",
      "tree": "115721a9862c4454ba4e1abf51c9b2abc5e99db2",
      "parents": [
        "1f2e651c9aa4be5ace193b6a8f48e4b068a60207"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Thu Nov 29 18:37:22 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 29 18:44:57 2012 +0100"
      },
      "message": "nl80211: Fix HT_IBSS feature check in ibss_join\n\nThere is a standalone if, seems to be a regression of commit\n\"nl80211/cfg80211: add VHT MCS support\".\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "dbeca2ea4642d9de0a59ac141b2825ea6804f408",
      "tree": "4d0e6a3d37827ee36df2bc5661198920fa7e94b0",
      "parents": [
        "59cf1d65f7d69739a29a16fe678ebc4e1215e9c0"
      ],
      "author": {
        "name": "Mahesh Palivela",
        "email": "maheshp@posedge.com",
        "time": "Thu Nov 29 14:11:07 2012 +0530"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 29 09:54:53 2012 +0100"
      },
      "message": "cfg80211: Remove unused VHT chan code\n\nCleanup of unused VHT channel config related code.\n\nSigned-off-by: Mahesh Palivela \u003cmaheshp@posedge.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "d9d8b01978f6510a262ddc4da3b3694d5b149cfe",
      "tree": "e0e8f5e476bdbb2b40a5fbfd646deb6476369dc8",
      "parents": [
        "339afbf4819e5c7c0a0422af43b8c2eccd059abf"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Nov 26 12:51:52 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 28 13:26:23 2012 +0100"
      },
      "message": "nl80211: remove unnecessary checks\n\nThe CQM TX-error rate/interval can\u0027t be less than\nzero since they\u0027re unsigned values, remove checks.\nAlso fix indentation of the function.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "53cabad70ecf0c245b41285de64a74a6c3ee9933",
      "tree": "fcbae0f72a3afaf57844b8181c87e63914408c89",
      "parents": [
        "5164892184d1b9ce19e45e97e9ca405ea8b9ceb2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 14 15:17:28 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 27 11:56:18 2012 +0100"
      },
      "message": "nl80211: support P2P GO powersave configuration\n\nIf a driver supports P2P GO powersave, allow it to\nset the new feature flags for it and allow userspace\nto configure the parameters for it. This can be done\nat GO startup and later changed with SET_BSS.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "9f5e8f6efc7c2601136b27d9c7325c245f8fd19a",
      "tree": "99e89e550d6687240364659e78ff4276bd12aae2",
      "parents": [
        "ec816087e8978b74c1bd5fae0e335dd97d964e9f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 22 16:59:45 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 27 09:18:25 2012 +0100"
      },
      "message": "cfg80211: rework chandef checking and export it\n\nSome of the chandef checking that we do in cfg80211\nto check if a channel is supported or not is also\nneeded in mac80211, so rework that a bit and export\nthe functions that are needed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    }
  ],
  "next": "62c8003ecb973986958e9dade4a7e598349caf48"
}
