)]}'
{
  "commit": "9b22ea560957de1484e6b3e8538f7eef202e3596",
  "tree": "e922feeebfc8795e8ec2f02b58a99a23ae0ce74b",
  "parents": [
    "79654a7698195fa043063092f5c1ca5245276fba"
  ],
  "author": {
    "name": "Patrick McHardy",
    "email": "kaber@trash.net",
    "time": "Tue Nov 04 14:49:57 2008 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Tue Nov 04 14:49:57 2008 -0800"
  },
  "message": "net: fix packet socket delivery in rx irq handler\n\nThe changes to deliver hardware accelerated VLAN packets to packet\nsockets (commit bc1d0411) caused a warning for non-NAPI drivers.\nThe __vlan_hwaccel_rx() function is called directly from the drivers\nRX function, for non-NAPI drivers that means its still in RX IRQ\ncontext:\n\n[   27.779463] ------------[ cut here ]------------\n[   27.779509] WARNING: at kernel/softirq.c:136 local_bh_enable+0x37/0x81()\n...\n[   27.782520]  [\u003cc0264755\u003e] netif_nit_deliver+0x5b/0x75\n[   27.782590]  [\u003cc02bba83\u003e] __vlan_hwaccel_rx+0x79/0x162\n[   27.782664]  [\u003cf8851c1d\u003e] atl1_intr+0x9a9/0xa7c [atl1]\n[   27.782738]  [\u003cc0155b17\u003e] handle_IRQ_event+0x23/0x51\n[   27.782808]  [\u003cc015692e\u003e] handle_edge_irq+0xc2/0x102\n[   27.782878]  [\u003cc0105fd5\u003e] do_IRQ+0x4d/0x64\n\nSplit hardware accelerated VLAN reception into two parts to fix this:\n\n- __vlan_hwaccel_rx just stores the VLAN TCI and performs the VLAN\n  device lookup, then calls netif_receive_skb()/netif_rx()\n\n- vlan_hwaccel_do_receive(), which is invoked by netif_receive_skb()\n  in softirq context, performs the real reception and delivery to\n  packet sockets.\n\nReported-and-tested-by: Ramon Casellas \u003cramon.casellas@cttc.es\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9e7b49b8062d64ec5456a0d5ab3b71e97f5f16b9",
      "old_mode": 33188,
      "old_path": "include/linux/if_vlan.h",
      "new_id": "a5cb0c3f6dcf263834115ef359b11f87803c23d5",
      "new_mode": 33188,
      "new_path": "include/linux/if_vlan.h"
    },
    {
      "type": "modify",
      "old_id": "916061f681b6484a95af7900311977fca7752ebc",
      "old_mode": 33188,
      "old_path": "net/8021q/vlan_core.c",
      "new_id": "68ced4bf158c7558977e3c4a44ef4567157e80d5",
      "new_mode": 33188,
      "new_path": "net/8021q/vlan_core.c"
    },
    {
      "type": "modify",
      "old_id": "d9038e328cc153b2257330934bacd78b12e0f3f1",
      "old_mode": 33188,
      "old_path": "net/core/dev.c",
      "new_id": "9174c77d3112c65237cbbd2e063eb55b03b5c39e",
      "new_mode": 33188,
      "new_path": "net/core/dev.c"
    }
  ]
}
