)]}'
{
  "commit": "25d834e16294c8dfd923dae6bdb8a055391a99a5",
  "tree": "b9d756464d89949651e5acd1df97846af3028df0",
  "parents": [
    "9c31fd635ddfae6eb61712491770befa2ce1fdde"
  ],
  "author": {
    "name": "Johannes Berg",
    "email": "johannes@sipsolutions.net",
    "time": "Fri Sep 12 22:52:47 2008 +0200"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Mon Sep 15 16:48:25 2008 -0400"
  },
  "message": "mac80211: fix virtual interfaces vs. injection\n\nCurrently, virtual interface pointers passed to drivers might be\nfrom monitor interfaces and as such completely uninitialised\nbecause we do not tell the driver about monitor interfaces when\nthose are created. Instead of passing them, we should therefore\nindicate to the driver that there is no information; do that by\npassing a NULL value and adjust drivers to cope with it.\n\nAs a result, some mac80211 API functions also need to cope with\na NULL vif pointer so drivers can still call them unconditionally.\n\nAlso, when injecting frames we really don\u0027t want to pass NULL all\nthe time, if we know we are the source address of a frame and have\na local interface for that address, we can to use that interface.\nThis also helps with processing the frame correctly for that\ninterface which will help the 802.11w implementation. It\u0027s not\nentirely correct for VLANs or WDS interfaces because there the MAC\naddress isn\u0027t unique, but it\u0027s already a lot better than what we\ndo now.\n\nFinally, when injecting without a matching local interface, don\u0027t\nassign sequence numbers at all.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "da8aa83481f7bafd3d825ba24448103b6e77f7d8",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/mac80211_hwsim.c",
      "new_id": "631d65b73edfb90732a6cc560ea8b64c9b805662",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/mac80211_hwsim.c"
    },
    {
      "type": "modify",
      "old_id": "a5e965068c83cda2a777cfac76e1f8466eb7fdf9",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/rt2x00/rt2x00queue.c",
      "new_id": "b7f4fe8fba6e680f6a081a83a050abbce261ce62",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/rt2x00/rt2x00queue.c"
    },
    {
      "type": "modify",
      "old_id": "d6669fd3ffa898eef69754cbb665a610fc35d31b",
      "old_mode": 33188,
      "old_path": "include/net/mac80211.h",
      "new_id": "003e4a03874e0012b9fbd597a792140cd59ac128",
      "new_mode": 33188,
      "new_path": "include/net/mac80211.h"
    },
    {
      "type": "modify",
      "old_id": "698c8233e6b3d5604016ee21452e2ac1ee293b01",
      "old_mode": 33188,
      "old_path": "net/mac80211/tx.c",
      "new_id": "c12f361d71857c5fb2a7c9cbf5f8c4525806709d",
      "new_mode": 33188,
      "new_path": "net/mac80211/tx.c"
    },
    {
      "type": "modify",
      "old_id": "6eb222369bcbfd381ad4e0e35bdb1569d5ca5e2f",
      "old_mode": 33188,
      "old_path": "net/mac80211/util.c",
      "new_id": "f32561ec224ca4fb1ec6a83a53d0b59dc7d63451",
      "new_mode": 33188,
      "new_path": "net/mac80211/util.c"
    }
  ]
}
