)]}'
{
  "log": [
    {
      "commit": "c6d3b2046e310b361da93fe6c44bde5522c782da",
      "tree": "da0e7969d93eda809244b66688d1ec0c91fc8360",
      "parents": [
        "4d25a75bc6c3f71d8cd736cb5d9bb2ad4ba80792",
        "52f2eaeec11c16c219f0e99b8496fbba86889830"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 08 14:42:37 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 08 14:42:37 2013 -0500"
      },
      "message": "Merge tag \u0027nfc-next-3.9-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next\n\nSamuel says:\n\n\"This is the 2nd NFC pull request.\n\nWith this one we have a new NFC driver for Inside Secure microread and a few\npn533 fixes.\nMicroread is an HCI based NFC IP and the driver we\u0027re pushing supports tags\nR/W, and NFC p2p. It\u0027s supported over the i2c and MEI busses.\"\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4d25a75bc6c3f71d8cd736cb5d9bb2ad4ba80792",
      "tree": "12307df2501537577dfe12b5966c47a58166aef3",
      "parents": [
        "3549c6b1953c3e951e71fbec94f9ed203c4754e7",
        "9c3a8d99346040010a82ae8088b055f85cf8a2e9"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 08 14:41:45 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 08 14:41:45 2013 -0500"
      },
      "message": "Merge branch \u0027for-linville\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx\n"
    },
    {
      "commit": "3549c6b1953c3e951e71fbec94f9ed203c4754e7",
      "tree": "fb820b173e94f10f1e1fe39ed00e55505057d73f",
      "parents": [
        "b26f5f09ebdeb85ab152344cc1d6d484a3ce967d",
        "3f52b7e328c526fa7a592af9bf5772c591ed38a4"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 08 14:23:51 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 08 14:39:54 2013 -0500"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next\n\nFixed-up drivers/net/wireless/iwlwifi/mvm/mac80211.c to change change\nIEEE80211_HW_NEED_DTIM_PERIOD to IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC\nas requested by Johannes Berg. -- JWL\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6cc9efed707c575a9e5880ea68f8b9d36b235f1f",
      "tree": "205ce4c92ece7ea5c3020b9ce12ca801e08642af",
      "parents": [
        "06ab4058ea418d8503458bea386961b9dd554356"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Fri Jan 25 12:05:34 2013 +0200"
      },
      "committer": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Fri Feb 08 10:05:02 2013 +0200"
      },
      "message": "wlcore: move wl12xx_platform_data up and make it truly optional\n\nThe platform data is used not only by wlcore-based drivers, but also\nby wl1251.  Move it up in the directory hierarchy to reflect this.\n\nAdditionally, make it truly optional.  At the moment, disabling\nplatform data while wl1251_sdio or wlcore_sdio are enabled doesn\u0027t\nwork, but it will be necessary when device tree support is\nimplemented.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nReviewed-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "afb43e6d88e587441c960a5d214d2c698d076c9c",
      "tree": "b8df657e3e4e54c71e95f3972d7b9b05e286188d",
      "parents": [
        "3a0a8d961e20132272887d9826738ce9b4d818f7"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Fri Jan 25 11:57:48 2013 +0200"
      },
      "committer": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Fri Feb 08 10:05:02 2013 +0200"
      },
      "message": "wlcore: remove if_ops from platform_data\n\nWe can\u0027t pass pointers from the platform data to the modules, because\nwith DT it cannot be done.  Those pointers are not set by the board\nfiles anyway.  It\u0027s the bus modules that set them, so they can be\nsafely removed from the platform data without changing any board\nfiles.\n\nCreate a new structure that the bus modules pass to wlcore.  This\nstructure contains the if_ops pointers and a pointer to the actual\nplatform data.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nReviewed-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "3f52b7e328c526fa7a592af9bf5772c591ed38a4",
      "tree": "1bcf93b87c99c3be6c9020a41b28114130f4c251",
      "parents": [
        "0532d4f154b87da6361ab90d12f35142d5119dc1"
      ],
      "author": {
        "name": "Marco Porsch",
        "email": "marco@cozybit.com",
        "time": "Wed Jan 30 18:14:08 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 18:57:47 2013 +0100"
      },
      "message": "mac80211: mesh power save basics\n\nAdd routines to\n- maintain a PS mode for each peer and a non-peer PS mode\n- indicate own PS mode in transmitted frames\n- track neighbor STAs power modes\n- buffer frames when neighbors are in PS mode\n- add TIM and Awake Window IE to beacons\n- release frames in Mesh Peer Service Periods\n\nAdd local_pm to sta_info to represent the link-specific power\nmode at this station towards the remote station. When a peer\nlink is established, use the default power mode stored in mesh\nconfig. Update the PS status if the peering status of a neighbor\nchanges.\nMaintain a mesh power mode for non-peer mesh STAs. Set the\nnon-peer power mode to active mode during peering. Authenticated\nmesh peering is currently not working when either node is\nconfigured to be in power save mode.\n\nIndicate the current power mode in transmitted frames. Use QoS\nNulls to indicate mesh power mode transitions.\nFor performance reasons, calls to the function setting the frame\nflags are placed in HWMP routing routines, as there the STA\npointer is already available.\n\nAdd peer_pm to sta_info to represent the peer\u0027s link-specific\npower mode towards the local station. Add nonpeer_pm to\nrepresent the peer\u0027s power mode towards all non-peer stations.\nTrack power modes based on received frames.\n\nAdd the ps_data structure to ieee80211_if_mesh (for TIM map, PS\nneighbor counter and group-addressed frame buffer).\n\nSet WLAN_STA_PS flag for STA in PS mode to use the unicast frame\nbuffering routines in the tx path. Update num_sta_ps to buffer\nand release group-addressed frames after DTIM beacons.\n\nAnnounce the awake window duration in beacons if in light or\ndeep sleep mode towards any peer or non-peer. Create a TIM IE\nsimilarly to AP mode and add it to mesh beacons. Parse received\nAwake Window IEs and check TIM IEs for buffered frames.\n\nRelease frames towards peers in mesh Peer Service Periods. Use\nthe corresponding trigger frames and monitor the MPSP status.\nAppend a QoS Null as trigger frame if neccessary to properly end\nthe MPSP. Currently, in HT channels MPSPs behave imperfectly and\nshow large delay spikes and frame losses.\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\nSigned-off-by: Max Filippov \u003cjcmvbkbc@gmail.com\u003e\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": "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": "682bd38b8ac1fa3e84e84cddd1f1d7eeebce1212",
      "tree": "b05470db358c1a0b86552e5f659a098fc2968bfa",
      "parents": [
        "eef9e54ce8b8dd08e281e0c399cced807c98959e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 29 13:13:50 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 04 16:09:58 2013 +0100"
      },
      "message": "mac80211: always allow calling ieee80211_connection_loss()\n\nWith multi-channel, there\u0027s a corner case where a driver\ndoesn\u0027t receive a beacon soon enough to be able to sync\nits timers with the AP. In this case, the only recovery\n(after trying again) is to disconnect from the AP. Allow\ncalling ieee80211_connection_loss() for such cases. To\nmake that possible, modify the work function to not rely\non the IEEE80211_HW_CONNECTION_MONITOR flag but use new\nstate kept in the interface instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "cfad1ba87150e198be9ea32367a24e500e59de2c",
      "tree": "dc70c402fb92bfcae71120b6f3cbb859686201d9",
      "parents": [
        "2323e6fc62eec19c3454642c0ac4ad42374b40a1"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@linux.intel.com",
        "time": "Tue Dec 18 14:53:53 2012 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Feb 03 20:37:42 2013 +0100"
      },
      "message": "NFC: Initial support for Inside Secure microread\n\nInside Secure microread is an HCI based NFC chipset.\nThis initial support includes reader and p2p (Target and initiator) modes.\n\nSigned-off-by: Eric Lapuyade \u003ceric.lapuyade@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "97cc019ee56d52005ea4544af17bef268c464862",
      "tree": "01a667e279611373a62b1eadcdb845a268de8743",
      "parents": [
        "c67ba5e5801f912e39fbbfaddbf118abd64ef271"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Fri Feb 01 08:46:56 2013 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 01 14:27:25 2013 -0500"
      },
      "message": "bcma: cc: fix (and rename) define of NAND flash type\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "83be8eca2e67faaec45280224b798828bbfa69aa",
      "tree": "ee0d4782e5270dc3812c9ece825545b88bcbb14b",
      "parents": [
        "4821002ce2baa130666c2d777e0ed30bee6c7702"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Jan 27 00:31:29 2013 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Fri Feb 01 15:50:17 2013 -0200"
      },
      "message": "Bluetooth: Keep track of UUID type upon addition\n\nThe primary purpose of the UUIDs is to enable generation of EIR and AD\ndata. In these data formats the UUIDs are split into separate fields\nbased on whether they\u0027re 16, 32 or 128 bit UUIDs. To make the generation\nof these data fields simpler this patch adds a type member to the\nbt_uuid struct and assigns a value to it as soon as the UUID is added to\nthe kernel. This way the type doesn\u0027t need to be calculated each time\nthe UUID list is later iterated.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "1672c0e31917f49d31d30d79067103432bc20cc7",
      "tree": "cc5b6b0017129b5748cfa2bace537d43c991d66c",
      "parents": [
        "3ff9a827c683353b9826ef57366b0f313acc21b0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 29 15:02:27 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 31 14:28:43 2013 +0100"
      },
      "message": "mac80211: start auth/assoc timeout on frame status\n\nWhen sending authentication/association frames they\nmight take a bit of time to go out because we may\nhave to synchronise with the AP, in particular in\nthe case where it\u0027s really a P2P GO. In this case\nthe 200ms fixed timeout could potentially be too\nshort if the beacon interval is relatively large.\n\nFor drivers that report TX status we can do better.\nInstead of starting the timeout directly, start it\nonly when the frame status arrives. Since then the\nframe was out on the air, we can wait shorter (the\ntypical response time is supposed to be 30ms, wait\n100ms.) Also, if the frame failed to be transmitted\ntry again right away instead of waiting.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\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": "c65dd1477b6fe5971489dd8b6e28a07ec277fdd6",
      "tree": "01f740a3fa02bc957b22575fcd1bb486b0af6e43",
      "parents": [
        "fdcb786930777231c81f487ab2526d33971a3438"
      ],
      "author": {
        "name": "Emmanuel Grumbach",
        "email": "emmanuel.grumbach@intel.com",
        "time": "Wed Dec 12 10:12:24 2012 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 31 14:05:38 2013 +0100"
      },
      "message": "mac80211: inform the driver about update of dtim_period\n\nCurrently, when the driver requires the DTIM period,\nmac80211 will wait to hear a beacon before association.\nThis behavior is suboptimal since some drivers may be\nable to deal with knowing the DTIM period after the\nassociation, if they get it at all.\n\nTo address this, notify the drivers with bss_info_changed\nwith the new BSS_CHANGED_DTIM_PERIOD flag when the DTIM\nbecomes known. This might be when changing to associated,\nor later when the entire association was done with only\nprobe response information.\n\nRename the hardware flag for the current behaviour to\nIEEE80211_HW_NEED_DTIM_BEFORE_ASSOC to more accurately\nreflect its behaviour. IEEE80211_HW_NEED_DTIM_PERIOD is\nno longer accurate as all drivers get the DTIM period\nnow, just not before association.\n\nSigned-off-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\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": "8f1ca2683225afa21b827ff620a6225c390771a9",
      "tree": "e3ce18950e47ce417323527f1bfba59b64ed80f5",
      "parents": [
        "a6ca2e10f795111a90a4efabb07717258669e03d"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Sat Jan 26 21:39:44 2013 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 30 15:07:06 2013 -0500"
      },
      "message": "bcma: add gpio_to_irq\n\nThe old bcm47xx gpio code had support for gpio_to_irq, but the new\ncode did not provide this function, but returned -ENXIO all the time.\nThis patch adds the missing function.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a6ca2e10f795111a90a4efabb07717258669e03d",
      "tree": "e39ccc815a49c0d07587ae412305666f1277b85f",
      "parents": [
        "5b2e2eccab80e2f56d06df582e473fb0d8630f35"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Sat Jan 26 21:38:35 2013 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 30 15:07:06 2013 -0500"
      },
      "message": "ssb: add gpio_to_irq\n\nThe old bcm47xx gpio code had support for gpio_to_irq, but the new\ncode did not provide this function, but returned -ENXIO all the time.\nThis patch adds the missing function.\n\narch/mips/bcm47xx/wgt634u.c calls gpio_to_irq() and got the correct irq\nnumber with the old gpio handling code. With this patch the code in\nwgt634u.c should work again. I do not have a wgt634u to test this.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "20fb9e50338199d9e88512703af4c560ab53bad4",
      "tree": "2d0913749141e9e8e0df774426a658b52fddabbf",
      "parents": [
        "0f496df2d9ba48faa808b5fa330de0da1a2d29d7",
        "3b4797bce0050570e84bedd10e1b14e9320a3551"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 30 14:22:19 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 30 14:22:19 2013 -0500"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next\n"
    },
    {
      "commit": "0f496df2d9ba48faa808b5fa330de0da1a2d29d7",
      "tree": "c1c85a625cff3f2ca6d95a5d5020a0157baa7521",
      "parents": [
        "56e1bd770614da94f35e88c150cf9edf8d0b57a2",
        "9b008c0457e583e10e62d1215bed6ab26ee54906"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 30 14:21:04 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 30 14:21:04 2013 -0500"
      },
      "message": "Merge branch \u0027for-upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next\n"
    },
    {
      "commit": "8df6b7b11a5e4200484e9356073d288f08bdefb0",
      "tree": "54970586227d9a68fafbdaacce6007b67610aa11",
      "parents": [
        "448cd55c37dc3ea30705c4826ac3e7dbbcb74aa2"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Mon Jan 28 14:42:30 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 29 12:16:34 2013 +0100"
      },
      "message": "mac80211: remove IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL\n\nThis is basically a revert of:\n\ncommit 5b632fe85ec82e5c43740b52e74c66df50a37db3\nAuthor: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nDate:   Mon Dec 3 12:56:33 2012 +0100\n\n    mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL\n\nWe do not need this flag any longer, rt2x00 BAR/BA problem was fixed\ncorrectly by wireless-testing commit:\n\ncommit 84e9e8ebd369679a958200a8baca96aafb2393bb\nAuthor: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nDate:   Thu Jan 17 17:34:32 2013 +0100\n\n    rt2x00: Improve TX status handling for BlockAckReq frames\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "448cd55c37dc3ea30705c4826ac3e7dbbcb74aa2",
      "tree": "ac1b09f416944e50119b31165d6c8bca47e6ca77",
      "parents": [
        "3b4797bce0050570e84bedd10e1b14e9320a3551",
        "9ebea3829fac7505e0cd2642fbd13cfa9c038831"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 29 12:16:22 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 29 12:16:22 2013 +0100"
      },
      "message": "Merge remote-tracking branch \u0027wireless-next/master\u0027 into HEAD\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": "6d45a74b1f2e42e41c9931bfb35cdb789d0bb3ea",
      "tree": "2629c3a1c929741eb90bf9e56379e76560c18375",
      "parents": [
        "fe80123d83d1f9abca426914f768048e601f54db"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vthiagar@qca.qualcomm.com",
        "time": "Fri Jan 18 11:18:44 2013 +0530"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 25 18:14:52 2013 +0100"
      },
      "message": "cfg80211: Move the definition of struct mac_address up\n\nstruct mac_address will be used by ACL related configuration ops.\n\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvthiagar@qca.qualcomm.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "d437c86baacf265a640dfc462c75941d02c0e153",
      "tree": "b48a54799f886b75d6f776e41cbfb5d6788c653f",
      "parents": [
        "8147dc7f54f0f2e13c3b65fd9628994ad576610b"
      ],
      "author": {
        "name": "Bing Zhao",
        "email": "bzhao@marvell.com",
        "time": "Wed Jan 23 20:33:58 2013 -0800"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 24 15:50:05 2013 +0100"
      },
      "message": "ieee80211: define AKM suite selectors type 5, 6 and 7\n\nReference: IEEE 802.11-2012 8.4.2.27.3 \"AKM suites\"\n\nSigned-off-by: Bing Zhao \u003cbzhao@marvell.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "887da9176e011a044b12ec0deff62df5faadd67c",
      "tree": "cc90391e20d8d1b25e8418abde6b10105300628c",
      "parents": [
        "a65240c1013222dbf41166c8b2c5ed2720c807c3"
      ],
      "author": {
        "name": "Emmanuel Grumbach",
        "email": "emmanuel.grumbach@intel.com",
        "time": "Sun Jan 20 17:32:41 2013 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 24 15:41:29 2013 +0100"
      },
      "message": "mac80211: provide the vif in rssi_callback\n\nSince drivers can support several BSS / P2P Client\ninterfaces, the rssi callback needs to inform the driver\nabout the interface teh rssi event relates to.\n\nSigned-off-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "9b008c0457e583e10e62d1215bed6ab26ee54906",
      "tree": "f608bfbee267282ce104601523e2a655ce2945db",
      "parents": [
        "cf1d081f6597a45e5ff63f55c893494a8ae1cdaf"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jan 22 14:02:01 2013 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed Jan 23 02:09:16 2013 -0200"
      },
      "message": "Bluetooth: Add support for reading LE supported states\n\nThe LE supported states indicate the states and state combinations that\nthe link layer supports. This is important information for knowing what\noperations are possible when dealing with multiple connected devices.\nThis patch adds reading of the supported states to the HCI init\nsequence.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "cf1d081f6597a45e5ff63f55c893494a8ae1cdaf",
      "tree": "5112451c53e886ec798c9967c3db67224d5aeb78",
      "parents": [
        "60e77321985ab599fac010afdc465c3e30281a06"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jan 22 14:02:00 2013 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed Jan 23 02:08:43 2013 -0200"
      },
      "message": "Bluetooth: Add support for reading LE White List Size\n\nThe LE White List Size is necessary to be known before attempting to\nfeed the controller with any addresses intended for the white list. This\npatch adds the necessary HCI command sending to the HCI init sequence.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "60e77321985ab599fac010afdc465c3e30281a06",
      "tree": "bc4f479a21e72472e10750f0466940672f690fa8",
      "parents": [
        "5d0846d416a6c8b7fda1b24aa7369818a7dfa00e"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jan 22 14:01:59 2013 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed Jan 23 02:08:18 2013 -0200"
      },
      "message": "Bluetooth: Add LE Local Features reading support\n\nTo be able to make the appropriate decisions for some LE procedures we\nneed to know the LE features that the local controller supports.\nTherefore, it\u0027s important to have the LE Read Local Supported Features\nHCI comand as part of the HCI init sequence.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "679efe2b4fcbe575bc4c94c410039e35c169bfb6",
      "tree": "7a7f022a3f62e38398cd2cedca276e1701aeeb5b",
      "parents": [
        "44b20d33962a73ca14b934540e9168e0da1b49ab"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Jan 20 14:27:18 2013 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed Jan 23 01:58:08 2013 -0200"
      },
      "message": "Bluetooth: Add helper functions for testing bdaddr types\n\nThis patch adds two helper functions to test for valid bdaddr type\nvalues. These will be particularely useful in the mgmt code to check\nthat user space has passed valid values to the kernel.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "066433a6fa9249db2117adcda330a34ae99814b7",
      "tree": "1ccf31cc8c9ac494d6371073ddead320c927a4d6",
      "parents": [
        "aa3c90b89045b532418feb3eca6ca258920bf702",
        "5a32aff37a02ebc959837f08d09ac8ba65d4f1b0"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 22 15:40:56 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 22 15:40:56 2013 -0500"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next\n"
    },
    {
      "commit": "a65240c1013222dbf41166c8b2c5ed2720c807c3",
      "tree": "782ebe013571cbf1b83c306964372faffe348b42",
      "parents": [
        "0a214d3f7e5041685ebff054628a4354bedd78c3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Jan 14 15:14:34 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 18 21:55:38 2013 +0100"
      },
      "message": "mac80211: allow drivers to access IPv6 information\n\nTo be able to implement NS response offloading (in\nregular operation or while in WoWLAN) drivers need\nto know the IPv6 addresses assigned to interfaces.\nImplement an IPv6 notifier in mac80211 to call the\ndriver when addresses change.\n\nUnlike for IPv4, implement it as a callback rather\nthan as a list in the BSS configuration, that is\nmore flexible.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "0f19b41e223d787251c59137e61fc5145c13d1c4",
      "tree": "32715057d43ecb8a35b36f97320225f12094de70",
      "parents": [
        "de5fad815703b5b24bc4726cd71422929537d259"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Jan 14 16:39:07 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 18 21:20:34 2013 +0100"
      },
      "message": "mac80211: remove ARP filter enable/disable logic\n\nDepending on the driver, having ARP filtering for\nsome addresses may be possible. Remove the logic\nthat tracks whether ARP filter is enabled or not\nand give the driver the total number of addresses\ninstead of the length of the list so it can make\nits own decision.\n\nReviewed-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "de5fad815703b5b24bc4726cd71422929537d259",
      "tree": "4b2c5ab023fc4577748c2a340f10ab6cd0ea515e",
      "parents": [
        "5a32aff37a02ebc959837f08d09ac8ba65d4f1b0"
      ],
      "author": {
        "name": "Yoni Divinsky",
        "email": "yoni.divinsky@ti.com",
        "time": "Wed May 30 11:36:39 2012 +0300"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 18 13:30:21 2013 +0100"
      },
      "message": "mac80211: add op to configure default key id\n\nThere are hardwares which support offload of data packets\nfor example when auto ARP is enabled the hw will send\nthe ARP response. In such cases if WEP encryption is\nconfigured the hw must know the default WEP key in order\nto encrypt the packets correctly.\n\nWhen hw_accel is enabled and encryption type is set to WEP,\nthe driver should get the default key index from mac80211.\n\nSigned-off-by: Yoni Divinsky \u003cyoni.divinsky@ti.com\u003e\n[cleanups, fixes, documentation]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "6ead1bbc381a674c20f227dbe6f3a8c6f67ce7a2",
      "tree": "d7b1a11d2a20c8d36bb9ce39467cecbc7735a640",
      "parents": [
        "52e0b011e29f36bc5c02ea3adbf4d864a38373de"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Jan 14 22:33:50 2013 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Fri Jan 18 02:54:21 2013 -0200"
      },
      "message": "Bluetooth: Add a new workqueue for hci_request operations\n\nThe hci_request function is blocking and cannot be called through the\nusual per-HCI device workqueue (hdev-\u003eworkqueue). While hci_request is\nin progress any other work from the queue, including sending HCI\ncommands to the controller would be blocked and eventually cause the\nhci_request call to time out.\n\nThis patch adds a second workqueue to be used by operations needing\nhci_request and thereby avoiding issues with blocking other workqueue\nusers.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\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": "8f21b0adfe95907926da1bb0bcd3382b13d0143d",
      "tree": "8eeedd57fd51a88baa61d38ef5602689eea3d675",
      "parents": [
        "d888130a024d1d1e8b2c3d0c9841a218fc0aed9e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 11 00:28:01 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 16 15:19:01 2013 +0100"
      },
      "message": "mac80211: call restart complete at wowlan resume time\n\nWhen the driver\u0027s resume function can\u0027t completely\nrestore the configuration in the device, it returns\n1 from the callback which will be treated like a HW\nrestart request, but done directly.\n\nIn this case, also call the driver\u0027s restart_complete()\nfunction so it can finish the reconfiguration there.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "0ae997dc75efb60d47f0c71890f1e972f7d462c1",
      "tree": "3c1cae75c2c630947f876c8d09afa6b69beb6367",
      "parents": [
        "0c0280bd0ba410326eecdaeb1b936696eda6381d"
      ],
      "author": {
        "name": "Yacine Belkadi",
        "email": "yacine.belkadi.1@gmail.com",
        "time": "Sat Jan 12 13:54:14 2013 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jan 16 15:14:18 2013 +0100"
      },
      "message": "{cfg,mac}80211.h: fix some kernel-doc warnings\n\nWhen building the 80211 DocBook, scripts/kernel-doc reports\nthe following type of warnings:\n\nWarning(include/net/cfg80211.h:334): No description found for return value of \u0027cfg80211_get_chandef_type\u0027\n\nThese warnings are only reported when scripts/kernel-doc\nruns in verbose mode.\n\nTo fix these use \"Return:\" to describe function return values.\n\nSigned-off-by: Yacine Belkadi \u003cyacine.belkadi.1@gmail.com\u003e\n[adjust for freq_reg_info() change]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "6bf2e5461479c4511f59946a7378db576b04dbc5",
      "tree": "5f0560d8cd248efdaff9d12e2b9c4dec1df32806",
      "parents": [
        "e2d4a24e03f9f7b255e86a2537dca0927f08af4a"
      ],
      "author": {
        "name": "Nathan Hintz",
        "email": "nlhintz@hotmail.com",
        "time": "Fri Jan 11 22:07:22 2013 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 14 15:10:40 2013 -0500"
      },
      "message": "bcma: fix bcm4716/bcm4748 i2s irqflag\n\nThe default irqflag assignment for the I2S core on some Broadcom\n4716/4748 devices is invalid and needs to be corrected (from the\nBroadcom SDK).\n\nSigned-off-by: Nathan Hintz \u003cnlhintz@hotmail.com\u003e\nAcked-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "50c2f5e8f93c83ddb7fe74057db1e3030724ae6e",
      "tree": "6c7f16224195283a6bbe334e19fd1e14a6aad8e6",
      "parents": [
        "990debe2ca8379863709721926550a55f47f3880",
        "d3710e74cf329839dea8d13b1ad56e572b06b173"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 14 15:08:52 2013 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 14 15:08:52 2013 -0500"
      },
      "message": "Merge tag \u0027nfc-next-3.9-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next\n\nSamuel Ortiz \u003csameo@linux.intel.com\u003e says:\n\n\"This is the first NFC patchset targeted at the 3.9 merge window.\n\nIt brings the following goodies:\n\n- LLCP socket timestamping (To be used e.g with the recently released nfctool\n  application for a more efficient skb timestamping when sniffing).\n- A pretty big pn533 rework from Waldemar, preparing the driver to support\n  more flavours of pn533 based devices.\n- HCI changes from Eric in preparation for the microread driver support.\n- Some LLCP memory leak fixes, cleanups and slight improvements.\n- pn544 and nfcwilink move to the devm_kzalloc API.\n- An initial Secure Element (SE) API.\n- An nfc.h license change from the original author, allowing non GPL\n  application code to safely include it.\"\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d3710e74cf329839dea8d13b1ad56e572b06b173",
      "tree": "4d153a24cab9a6c64ae87268a5611e7b42720a84",
      "parents": [
        "858ce0220922a52e009d17dcaaab5dfd76f9833b"
      ],
      "author": {
        "name": "Lauro Ramos Venancio",
        "email": "lauro.venancio@openbossa.org",
        "time": "Wed Dec 05 21:12:25 2012 -0300"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Mon Jan 14 12:28:54 2013 +0100"
      },
      "message": "NFC: Change nfc.h license\n\nnfc.h being GPL makes it quite controversial for non GPL applications to\ninclude it.\nMoreover, nfc.h only includes structures and API definitions that are hardly\ncopyrightable.\n\nSigned-off-by: Lauro Ramos Venancio \u003clauro.venancio@openbossa.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "0c0280bd0ba410326eecdaeb1b936696eda6381d",
      "tree": "d7d2795b3418db1c5b9ffa971c7beeaa2245b0fe",
      "parents": [
        "55b183ad8635589ea731a31653de79a2626491c4"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "mcgrof@do-not-panic.com",
        "time": "Fri Jan 11 18:39:36 2013 +0000"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Jan 14 11:32:44 2013 +0100"
      },
      "message": "wireless: make the reg_notifier() void\n\nThe reg_notifier()\u0027s return value need not be checked\nas it is only supposed to do post regulatory work and\nthat should never fail. Any behaviour to regulatory\nthat needs to be considered before cfg80211 does work\nto a driver should be specified by using the already\nexisting flags, the reg_notifier() just does post\nprocessing should it find it needs to.\n\nAlso make lbs_reg_notifier static.\n\nSigned-off-by: Luis R. Rodriguez \u003cmcgrof@do-not-panic.com\u003e\n[move lbs_reg_notifier to not break compile]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "990debe2ca8379863709721926550a55f47f3880",
      "tree": "99bd665aaec5f0ff39b529ab1036954385e78496",
      "parents": [
        "eab6d7921d5704128c941d7cc647dacd4d50697c"
      ],
      "author": {
        "name": "Nathan Hintz",
        "email": "nlhintz@hotmail.com",
        "time": "Thu Jan 10 22:24:03 2013 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 11 14:50:00 2013 -0500"
      },
      "message": "bcma: update pci configuration for bcm4706/bcm4716\n\nUpdate the PCI configuration for BCM4706 and BCM4716 per the 2011\nBroadcom SDK.\n\nSigned-off-by: Nathan Hintz \u003cnlhintz@hotmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e2aa19fadd718d7dd920a3994118863861a4b61e",
      "tree": "dcef21d36c4ed2ab7cb02ecf9ca7585ebc3993ed",
      "parents": [
        "1a2d50329832c4b5c77be569f20eec303a0d07b8"
      ],
      "author": {
        "name": "Nathan Hintz",
        "email": "nlhintz@hotmail.com",
        "time": "Thu Jan 10 17:54:09 2013 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 11 14:49:59 2013 -0500"
      },
      "message": "bcma: return the mips irq number in bcma_core_irq\n\nThe irq signal numbers that are send by the cpu are increased by 2 from\nthe number programmed into the mips core by bcma.\nReturn the irq number on which the irqs are send in bcma_core_irq() now.\n\nSigned-off-by: Nathan Hintz \u003cnlhintz@hotmail.com\u003e\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "390a1bd8538132186ddb679cafe9e75b7ef7e2d2",
      "tree": "1c548396163a30e0e29f6572cf7b6f0c645085ba",
      "parents": [
        "2ad554a502facd705ce6eb362d0f1ac3ca426508"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Wed Dec 19 19:11:32 2012 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Jan 10 00:51:54 2013 +0100"
      },
      "message": "NFC: Initial Secure Element API\n\nEach NFC adapter can have several links to different secure elements and\nthat property needs to be exported by the drivers.\nA secure element link can be enabled and disabled, and card emulation will\nbe handled by the currently active one. Otherwise card emulation will be\nhost implemented.\n\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "bf71ab8ba53081c28b960d48e0c4cd1c17588aa6",
      "tree": "fb6444f45ac21850fa5b7bed05fb19a93b4ee313",
      "parents": [
        "924d4a023ee6da2e40c78578829e68bcbabee2dd"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@linux.intel.com",
        "time": "Tue Dec 18 14:15:49 2012 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Jan 10 00:51:51 2013 +0100"
      },
      "message": "NFC: Add HCI quirks to support driver (non)standard implementations\n\nSome chips diverge from the HCI spec in their implementation of standard\nfeatures. This adds a new quirks parameter to\nnfc_hci_allocate_device() to let the driver indicate its divergence.\n\nSigned-off-by: Eric Lapuyade \u003ceric.lapuyade@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "27c31191b3d7ff32c266a5dbea344b9aa96ebf14",
      "tree": "c8138ab74878bf69c1b5932c119da2c3d3b5c67b",
      "parents": [
        "f0c9103813b3045bd5b43220b6a78c9908a45d24"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@linux.intel.com",
        "time": "Wed Nov 28 15:48:44 2012 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Jan 10 00:51:49 2013 +0100"
      },
      "message": "NFC: Added error handling in event_received hci ops\n\nThere is no use to return an error if the caller doesn\u0027t get it.\n\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "f0c9103813b3045bd5b43220b6a78c9908a45d24",
      "tree": "78422096c0728f84a43c057bcf6ffa185bd13190",
      "parents": [
        "5f4d6214ef5e9b1ff6a72ddfa387c1d72adfac98"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@linux.intel.com",
        "time": "Mon Nov 26 18:06:27 2012 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Jan 10 00:51:48 2013 +0100"
      },
      "message": "NFC: Fixed nfc core and hci unregistration and cleanup\n\nWhen an adapter is removed, it will unregister itself from hci and/or\nnfc core. In order to do that safely, work tasks must first be canceled\nand prevented to be scheduled again, before the hci or nfc device can be\ndestroyed.\n\nSigned-off-by: Eric Lapuyade \u003ceric.lapuyade@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "cb6801c640c759fe02c812728c2661bd8ba5a302",
      "tree": "41a0c3980eb805049de1cbc654a90284131a1b98",
      "parents": [
        "cbf54ad104cb2ec6f5734d95be1dc783bea0343b"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri Dec 07 14:59:08 2012 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed Jan 09 17:05:05 2013 -0200"
      },
      "message": "Bluetooth: AMP: Use set_bit / test_bit for amp_mgr state\n\nUsing bit operations solves problems with multiple requests\nand clearing state.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "8e05e3ba88adcf7ac644e6ef26676ea7c048a08c",
      "tree": "9116603c2b9ca6b10b3cbb00001a4f1ee04ef62c",
      "parents": [
        "7952861f4a8d67b6624b2e6c92cd63bd11a332ce"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri Dec 07 14:59:05 2012 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed Jan 09 17:05:05 2013 -0200"
      },
      "message": "Bluetooth: AMP: Send A2MP Create Phylink Rsp after Assoc write\n\nPostpone sending A2MP Create Phylink Response until we got successful\nHCI Command Complete after HCI Write Remote AMP Assoc.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "7952861f4a8d67b6624b2e6c92cd63bd11a332ce",
      "tree": "8b865da4a92b82f88cd1ac417d99d2cc494fb8fa",
      "parents": [
        "d6b67c6c0c54c1b18507c15cf1667a362959a0d3"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Dec 18 11:48:01 2012 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed Jan 09 17:05:05 2013 -0200"
      },
      "message": "Bluetooth: remove an unused variable in a header file\n\nThis patch removes srej_queue_next from include/net/bluetooth/l2cap.h as it\nis not used.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "8f9dc85348ac37ff3b6b031d22e93a5b59d81f83",
      "tree": "59e6ebc5c979ce7a03b03f9c12f3231ff8528a61",
      "parents": [
        "db5230d1b3c5f7c62564de2ef07ea1c633548959"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Fri Jan 04 00:51:24 2013 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 07 15:18:29 2013 -0500"
      },
      "message": "bcma: mips: remove assigned_irqs from structure\n\nThis member is not needed any more.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.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": "ec61cd63dd3f3bf982180b2bcc1b325160d73837",
      "tree": "19fa85aa9fc26698bd9635b8f260b09df368ccda",
      "parents": [
        "598a5938e04ce30d837dca4c3c3326c69435342a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 28 12:12:10 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:44 2013 +0100"
      },
      "message": "mac80211: support HT notify channel width action\n\nSupport the HT notify channel width action frame\nto update the rate scaling about the bandwidth\nthe peer can receive in.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "598a5938e04ce30d837dca4c3c3326c69435342a",
      "tree": "7eb83503e3c9c43932633746faed8a2bc50450dd",
      "parents": [
        "18b559d5db47c86b10c14590aa2d26c0243c39e4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 28 12:00:40 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:43 2013 +0100"
      },
      "message": "wireless: use __packed in ieee80211.h\n\nUse __packed instead of __attribute__((packed)).\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "18b559d5db47c86b10c14590aa2d26c0243c39e4",
      "tree": "15db56605202e2b43628b0f441ca6275bf9b2d50",
      "parents": [
        "30bf5f1f433c7612857ed13c50525945c483dfe0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jul 18 13:51:25 2012 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:42 2013 +0100"
      },
      "message": "mac80211: split TX aggregation stop action\n\nWhen TX aggregation is stopped, there are a few\ndifferent cases:\n - connection with the peer was dropped\n - session stop was requested locally\n - session stop was requested by the peer\n - connection was dropped while a session is stopping\n\nThe behaviour in these cases should be different, if\nthe connection is dropped then the driver should drop\nall frames, otherwise the frames may continue to be\ntransmitted, aggregated in the case of a locally\nrequested session stop or unaggregated in the case of\nthe peer requesting session stop.\n\nSplit these different cases so that the driver can\nact accordingly; however, treat local and remote stop\nthe same way and ask the driver to not send frames as\naggregated packets any more.\n\nIn the case of connection drop, the stop callback the\ndriver is otherwise supposed to call is no longer\nrequired.\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": "8a61af65c6d03781015315dbc43d0942a5b31db9",
      "tree": "624695ba646281508490cb1737fb69d8174fa87a",
      "parents": [
        "529ba6e9313dbe60dab7e72c6fdf647a012e9f5b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 13 17:42:30 2012 +0100"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:35 2013 +0100"
      },
      "message": "mac80211: fix channel context iteration\n\nDuring suspend/resume channel contexts might be\niterated even if they haven\u0027t been re-added to\nthe driver, keep track of this and skip them in\niteration. Also use the new status for sanity\nchecks.\n\nAlso clarify the fact that during HW restart all\ncontexts are iterated over (thanks Eliad.)\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": "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": "0f6dfcee2e081f47a3e97cb8984fb4d62217e6f7",
      "tree": "495026a76ffe6db1fef1a7055bb94e04daf216ca",
      "parents": [
        "a357d7f9855e3002d6aaaea5c40dd1ac02b78de7"
      ],
      "author": {
        "name": "Vladimir Kondratiev",
        "email": "qca_vkondrat@qca.qualcomm.com",
        "time": "Tue Dec 18 09:55:33 2012 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 03 13:01:15 2013 +0100"
      },
      "message": "wireless: more \u0027capability info\u0027 bits\n\ndefine bits for \u0027capability info\u0027, as in recent spec edition\nIEEE802.11-2012\n\nAlso, add mask for 2-bit field \u0027bss type\u0027, as it is in 802.11ad\n\nSigned-off-by: Vladimir Kondratiev \u003cqca_vkondrat@qca.qualcomm.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "4fe19a136a8871e5fc6e44d72979f18a4968c2ab",
      "tree": "785366514a250acd3f38f91686f2c886dc34cfb9",
      "parents": [
        "769cb858c23ba7379ea27208624b444cd7b61af2",
        "d692170037c0338b31dac5ac4722c1360a4b5257"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:10:29 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:10:29 2012 -0800"
      },
      "message": "Merge git://www.linux-watchdog.org/linux-watchdog\n\nPull watchdog updates from Wim Van Sebroeck:\n \"This includes some fixes and code improvements (like\n  clk_prepare_enable and clk_disable_unprepare), conversion from the\n  omap_wdt and twl4030_wdt drivers to the watchdog framework, addition\n  of the SB8x0 chipset support and the DA9055 Watchdog driver and some\n  OF support for the davinci_wdt driver.\"\n\n* git://www.linux-watchdog.org/linux-watchdog: (22 commits)\n  watchdog: mei: avoid oops in watchdog unregister code path\n  watchdog: Orion: Fix possible null-deference in orion_wdt_probe\n  watchdog: sp5100_tco: Add SB8x0 chipset support\n  watchdog: davinci_wdt: add OF support\n  watchdog: da9052: Fix invalid free of devm_ allocated data\n  watchdog: twl4030_wdt: Change TWL4030_MODULE_PM_RECEIVER to TWL_MODULE_PM_RECEIVER\n  watchdog: remove depends on CONFIG_EXPERIMENTAL\n  watchdog: Convert dev_printk(KERN_\u003cLEVEL\u003e to dev_\u003clevel\u003e(\n  watchdog: DA9055 Watchdog driver\n  watchdog: omap_wdt: eliminate goto\n  watchdog: omap_wdt: delete redundant platform_set_drvdata() calls\n  watchdog: omap_wdt: convert to devm_ functions\n  watchdog: omap_wdt: convert to new watchdog core\n  watchdog: WatchDog Timer Driver Core: fix comment\n  watchdog: s3c2410_wdt: use clk_prepare_enable and clk_disable_unprepare\n  watchdog: imx2_wdt: Select the driver via ARCH_MXC\n  watchdog: cpu5wdt.c: add missing del_timer call\n  watchdog: hpwdt.c: Increase version string\n  watchdog: Convert twl4030_wdt to watchdog core\n  davinci_wdt: preparation for switch to common clock framework\n  ...\n"
    },
    {
      "commit": "b49249d10324d0fd6fb29725c2807dfd80d0edbc",
      "tree": "9a8fa724e6c9f9283530979c6e32a311c74999d5",
      "parents": [
        "10532b560bacf23766f9c7dc09778b31b198ff45",
        "45e621d45e24ffc4cb2b2935e8438987b860063a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:08:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:08:06 2012 -0800"
      },
      "message": "Merge tag \u0027dm-3.8-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm\n\nPull dm update from Alasdair G Kergon:\n \"Miscellaneous device-mapper fixes, cleanups and performance\n  improvements.\n\n  Of particular note:\n   - Disable broken WRITE SAME support in all targets except linear and\n     striped.  Use it when kcopyd is zeroing blocks.\n   - Remove several mempools from targets by moving the data into the\n     bio\u0027s new front_pad area(which dm calls \u0027per_bio_data\u0027).\n   - Fix a race in thin provisioning if discards are misused.\n   - Prevent userspace from interfering with the ioctl parameters and\n     use kmalloc for the data buffer if it\u0027s small instead of vmalloc.\n   - Throttle some annoying error messages when I/O fails.\"\n\n* tag \u0027dm-3.8-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm: (36 commits)\n  dm stripe: add WRITE SAME support\n  dm: remove map_info\n  dm snapshot: do not use map_context\n  dm thin: dont use map_context\n  dm raid1: dont use map_context\n  dm flakey: dont use map_context\n  dm raid1: rename read_record to bio_record\n  dm: move target request nr to dm_target_io\n  dm snapshot: use per_bio_data\n  dm verity: use per_bio_data\n  dm raid1: use per_bio_data\n  dm: introduce per_bio_data\n  dm kcopyd: add WRITE SAME support to dm_kcopyd_zero\n  dm linear: add WRITE SAME support\n  dm: add WRITE SAME support\n  dm: prepare to support WRITE SAME\n  dm ioctl: use kmalloc if possible\n  dm ioctl: remove PF_MEMALLOC\n  dm persistent data: improve improve space map block alloc failure message\n  dm thin: use DMERR_LIMIT for errors\n  ...\n"
    },
    {
      "commit": "184e2516614f7055d4c3a2e63fd8a3eb95fff6d6",
      "tree": "9822dd3cc97f8cfed3cbda6167818b60355cc7ec",
      "parents": [
        "0264405b84505f60ae00625f261e75a32c7ddf56",
        "d72623b665d84b1e07fe43854e83387fce8dd134"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 16:40:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 16:40:26 2012 -0800"
      },
      "message": "Merge tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull more infiniband changes from Roland Dreier:\n \"Second batch of InfiniBand/RDMA changes for 3.8:\n   - cxgb4 changes to fix lookup engine hash collisions\n   - mlx4 changes to make flow steering usable\n   - fix to IPoIB to avoid pinning dst reference for too long\"\n\n* tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA/cxgb4: Fix bug for active and passive LE hash collision path\n  RDMA/cxgb4: Fix LE hash collision bug for passive open connection\n  RDMA/cxgb4: Fix LE hash collision bug for active open connection\n  mlx4_core: Allow choosing flow steering mode\n  mlx4_core: Adjustments to Flow Steering activation logic for SR-IOV\n  mlx4_core: Fix error flow in the flow steering wrapper\n  mlx4_core: Add QPN enforcement for flow steering rules set by VFs\n  cxgb4: Add LE hash collision bug fix path in LLD driver\n  cxgb4: Add T4 filter support\n  IPoIB: Call skb_dst_drop() once skb is enqueued for sending\n"
    },
    {
      "commit": "0264405b84505f60ae00625f261e75a32c7ddf56",
      "tree": "202eda6bf55fcc8b6235dfe4218cea9442c0ea3c",
      "parents": [
        "7e65df3899cef3193ec44a7870f9bdc1ee6af833",
        "fb9de7ebc3a2eb7ddb83c92e288447a0c313bced"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 16:39:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 16:39:08 2012 -0800"
      },
      "message": "Merge tag \u0027asm-generic\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic\n\nPull asm-generic cleanup from Arnd Bergmann:\n \"These are a few cleanups for asm-generic:\n\n   - a set of patches from Lars-Peter Clausen to generalize asm/mmu.h\n     and use it in the architectures that don\u0027t need any special\n     handling.\n   - A patch from Will Deacon to remove the {read,write}s{b,w,l} as\n     discussed during the arm64 review\n   - A patch from James Hogan that helps with the meta architecture\n     series.\"\n\n* tag \u0027asm-generic\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:\n  xtensa: Use generic asm/mmu.h for nommu\n  h8300: Use generic asm/mmu.h\n  c6x: Use generic asm/mmu.h\n  asm-generic/mmu.h: Add support for FDPIC\n  asm-generic/mmu.h: Remove unused vmlist field from mm_context_t\n  asm-generic: io: remove {read,write} string functions\n  asm-generic/io.h: remove asm/cacheflush.h include\n"
    },
    {
      "commit": "7de3ee57da4b717050e79c9313a9bf66ccc72519",
      "tree": "dd9bf250c6d9139528e563167cabdb811c8fd6cb",
      "parents": [
        "ee18026ac69efba804144541171299efd41747d2"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:41 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:41 2012 +0000"
      },
      "message": "dm: remove map_info\n\nThis patch removes map_info from bio-based device mapper targets.\nmap_info is still used for request-based targets.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ddbd658f6446a35e4d6ba84812fd71023320cae2",
      "tree": "6c5bf9fd1cab10d20c21eb8582a5cc73f1bccc85",
      "parents": [
        "42bc954f2a4525c9034667dedc9bd1c342208013"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:39 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:39 2012 +0000"
      },
      "message": "dm: move target request nr to dm_target_io\n\nThis patch moves target_request_nr from map_info to dm_target_io and\nmakes it accessible with dm_bio_get_target_request_nr.\n\nThis patch is a preparation for the next patch that removes map_info.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c0820cf5ad09522bdd9ff68e84841a09c9f339d8",
      "tree": "04817d6d9a7d213ac96d1e014a9714f8f29ff07a",
      "parents": [
        "70d6c400acc386ea910c77318688541fc32e7ce8"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:38 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:38 2012 +0000"
      },
      "message": "dm: introduce per_bio_data\n\nIntroduce a field per_bio_data_size in struct dm_target.\n\nTargets can set this field in the constructor. If a target sets this\nfield to a non-zero value, \"per_bio_data_size\" bytes of auxiliary data\nare allocated for each bio submitted to the target. These data can be\nused for any purpose by the target and help us improve performance by\nremoving some per-target mempools.\n\nPer-bio data is accessed with dm_per_bio_data. The\nargument data_size must be the same as the value per_bio_data_size in\ndm_target.\n\nIf the target has a pointer to per_bio_data, it can get a pointer to\nthe bio with dm_bio_from_per_bio_data() function (data_size must be the\nsame as the value passed to dm_per_bio_data).\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d54eaa5a0fde0a202e4e91f200f818edcef15bee",
      "tree": "bb40893166dc8cd1d0f84c8087d021b66774a007",
      "parents": [
        "9c5091f2eeeffe5eca2ffe8a1bc28d312c8a5083"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Dec 21 20:23:36 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:36 2012 +0000"
      },
      "message": "dm: prepare to support WRITE SAME\n\nAllow targets to opt in to WRITE SAME support by setting\n\u0027num_write_same_requests\u0027 in the dm_target structure.\n\nA dm device will only advertise WRITE SAME support if all its\ntargets and all its underlying devices support it.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "5023e5cf58e1dae904e2e8b5b9779c33512b75a1",
      "tree": "4b006347d01a1526a3ee42b5219b90ea9cf4cae7",
      "parents": [
        "7960123f2d335ded2ac4c510bcd2a236b293b1b1"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:36 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:36 2012 +0000"
      },
      "message": "dm ioctl: remove PF_MEMALLOC\n\nWhen allocating memory for the userspace ioctl data, set some\nappropriate GPF flags directly instead of using PF_MEMALLOC.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "96680d2b9174668100824d763382240c71baa811",
      "tree": "ec84c2347df47913cc98e3cfc1d43f427d51fa1f",
      "parents": [
        "4c9a44aebeaef35570a67aed17b72a2cf8d0b219",
        "1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:11:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:11:52 2012 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.infradead.org/users/eparis/notify\n\nPull filesystem notification updates from Eric Paris:\n \"This pull mostly is about locking changes in the fsnotify system.  By\n  switching the group lock from a spin_lock() to a mutex() we can now\n  hold the lock across things like iput().  This fixes a problem\n  involving unmounting a fs and having inodes be busy, first pointed out\n  by FAT, but reproducible with tmpfs.\n\n  This also restores signal driven I/O for inotify, which has been\n  broken since about 2.6.32.\"\n\nUgh.  I *hate* the timing of this.  It was rebased after the merge\nwindow opened, and then left to sit with the pull request coming the day\nbefore the merge window closes.  That\u0027s just crap.  But apparently the\npatches themselves have been around for over a year, just gathering\ndust, so now it\u0027s suddenly critical.\n\nFixed up semantic conflict in fs/notify/fdinfo.c as per Stephen\nRothwell\u0027s fixes from -next.\n\n* \u0027for-next\u0027 of git://git.infradead.org/users/eparis/notify:\n  inotify: automatically restart syscalls\n  inotify: dont skip removal of watch descriptor if creation of ignored event failed\n  fanotify: dont merge permission events\n  fsnotify: make fasync generic for both inotify and fanotify\n  fsnotify: change locking order\n  fsnotify: dont put marks on temporary list when clearing marks by group\n  fsnotify: introduce locked versions of fsnotify_add_mark() and fsnotify_remove_mark()\n  fsnotify: pass group to fsnotify_destroy_mark()\n  fsnotify: use a mutex instead of a spinlock to protect a groups mark list\n  fanotify: add an extra flag to mark_remove_from_mask that indicates wheather a mark should be destroyed\n  fsnotify: take groups mark_lock before mark lock\n  fsnotify: use reference counting for groups\n  fsnotify: introduce fsnotify_get_group()\n  inotify, fanotify: replace fsnotify_put_group() with fsnotify_destroy_group()\n"
    },
    {
      "commit": "4c9a44aebeaef35570a67aed17b72a2cf8d0b219",
      "tree": "abb874fe7f50671627b282f6c7fb58db5e75a2e3",
      "parents": [
        "1f0377ff088ed2971c57debc9b0c3b846ec431fd",
        "cfde819088422503b5c69e03ab7bb90f87121d4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:00:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:00:43 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge the rest of Andrew\u0027s patches for -rc1:\n \"A bunch of fixes and misc missed-out-on things.\n\n  That\u0027ll do for -rc1.  I still have a batch of IPC patches which still\n  have a possible bug report which I\u0027m chasing down.\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (25 commits)\n  keys: use keyring_alloc() to create module signing keyring\n  keys: fix unreachable code\n  sendfile: allows bypassing of notifier events\n  SGI-XP: handle non-fatal traps\n  fat: fix incorrect function comment\n  Documentation: ABI: remove testing/sysfs-devices-node\n  proc: fix inconsistent lock state\n  linux/kernel.h: fix DIV_ROUND_CLOSEST with unsigned divisors\n  memcg: don\u0027t register hotcpu notifier from -\u003ecss_alloc()\n  checkpatch: warn on uapi #includes that #include \u003cuapi/...\n  revert \"rtc: recycle id when unloading a rtc driver\"\n  mm: clean up transparent hugepage sysfs error messages\n  hfsplus: add error message for the case of failure of sync fs in delayed_sync_fs() method\n  hfsplus: rework processing of hfs_btree_write() returned error\n  hfsplus: rework processing errors in hfsplus_free_extents()\n  hfsplus: avoid crash on failed block map free\n  kcmp: include linux/ptrace.h\n  drivers/rtc/rtc-imxdi.c: must include \u003clinux/spinlock.h\u003e\n  mm: cma: WARN if freed memory is still in use\n  exec: do not leave bprm-\u003einterp on stack\n  ...\n"
    },
    {
      "commit": "1f0377ff088ed2971c57debc9b0c3b846ec431fd",
      "tree": "cd53c8981269e57e38e4285abd71cc990e1cfc67",
      "parents": [
        "54d46ea993744c5408e39ce0cb4851e13cbea716",
        "b729d75d19777a5dd34672020516eada43ff026f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:14:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:14:31 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull VFS update from Al Viro:\n \"fscache fixes, ESTALE patchset, vmtruncate removal series, assorted\n  misc stuff.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (79 commits)\n  vfs: make lremovexattr retry once on ESTALE error\n  vfs: make removexattr retry once on ESTALE\n  vfs: make llistxattr retry once on ESTALE error\n  vfs: make listxattr retry once on ESTALE error\n  vfs: make lgetxattr retry once on ESTALE\n  vfs: make getxattr retry once on an ESTALE error\n  vfs: allow lsetxattr() to retry once on ESTALE errors\n  vfs: allow setxattr to retry once on ESTALE errors\n  vfs: allow utimensat() calls to retry once on an ESTALE error\n  vfs: fix user_statfs to retry once on ESTALE errors\n  vfs: make fchownat retry once on ESTALE errors\n  vfs: make fchmodat retry once on ESTALE errors\n  vfs: have chroot retry once on ESTALE error\n  vfs: have chdir retry lookup and call once on ESTALE error\n  vfs: have faccessat retry once on an ESTALE error\n  vfs: have do_sys_truncate retry once on an ESTALE error\n  vfs: fix renameat to retry on ESTALE errors\n  vfs: make do_unlinkat retry once on ESTALE errors\n  vfs: make do_rmdir retry once on ESTALE errors\n  vfs: add a flags argument to user_path_parent\n  ...\n"
    },
    {
      "commit": "54d46ea993744c5408e39ce0cb4851e13cbea716",
      "tree": "8e38fa92cc2ae72e0353c44e1e68be9bf5a7a058",
      "parents": [
        "f59dc2bb5a50b26ea751f9eac1c81e4cc7de5257",
        "50ececcfa7d1acee085b2c518cad495062db6379"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull signal handling cleanups from Al Viro:\n \"sigaltstack infrastructure + conversion for x86, alpha and um,\n  COMPAT_SYSCALL_DEFINE infrastructure.\n\n  Note that there are several conflicts between \"unify\n  SS_ONSTACK/SS_DISABLE definitions\" and UAPI patches in mainline;\n  resolution is trivial - just remove definitions of SS_ONSTACK and\n  SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and\n  include/uapi/linux/signal.h contains the unified variant.\"\n\nFixed up conflicts as per Al.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  alpha: switch to generic sigaltstack\n  new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those\n  generic compat_sys_sigaltstack()\n  introduce generic sys_sigaltstack(), switch x86 and um to it\n  new helper: compat_user_stack_pointer()\n  new helper: restore_altstack()\n  unify SS_ONSTACK/SS_DISABLE definitions\n  new helper: current_user_stack_pointer()\n  missing user_stack_pointer() instances\n  Bury the conditionals from kernel_thread/kernel_execve series\n  COMPAT_SYSCALL_DEFINE: infrastructure\n"
    },
    {
      "commit": "c4e18497d8fd92eef2c6e7eadcc1a107ccd115ea",
      "tree": "9513b220cbdd633ad7c42299d61f2b46b9fb1561",
      "parents": [
        "154b454edaf6d94a69016db6c342c57fa935bbe9"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "linux@roeck-us.net",
        "time": "Thu Dec 20 15:05:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:20 2012 -0800"
      },
      "message": "linux/kernel.h: fix DIV_ROUND_CLOSEST with unsigned divisors\n\nCommit 263a523d18bc (\"linux/kernel.h: Fix warning seen with W\u003d1 due to\nchange in DIV_ROUND_CLOSEST\") fixes a warning seen with W\u003d1 due to\nchange in DIV_ROUND_CLOSEST.\n\nUnfortunately, the C compiler converts divide operations with unsigned\ndivisors to unsigned, even if the dividend is signed and negative (for\nexample, -10 / 5U \u003d 858993457).  The C standard says \"If one operand has\nunsigned int type, the other operand is converted to unsigned int\", so\nthe compiler is not to blame.  As a result, DIV_ROUND_CLOSEST(0, 2U) and\nsimilar operations now return bad values, since the automatic conversion\nof expressions such as \"0 - 2U/2\" to unsigned was not taken into\naccount.\n\nFix by checking for the divisor variable type when deciding which\noperation to perform.  This fixes DIV_ROUND_CLOSEST(0, 2U), but still\nreturns bad values for negative dividends divided by unsigned divisors.\nMark the latter case as unsupported.\n\nOne observed effect of this problem is that the s2c_hwmon driver reports\na value of 4198403 instead of 0 if the ADC reads 0.\n\nOther impact is unpredictable.  Problem is seen if the divisor is an\nunsigned variable or constant and the dividend is less than (divisor/2).\n\nSigned-off-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nReported-by: Juergen Beisert \u003cjbe@pengutronix.de\u003e\nTested-by: Juergen Beisert \u003cjbe@pengutronix.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.7.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b66c5984017533316fd1951770302649baf1aa33",
      "tree": "78d1e5fc82a057c62699734602c8e5f7ca86b7a2",
      "parents": [
        "9f9c9cbb60576a1518d0bf93fb8e499cffccf377"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Dec 20 15:05:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:19 2012 -0800"
      },
      "message": "exec: do not leave bprm-\u003einterp on stack\n\nIf a series of scripts are executed, each triggering module loading via\nunprintable bytes in the script header, kernel stack contents can leak\ninto the command line.\n\nNormally execution of binfmt_script and binfmt_misc happens recursively.\nHowever, when modules are enabled, and unprintable bytes exist in the\nbprm-\u003ebuf, execution will restart after attempting to load matching\nbinfmt modules.  Unfortunately, the logic in binfmt_script and\nbinfmt_misc does not expect to get restarted.  They leave bprm-\u003einterp\npointing to their local stack.  This means on restart bprm-\u003einterp is\nleft pointing into unused stack memory which can then be copied into the\nuserspace argv areas.\n\nAfter additional study, it seems that both recursion and restart remains\nthe desirable way to handle exec with scripts, misc, and modules.  As\nsuch, we need to protect the changes to interp.\n\nThis changes the logic to require allocation for any changes to the\nbprm-\u003einterp.  To avoid adding a new kmalloc to every exec, the default\nvalue is left as-is.  Only when passing through binfmt_script or\nbinfmt_misc does an allocation take place.\n\nFor a proof of concept, see DoTest.sh from:\n\n   http://www.halfdog.net/Security/2012/LinuxKernelBinfmtScriptStackDataDisclosure/\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: halfdog \u003cme@halfdog.net\u003e\nCc: P J P \u003cppandit@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ac12b4b6d707937f9de6d09622823b2fd0c93ef",
      "tree": "7ac3f66abfcce206615abe9effd9e55f26c117a9",
      "parents": [
        "7955119e02d9fdf78a39fba8073f19ca6152613e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:02 2012 -0500"
      },
      "message": "vfs: turn is_dir argument to kern_path_create into a lookup_flags arg\n\nWhere we can pass in LOOKUP_DIRECTORY or LOOKUP_REVAL. Any other flags\npassed in here are currently ignored.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b9d6ba94b875192ef5e2dab92d72beea33b83c3d",
      "tree": "a06e604535e10ec0c469300f0d36cb5aa8c2782d",
      "parents": [
        "21e89c0c48bb799beb09181740796fc80c9676e2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Dec 20 14:59:40 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:00 2012 -0500"
      },
      "message": "vfs: add a retry_estale helper function to handle retries on ESTALE\n\nThis function is expected to be called from path-based syscalls to help\nthem decide whether to try the lookup and call again in the event that\nthey got an -ESTALE return back on an earier try.\n\nCurrently, we only retry the call once on an ESTALE error, but in the\nevent that we decide that that\u0027s not enough in the future, we should be\nable to change the logic in this helper without too much effort.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "21e89c0c48bb799beb09181740796fc80c9676e2",
      "tree": "bd5aef34a980f189ad41c75e881d225bc854bf44",
      "parents": [
        "b911a6bdeef5848c468597d040e3407e0aee04ce",
        "91c7fbbf63f33c77d8d28de624834a21888842bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:49:14 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:49:14 2012 -0500"
      },
      "message": "Merge branch \u0027fscache\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into for-linus\n"
    },
    {
      "commit": "471667391a92bf7bf2cd4ff31a3ad88e5dec934b",
      "tree": "cb07ce436ed20f5f50e0e3c1db386a105ed65434",
      "parents": [
        "b9f61c3c0c8daed9844870bc9358e6d9fdb7eb61"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@kernel.org",
        "time": "Thu Dec 13 12:22:39 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:47:08 2012 -0500"
      },
      "message": "vfs: Remove useless function prototypes\n\nCommit 8e22cc88d68ca1a46d7d582938f979eb640ed30f removes the (un)lock_super\nfunction definitions but forgets to remove their prototypes.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7898575fc81bd707ce0844cb06874d48e39bbe09",
      "tree": "ab30305f0d957854497fababde6caff644b2bfca",
      "parents": [
        "d30357f2f0ec0bfb67fd39f8f76d22d02d78631e"
      ],
      "author": {
        "name": "Marco Stornelli",
        "email": "marco.stornelli@gmail.com",
        "time": "Sat Dec 15 12:00:02 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:46:29 2012 -0500"
      },
      "message": "mm: drop vmtruncate\n\nRemoved vmtruncate\n\nSigned-off-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d30357f2f0ec0bfb67fd39f8f76d22d02d78631e",
      "tree": "0923a2f8276af03293410cb2b78b2457d7fc6996",
      "parents": [
        "9014da7525dffef69131f717decf262e08ff3d58"
      ],
      "author": {
        "name": "Marco Stornelli",
        "email": "marco.stornelli@gmail.com",
        "time": "Sat Dec 15 11:59:20 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:46:29 2012 -0500"
      },
      "message": "vfs: drop vmtruncate\n\nRemoved vmtruncate\n\nSigned-off-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1f372dff1da37e2b36ae9085368fa46896398598",
      "tree": "f47b00dc61c9cf6c0eaa6d437bd7f91bfcb4d76d",
      "parents": [
        "7ef001e937e8b9cbedb2fc1c31dd681ac3b31927"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 13 20:03:13 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:34:00 2012 +0000"
      },
      "message": "FS-Cache: Mark cancellation of in-progress operation\n\nMark as cancelled an operation that is in progress rather than pending at the\ntime it is cancelled, and call fscache_complete_op() to cancel an operation so\nthat blocked ops can be started.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "36a02de5d7981435931d4608ee3e510b752e072b",
      "tree": "d0d8283ba3ab9bcb9224582677d8ec00ec987ef3",
      "parents": [
        "b4cf1e08c8ac95eff65faa53904f7f13ac78194b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 05 13:34:46 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:08:05 2012 +0000"
      },
      "message": "FS-Cache: Convert the object event ID #defines into an enum\n\nConvert the fscache_object event IDs from #defines into an enum.  Also add an\nextra label to the enum to carry the event count and redefine the event mask\nin terms of that.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "a02de9608595c8ef649ef03ae735b0b45e3d4396",
      "tree": "ca411825ecc8a30b70d869244a7e9412d0728486",
      "parents": [
        "ef778e7ae67cd426c30cad43378b908f5eb0bad5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:36 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:05:41 2012 +0000"
      },
      "message": "VFS: Make more complete truncate operation available to CacheFiles\n\nMake a more complete truncate operation available to CacheFiles (including\nsecurity checks and suchlike) so that it can use this to clear invalidated\ncache files.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "982197277c85018cc6eb77f1d3bef17933b0c5fd",
      "tree": "805fcef9ec7c1e83867b89332fd37f751594fae3",
      "parents": [
        "40889e8d9fc6355980cf2bc94ef4356c10dec4ec",
        "24ffb93872f7363a01ad639e3c8a9889b46c3f0a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from Bruce Fields:\n \"Included this time:\n\n   - more nfsd containerization work from Stanislav Kinsbursky: we\u0027re\n     not quite there yet, but should be by 3.9.\n\n   - NFSv4.1 progress: implementation of basic backchannel security\n     negotiation and the mandatory BACKCHANNEL_CTL operation.  See\n\n       http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues\n\n     for remaining TODO\u0027s\n\n   - Fixes for some bugs that could be triggered by unusual compounds.\n     Our xdr code wasn\u0027t designed with v4 compounds in mind, and it\n     shows.  A more thorough rewrite is still a todo.\n\n   - If you\u0027ve ever seen \"RPC: multiple fragments per record not\n     supported\" logged while using some sort of odd userland NFS client,\n     that should now be fixed.\n\n   - Further work from Jeff Layton on our mechanism for storing\n     information about NFSv4 clients across reboots.\n\n   - Further work from Bryan Schumaker on his fault-injection mechanism\n     (which allows us to discard selective NFSv4 state, to excercise\n     rarely-taken recovery code paths in the client.)\n\n   - The usual mix of miscellaneous bugs and cleanup.\n\n  Thanks to everyone who tested or contributed this cycle.\"\n\n* \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux: (111 commits)\n  nfsd4: don\u0027t leave freed stateid hashed\n  nfsd4: free_stateid can use the current stateid\n  nfsd4: cleanup: replace rq_resused count by rq_next_page pointer\n  nfsd: warn on odd reply state in nfsd_vfs_read\n  nfsd4: fix oops on unusual readlike compound\n  nfsd4: disable zero-copy on non-final read ops\n  svcrpc: fix some printks\n  NFSD: Correct the size calculation in fault_inject_write\n  NFSD: Pass correct buffer size to rpc_ntop\n  nfsd: pass proper net to nfsd_destroy() from NFSd kthreads\n  nfsd: simplify service shutdown\n  nfsd: replace boolean nfsd_up flag by users counter\n  nfsd: simplify NFSv4 state init and shutdown\n  nfsd: introduce helpers for generic resources init and shutdown\n  nfsd: make NFSd service structure allocated per net\n  nfsd: make NFSd service boot time per-net\n  nfsd: per-net NFSd up flag introduced\n  nfsd: move per-net startup code to separated function\n  nfsd: pass net to __write_ports() and down\n  nfsd: pass net to nfsd_set_nrthreads()\n  ...\n"
    },
    {
      "commit": "ef778e7ae67cd426c30cad43378b908f5eb0bad5",
      "tree": "4893f19487cb99e8ec0eb835ec4391d952641a9c",
      "parents": [
        "9f10523f891928330b7529da54c1a3cc65180b1a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:36 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:04:07 2012 +0000"
      },
      "message": "FS-Cache: Provide proper invalidation\n\nProvide a proper invalidation method rather than relying on the netfs retiring\nthe cookie it has and getting a new one.  The problem with this is that isn\u0027t\neasy for the netfs to make sure that it has completed/cancelled all its\noutstanding storage and retrieval operations on the cookie it is retiring.\n\nInstead, have the cache provide an invalidation method that will cancel or wait\nfor all currently outstanding operations before invalidating the cache, and\nwill cause new operations to queue up behind that.  Whilst invalidation is in\nprogress, some requests will be rejected until the cache can stack a barrier on\nthe operation queue to cause new operations to be deferred behind it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "40889e8d9fc6355980cf2bc94ef4356c10dec4ec",
      "tree": "c03f4e218477052c665cd9b01352f83e32c4a593",
      "parents": [
        "1ca22254b32657d65315af261ae0e699b8427fb7",
        "c3e946ce7276faf0b302acd25c7b874edbeba661"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:00:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:00:13 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull Ceph update from Sage Weil:\n \"There are a few different groups of commits here.  The largest is\n  Alex\u0027s ongoing work to enable the coming RBD features (cloning,\n  striping).  There is some cleanup in libceph that goes along with it.\n\n  Cyril and David have fixed some problems with NFS reexport (leaking\n  dentries and page locks), and there is a batch of patches from Yan\n  fixing problems with the fs client when running against a clustered\n  MDS.  There are a few bug fixes mixed in for good measure, many of\n  which will be going to the stable trees once they\u0027re upstream.\n\n  My apologies for the late pull.  There is still a gremlin in the rbd\n  map/unmap code and I was hoping to include the fix for that as well,\n  but we haven\u0027t been able to confirm the fix is correct yet; I\u0027ll send\n  that in a separate pull once it\u0027s nailed down.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (68 commits)\n  rbd: get rid of rbd_{get,put}_dev()\n  libceph: register request before unregister linger\n  libceph: don\u0027t use rb_init_node() in ceph_osdc_alloc_request()\n  libceph: init event-\u003enode in ceph_osdc_create_event()\n  libceph: init osd-\u003eo_node in create_osd()\n  libceph: report connection fault with warning\n  libceph: socket can close in any connection state\n  rbd: don\u0027t use ENOTSUPP\n  rbd: remove linger unconditionally\n  rbd: get rid of RBD_MAX_SEG_NAME_LEN\n  libceph: avoid using freed osd in __kick_osd_requests()\n  ceph: don\u0027t reference req after put\n  rbd: do not allow remove of mounted-on image\n  libceph: Unlock unprocessed pages in start_read() error path\n  ceph: call handle_cap_grant() for cap import message\n  ceph: Fix __ceph_do_pending_vmtruncate\n  ceph: Don\u0027t add dirty inode to dirty list if caps is in migration\n  ceph: Fix infinite loop in __wake_requests\n  ceph: Don\u0027t update i_max_size when handling non-auth cap\n  bdi_register: add __printf verification, fix arg mismatch\n  ...\n"
    },
    {
      "commit": "9f10523f891928330b7529da54c1a3cc65180b1a",
      "tree": "014731e89d44d1ca86cc665f4d39d8d2c25c69bf",
      "parents": [
        "ef46ed888efb1e8da33be5d33c9b54476289a43b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:35 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:58:26 2012 +0000"
      },
      "message": "FS-Cache: Fix operation state management and accounting\n\nFix the state management of internal fscache operations and the accounting of\nwhat operations are in what states.\n\nThis is done by:\n\n (1) Give struct fscache_operation a enum variable that directly represents the\n     state it\u0027s currently in, rather than spreading this knowledge over a bunch\n     of flags, who\u0027s processing the operation at the moment and whether it is\n     queued or not.\n\n     This makes it easier to write assertions to check the state at various\n     points and to prevent invalid state transitions.\n\n (2) Add an \u0027operation complete\u0027 state and supply a function to indicate the\n     completion of an operation (fscache_op_complete()) and make things call\n     it.  The final call to fscache_put_operation() can then check that an op\n     in the appropriate state (complete or cancelled).\n\n (3) Adjust the use of object-\u003en_ops, -\u003en_in_progress, -\u003en_exclusive to better\n     govern the state of an object:\n\n\t(a) The -\u003en_ops is now the number of extant operations on the object\n\t    and is now decremented by fscache_put_operation() only.\n\n\t(b) The -\u003en_in_progress is simply the number of objects that have been\n\t    taken off of the object\u0027s pending queue for the purposes of being\n\t    run.  This is decremented by fscache_op_complete() only.\n\n\t(c) The -\u003en_exclusive is the number of exclusive ops that have been\n\t    submitted and queued or are in progress.  It is decremented by\n\t    fscache_op_complete() and by fscache_cancel_op().\n\n     fscache_put_operation() and fscache_operation_gc() now no longer try to\n     clean up -\u003en_exclusive and -\u003en_in_progress.  That was leading to double\n     decrements against fscache_cancel_op().\n\n     fscache_cancel_op() now no longer decrements -\u003en_ops.  That was leading to\n     double decrements against fscache_put_operation().\n\n     fscache_submit_exclusive_op() now decides whether it has to queue an op\n     based on -\u003en_in_progress being \u003e 0 rather than -\u003en_ops \u003e 0 as the latter\n     will persist in being true even after all preceding operations have been\n     cancelled or completed.  Furthermore, if an object is active and there are\n     runnable ops against it, there must be at least one op running.\n\n (4) Add a remaining-pages counter (n_pages) to struct fscache_retrieval and\n     provide a function to record completion of the pages as they complete.\n\n     When n_pages reaches 0, the operation is deemed to be complete and\n     fscache_op_complete() is called.\n\n     Add calls to fscache_retrieval_complete() anywhere we\u0027ve finished with a\n     page we\u0027ve been given to read or allocate for.  This includes places where\n     we just return pages to the netfs for reading from the server and where\n     accessing the cache fails and we discard the proposed netfs page.\n\nThe bugs in the unfixed state management manifest themselves as oopses like the\nfollowing where the operation completion gets out of sync with return of the\ncookie by the netfs.  This is possible because the cache unlocks and returns\nall the netfs pages before recording its completion - which means that there\u0027s\nnothing to stop the netfs discarding them and returning the cookie.\n\n\nFS-Cache: Cookie \u0027NFS.fh\u0027 still has outstanding reads\n------------[ cut here ]------------\nkernel BUG at fs/fscache/cookie.c:519!\ninvalid opcode: 0000 [#1] SMP\nCPU 1\nModules linked in: cachefiles nfs fscache auth_rpcgss nfs_acl lockd sunrpc\n\nPid: 400, comm: kswapd0 Not tainted 3.1.0-rc7-fsdevel+ #1090                  /DG965RY\nRIP: 0010:[\u003cffffffffa007050a\u003e]  [\u003cffffffffa007050a\u003e] __fscache_relinquish_cookie+0x170/0x343 [fscache]\nRSP: 0018:ffff8800368cfb00  EFLAGS: 00010282\nRAX: 000000000000003c RBX: ffff880023cc8790 RCX: 0000000000000000\nRDX: 0000000000002f2e RSI: 0000000000000001 RDI: ffffffff813ab86c\nRBP: ffff8800368cfb50 R08: 0000000000000002 R09: 0000000000000000\nR10: ffff88003a1b7890 R11: ffff88001df6e488 R12: ffff880023d8ed98\nR13: ffff880023cc8798 R14: 0000000000000004 R15: ffff88003b8bf370\nFS:  0000000000000000(0000) GS:ffff88003bd00000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 00000000008ba008 CR3: 0000000023d93000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess kswapd0 (pid: 400, threadinfo ffff8800368ce000, task ffff88003b8bf040)\nStack:\n ffff88003b8bf040 ffff88001df6e528 ffff88001df6e528 ffffffffa00b46b0\n ffff88003b8bf040 ffff88001df6e488 ffff88001df6e620 ffffffffa00b46b0\n ffff88001ebd04c8 0000000000000004 ffff8800368cfb70 ffffffffa00b2c91\nCall Trace:\n [\u003cffffffffa00b2c91\u003e] nfs_fscache_release_inode_cookie+0x3b/0x47 [nfs]\n [\u003cffffffffa008f25f\u003e] nfs_clear_inode+0x3c/0x41 [nfs]\n [\u003cffffffffa0090df1\u003e] nfs4_evict_inode+0x2f/0x33 [nfs]\n [\u003cffffffff810d8d47\u003e] evict+0xa1/0x15c\n [\u003cffffffff810d8e2e\u003e] dispose_list+0x2c/0x38\n [\u003cffffffff810d9ebd\u003e] prune_icache_sb+0x28c/0x29b\n [\u003cffffffff810c56b7\u003e] prune_super+0xd5/0x140\n [\u003cffffffff8109b615\u003e] shrink_slab+0x102/0x1ab\n [\u003cffffffff8109d690\u003e] balance_pgdat+0x2f2/0x595\n [\u003cffffffff8103e009\u003e] ? process_timeout+0xb/0xb\n [\u003cffffffff8109dba3\u003e] kswapd+0x270/0x289\n [\u003cffffffff8104c5ea\u003e] ? __init_waitqueue_head+0x46/0x46\n [\u003cffffffff8109d933\u003e] ? balance_pgdat+0x595/0x595\n [\u003cffffffff8104bf7a\u003e] kthread+0x7f/0x87\n [\u003cffffffff813ad6b4\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff81026b98\u003e] ? finish_task_switch+0x45/0xc0\n [\u003cffffffff813abcdd\u003e] ? retint_restore_args+0xe/0xe\n [\u003cffffffff8104befb\u003e] ? __init_kthread_worker+0x53/0x53\n [\u003cffffffff813ad6b0\u003e] ? gs_change+0xb/0xb\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "ef46ed888efb1e8da33be5d33c9b54476289a43b",
      "tree": "d538dc01a075162f95da416da1fb5d6fd676445a",
      "parents": [
        "37491a1339df26259b06dfa33f30e574e9e52034"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:35 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:58:25 2012 +0000"
      },
      "message": "FS-Cache: Make cookie relinquishment wait for outstanding reads\n\nMake fscache_relinquish_cookie() log a warning and wait if there are any\noutstanding reads left on the cookie it was given.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "a13eea6bd9ee62ceacfc5243d54c84396bc86cb4",
      "tree": "46192468880c144f2b367deb5188267866ee1fac",
      "parents": [
        "fcc16882ac4532aaa644bff444f0c5d6228ba71e",
        "6666e6aa9f36b2bfd6b30072c07b34f2a24becf1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 13:54:51 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 13:54:52 2012 -0800"
      },
      "message": "Merge tag \u0027for-3.8-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull new F2FS filesystem from Jaegeuk Kim:\n \"Introduce a new file system, Flash-Friendly File System (F2FS), to\n  Linux 3.8.\n\n  Highlights:\n   - Add initial f2fs source codes\n   - Fix an endian conversion bug\n   - Fix build failures on random configs\n   - Fix the power-off-recovery routine\n   - Minor cleanup, coding style, and typos patches\"\n\nFrom the Kconfig help text:\n\n  F2FS is based on Log-structured File System (LFS), which supports\n  versatile \"flash-friendly\" features. The design has been focused on\n  addressing the fundamental issues in LFS, which are snowball effect\n  of wandering tree and high cleaning overhead.\n\n  Since flash-based storages show different characteristics according to\n  the internal geometry or flash memory management schemes aka FTL, F2FS\n  and tools support various parameters not only for configuring on-disk\n  layout, but also for selecting allocation and cleaning algorithms.\n\nand there\u0027s an article by Neil Brown about it on lwn.net:\n\n  http://lwn.net/Articles/518988/\n\n* tag \u0027for-3.8-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (36 commits)\n  f2fs: fix tracking parent inode number\n  f2fs: cleanup the f2fs_bio_alloc routine\n  f2fs: introduce accessor to retrieve number of dentry slots\n  f2fs: remove redundant call to f2fs_put_page in delete entry\n  f2fs: make use of GFP_F2FS_ZERO for setting gfp_mask\n  f2fs: rewrite f2fs_bio_alloc to make it simpler\n  f2fs: fix a typo in f2fs documentation\n  f2fs: remove unused variable\n  f2fs: move error condition for mkdir at proper place\n  f2fs: remove unneeded initialization\n  f2fs: check read only condition before beginning write out\n  f2fs: remove unneeded memset from init_once\n  f2fs: show error in case of invalid mount arguments\n  f2fs: fix the compiler warning for uninitialized use of variable\n  f2fs: resolve build failures\n  f2fs: adjust kernel coding style\n  f2fs: fix endian conversion bugs reported by sparse\n  f2fs: remove unneeded version.h header file from f2fs.h\n  f2fs: update the f2fs document\n  f2fs: update Kconfig and Makefile\n  ...\n"
    },
    {
      "commit": "c4d6d8dbf335c7fa47341654a37c53a512b519bb",
      "tree": "14f0b9c7146a39aa3770c26bc7c480cf0d2c4f56",
      "parents": [
        "1800098549fc310cffffefdcb3722adaad0edda8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:32 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:54:30 2012 +0000"
      },
      "message": "CacheFiles: Fix the marking of cached pages\n\nUnder some circumstances CacheFiles defers the marking of pages with PG_fscache\nso that it can take advantage of pagevecs to reduce the number of calls to\nfscache_mark_pages_cached() and the netfs\u0027s hook to keep track of this.\n\nThere are, however, two problems with this:\n\n (1) It can lead to the PG_fscache mark being applied _after_ the page is set\n     PG_uptodate and unlocked (by the call to fscache_end_io()).\n\n (2) CacheFiles\u0027s ref on the page is dropped immediately following\n     fscache_end_io() - and so may not still be held when the mark is applied.\n     This can lead to the page being passed back to the allocator before the\n     mark is applied.\n\nFix this by, where appropriate, marking the page before calling\nfscache_end_io() and releasing the page.  This means that we can\u0027t take\nadvantage of pagevecs and have to make a separate call for each page to the\nmarking routines.\n\nThe symptoms of this are Bad Page state errors cropping up under memory\npressure, for example:\n\nBUG: Bad page state in process tar  pfn:002da\npage:ffffea0000009fb0 count:0 mapcount:0 mapping:          (null) index:0x1447\npage flags: 0x1000(private_2)\nPid: 4574, comm: tar Tainted: G        W   3.1.0-rc4-fsdevel+ #1064\nCall Trace:\n [\u003cffffffff8109583c\u003e] ? dump_page+0xb9/0xbe\n [\u003cffffffff81095916\u003e] bad_page+0xd5/0xea\n [\u003cffffffff81095d82\u003e] get_page_from_freelist+0x35b/0x46a\n [\u003cffffffff810961f3\u003e] __alloc_pages_nodemask+0x362/0x662\n [\u003cffffffff810989da\u003e] __do_page_cache_readahead+0x13a/0x267\n [\u003cffffffff81098942\u003e] ? __do_page_cache_readahead+0xa2/0x267\n [\u003cffffffff81098d7b\u003e] ra_submit+0x1c/0x20\n [\u003cffffffff8109900a\u003e] ondemand_readahead+0x28b/0x29a\n [\u003cffffffff81098ee2\u003e] ? ondemand_readahead+0x163/0x29a\n [\u003cffffffff810990ce\u003e] page_cache_sync_readahead+0x38/0x3a\n [\u003cffffffff81091d8a\u003e] generic_file_aio_read+0x2ab/0x67e\n [\u003cffffffffa008cfbe\u003e] nfs_file_read+0xa4/0xc9 [nfs]\n [\u003cffffffff810c22c4\u003e] do_sync_read+0xba/0xfa\n [\u003cffffffff81177a47\u003e] ? security_file_permission+0x7b/0x84\n [\u003cffffffff810c25dd\u003e] ? rw_verify_area+0xab/0xc8\n [\u003cffffffff810c29a4\u003e] vfs_read+0xaa/0x13a\n [\u003cffffffff810c2a79\u003e] sys_read+0x45/0x6c\n [\u003cffffffff813ac37b\u003e] system_call_fastpath+0x16/0x1b\n\nAs can be seen, PG_private_2 (\u003d\u003d PG_fscache) is set in the page flags.\n\nInstrumenting fscache_mark_pages_cached() to verify whether page-\u003emapping was\nset appropriately showed that sometimes it wasn\u0027t.  This led to the discovery\nthat sometimes the page has apparently been reclaimed by the time the marker\ngot to see it.\n\nReported-by: M. Stevens \u003cm@tippett.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "39e3c9553f34381a1b664c27b0c696a266a5735e",
      "tree": "f754789dccac7a017ee8feb602b01dd42b73023d",
      "parents": [
        "741b7c3f77937b2fb7c10aeb4c5c621463582583"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Nov 28 11:30:53 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 13:57:36 2012 -0500"
      },
      "message": "vfs: remove DCACHE_NEED_LOOKUP\n\nThe code that relied on that flag was ripped out of btrfs quite some\ntime ago, and never added back. Josef indicated that he was going to\ntake a different approach to the problem in btrfs, and that we\ncould just eliminate this flag.\n\nCc: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "787314c35fbb97e02823a1b8eb8cfa58f366cd49",
      "tree": "3fe5a484c1846c80361217a726997484533e8344",
      "parents": [
        "6491d4d02893d9787ba67279595990217177b351",
        "9c6ecf6a3ade2dc4b03a239af68058b22897af41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 10:07:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 10:07:25 2012 -0800"
      },
      "message": "Merge tag \u0027iommu-updates-v3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\nPull IOMMU updates from Joerg Roedel:\n \"A few new features this merge-window.  The most important one is\n  probably, that dma-debug now warns if a dma-handle is not checked with\n  dma_mapping_error by the device driver.  This requires minor changes\n  to some architectures which make use of dma-debug.  Most of these\n  changes have the respective Acks by the Arch-Maintainers.\n\n  Besides that there are updates to the AMD IOMMU driver for refactor\n  the IOMMU-Groups support and to make sure it does not trigger a\n  hardware erratum.\n\n  The OMAP changes (for which I pulled in a branch from Tony Lindgren\u0027s\n  tree) have a conflict in linux-next with the arm-soc tree.  The\n  conflict is in the file arch/arm/mach-omap2/clock44xx_data.c which is\n  deleted in the arm-soc tree.  It is safe to delete the file too so\n  solve the conflict.  Similar changes are done in the arm-soc tree in\n  the common clock framework migration.  A missing hunk from the patch\n  in the IOMMU tree will be submitted as a seperate patch when the\n  merge-window is closed.\"\n\n* tag \u0027iommu-updates-v3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (29 commits)\n  ARM: dma-mapping: support debug_dma_mapping_error\n  ARM: OMAP4: hwmod data: ipu and dsp to use parent clocks instead of leaf clocks\n  iommu/omap: Adapt to runtime pm\n  iommu/omap: Migrate to hwmod framework\n  iommu/omap: Keep mmu enabled when requested\n  iommu/omap: Remove redundant clock handling on ISR\n  iommu/amd: Remove obsolete comment\n  iommu/amd: Don\u0027t use 512GB pages\n  iommu/tegra: smmu: Move bus_set_iommu after probe for multi arch\n  iommu/tegra: gart: Move bus_set_iommu after probe for multi arch\n  iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all\n  tile: dma_debug: add debug_dma_mapping_error support\n  sh: dma_debug: add debug_dma_mapping_error support\n  powerpc: dma_debug: add debug_dma_mapping_error support\n  mips: dma_debug: add debug_dma_mapping_error support\n  microblaze: dma-mapping: support debug_dma_mapping_error\n  ia64: dma_debug: add debug_dma_mapping_error support\n  c6x: dma_debug: add debug_dma_mapping_error support\n  ARM64: dma_debug: add debug_dma_mapping_error support\n  intel-iommu: Prevent devices with RMRRs from being placed into SI Domain\n  ...\n"
    }
  ],
  "next": "b7dfde956daee23f4439d0c8562a5e38b43e79d9"
}
