)]}'
{
  "commit": "621d90169cef6c8da5b6134db5c0c4e23cdd09ce",
  "tree": "0f9e2c83ed4b1e4910d3f35abf4e9a9f0ccb9abc",
  "parents": [
    "769ec67d0abc64c7f716d16e9826c8ae2c5264c2"
  ],
  "author": {
    "name": "Karl Mehltretter",
    "email": "kmehltretter@gmail.com",
    "time": "Tue Aug 11 10:27:02 2026 +0200"
  },
  "committer": {
    "name": "Johannes Berg",
    "email": "johannes.berg@intel.com",
    "time": "Tue Sep 15 11:52:24 2026 +0200"
  },
  "message": "wifi: brcmfmac: fix lost 802.1x TX completion wakeup\n\nbrcmf_txfinalize() decrements pend_8021x_cnt before a lockless\nwaitqueue_active() check. atomic_dec() does not order the decrement\nagainst the check.\n\nThe waiter can therefore observe a nonzero count while the waker observes\nan empty queue, losing the final wakeup and delaying key installation\nuntil the 950 ms timeout.\n\nAdd smp_mb__after_atomic() to order the decrement before the queue\ncheck. wait_event_timeout() provides the matching barrier. LKMM confirms\nthat this forbids the lost-wakeup outcome.\n\nFixes: 21fff75d2fb6 (\"brcmfmac: use wait_event_timeout for 8021x pending count\")\nAssisted-by: Claude:claude-fable-5\nSigned-off-by: Karl Mehltretter \u003ckmehltretter@gmail.com\u003e\nAcked-by: Arend van Spriel \u003carend.vanspriel@broadcom.com\u003e\nLink: https://patch.msgid.link/20260811082702.44521-1-kmehltretter@gmail.com\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dad6f4563d146805a9058f21d4f9ce65bccb98e2",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c",
      "new_id": "d2ae679856067a54a8fe04cf2535768ff97b6704",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c"
    }
  ]
}
