)]}'
{
  "commit": "8ffcc704c963b4157391bd87a4544cdfd18b574d",
  "tree": "d5bfd6432cf63ead2302b28a5aeb1712c5d291e5",
  "parents": [
    "5a6aa705ffdd97552ff756bbfa7d5a3b62a6c690"
  ],
  "author": {
    "name": "Emmanuel Grumbach",
    "email": "emmanuel.grumbach@intel.com",
    "time": "Thu Jan 23 14:28:16 2014 +0200"
  },
  "committer": {
    "name": "Johannes Berg",
    "email": "johannes.berg@intel.com",
    "time": "Thu Feb 06 09:55:18 2014 +0100"
  },
  "message": "mac80211: avoid deadlock revealed by lockdep\n\nsdata-\u003eu.ap.request_smps_work can’t be flushed synchronously\nunder wdev_lock(wdev) since ieee80211_request_smps_ap_work\nitself locks the same lock.\nWhile at it, reset the driver_smps_mode when the ap is\nstopped to its default: OFF.\n\nThis solves:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n3.12.0-ipeer+ #2 Tainted: G           O\n-------------------------------------------------------\nrmmod/2867 is trying to acquire lock:\n  ((\u0026sdata-\u003eu.ap.request_smps_work)){+.+...}, at: [\u003cc105b8d0\u003e] flush_work+0x0/0x90\n\nbut task is already holding lock:\n  (\u0026wdev-\u003emtx){+.+.+.}, at: [\u003cf9b32626\u003e] cfg80211_stop_ap+0x26/0x230 [cfg80211]\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (\u0026wdev-\u003emtx){+.+.+.}:\n        [\u003cc10aefa9\u003e] lock_acquire+0x79/0xe0\n        [\u003cc1607a1a\u003e] mutex_lock_nested+0x4a/0x360\n        [\u003cfb06288b\u003e] ieee80211_request_smps_ap_work+0x2b/0x50 [mac80211]\n        [\u003cc105cdd8\u003e] process_one_work+0x198/0x450\n        [\u003cc105d469\u003e] worker_thread+0xf9/0x320\n        [\u003cc10669ff\u003e] kthread+0x9f/0xb0\n        [\u003cc1613397\u003e] ret_from_kernel_thread+0x1b/0x28\n\n-\u003e #0 ((\u0026sdata-\u003eu.ap.request_smps_work)){+.+...}:\n        [\u003cc10ae9df\u003e] __lock_acquire+0x183f/0x1910\n        [\u003cc10aefa9\u003e] lock_acquire+0x79/0xe0\n        [\u003cc105b917\u003e] flush_work+0x47/0x90\n        [\u003cc105d867\u003e] __cancel_work_timer+0x67/0xe0\n        [\u003cc105d90f\u003e] cancel_work_sync+0xf/0x20\n        [\u003cfb0765cc\u003e] ieee80211_stop_ap+0x8c/0x340 [mac80211]\n        [\u003cf9b3268c\u003e] cfg80211_stop_ap+0x8c/0x230 [cfg80211]\n        [\u003cf9b0d8f9\u003e] cfg80211_leave+0x79/0x100 [cfg80211]\n        [\u003cf9b0da72\u003e] cfg80211_netdev_notifier_call+0xf2/0x4f0 [cfg80211]\n        [\u003cc160f2c9\u003e] notifier_call_chain+0x59/0x130\n        [\u003cc106c6de\u003e] __raw_notifier_call_chain+0x1e/0x30\n        [\u003cc106c70f\u003e] raw_notifier_call_chain+0x1f/0x30\n        [\u003cc14f8213\u003e] call_netdevice_notifiers_info+0x33/0x70\n        [\u003cc14f8263\u003e] call_netdevice_notifiers+0x13/0x20\n        [\u003cc14f82a4\u003e] __dev_close_many+0x34/0xb0\n        [\u003cc14f83fe\u003e] dev_close_many+0x6e/0xc0\n        [\u003cc14f9c77\u003e] rollback_registered_many+0xa7/0x1f0\n        [\u003cc14f9dd4\u003e] unregister_netdevice_many+0x14/0x60\n        [\u003cfb06f4d9\u003e] ieee80211_remove_interfaces+0xe9/0x170 [mac80211]\n        [\u003cfb055116\u003e] ieee80211_unregister_hw+0x56/0x110 [mac80211]\n        [\u003cfa3e9396\u003e] iwl_op_mode_mvm_stop+0x26/0xe0 [iwlmvm]\n        [\u003cf9b9d8ca\u003e] _iwl_op_mode_stop+0x3a/0x70 [iwlwifi]\n        [\u003cf9b9d96f\u003e] iwl_opmode_deregister+0x6f/0x90 [iwlwifi]\n        [\u003cfa405179\u003e] __exit_compat+0xd/0x19 [iwlmvm]\n        [\u003cc10b8bf9\u003e] SyS_delete_module+0x179/0x2b0\n        [\u003cc1613421\u003e] sysenter_do_call+0x12/0x32\n\nFixes: 687da132234f (\"mac80211: implement SMPS for AP\")\nCc: \u003cstable@vger.kernel.org\u003e [3.13]\nReported-by: Ilan Peer \u003cilan.peer@intel.com\u003e\nSigned-off-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "94b4acb5aabbaf3ad4b2ecee34d08e3616e219e8",
      "old_mode": 33188,
      "old_path": "net/mac80211/cfg.c",
      "new_id": "33acdca4a1df0ee119f995b01c2cc916fc175fa8",
      "new_mode": 33188,
      "new_path": "net/mac80211/cfg.c"
    },
    {
      "type": "modify",
      "old_id": "fab7b91923e0a8b93313797b53a469234ce83506",
      "old_mode": 33188,
      "old_path": "net/mac80211/ht.c",
      "new_id": "70dd013de8361e39c95264eeae967e193fe240e5",
      "new_mode": 33188,
      "new_path": "net/mac80211/ht.c"
    },
    {
      "type": "modify",
      "old_id": "3dfd20a453aba250fff726d1733f0dac6c763b3c",
      "old_mode": 33188,
      "old_path": "net/mac80211/iface.c",
      "new_id": "ae2eb148a02846a97e9156571a87f27e5d232b5e",
      "new_mode": 33188,
      "new_path": "net/mac80211/iface.c"
    }
  ]
}
