)]}'
{
  "commit": "b63365a2d60268a3988285d6c3c6003d7066f93a",
  "tree": "85bd8f91f3de954c697aa44544b4adf191e7f5aa",
  "parents": [
    "2e3f92dad6bdbee796274bae5c1c50a6ddd31cbb"
  ],
  "author": {
    "name": "Herbert Xu",
    "email": "herbert@gondor.apana.org.au",
    "time": "Thu Oct 23 01:11:29 2008 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Thu Oct 23 01:11:29 2008 -0700"
  },
  "message": "net: Fix disjunct computation of netdev features\n\nMy change\n\n    commit e2a6b85247aacc52d6ba0d9b37a99b8d1a3e0d83\n    net: Enable TSO if supported by at least one device\n\ndidn\u0027t do what was intended because the netdev_compute_features\nfunction was designed for conjunctions.  So what happened was that\nit would simply take the TSO status of the last constituent device.\n\nThis patch extends it to support both conjunctions and disjunctions\nunder the new name of netdev_increment_features.\n\nIt also adds a new function netdev_fix_features which does the\nsanity checking that usually occurs upon registration.  This ensures\nthat the computation doesn\u0027t result in an illegal combination\nsince this checking is absent when the change is initiated via\nethtool.\n\nThe two users of netdev_compute_features have been converted.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8e2be24f3fe4c2e0f73062092a87f0b03da2f382",
      "old_mode": 33188,
      "old_path": "drivers/net/bonding/bond_main.c",
      "new_id": "832739f38db4cd43adef5cb922430f2b86fb9ceb",
      "new_mode": 33188,
      "new_path": "drivers/net/bonding/bond_main.c"
    },
    {
      "type": "modify",
      "old_id": "64875859d6542ffc0a40b23f371a586074d5292e",
      "old_mode": 33188,
      "old_path": "include/linux/netdevice.h",
      "new_id": "c8bcb59adfdf2570f0a8966eeb7219651d92ab1a",
      "new_mode": 33188,
      "new_path": "include/linux/netdevice.h"
    },
    {
      "type": "modify",
      "old_id": "22ba8632196f7a1e5ae79d7b4bd9f5b833e8e0c8",
      "old_mode": 33188,
      "old_path": "net/bridge/br_device.c",
      "new_id": "6c023f0f8252c184d67a8e8d9f3f00e44ef4526f",
      "new_mode": 33188,
      "new_path": "net/bridge/br_device.c"
    },
    {
      "type": "modify",
      "old_id": "573e20f7dba46065e5e40f103ba0196c64894f22",
      "old_mode": 33188,
      "old_path": "net/bridge/br_if.c",
      "new_id": "0a09ccf68c1c16e6362f895ba389f7287520594e",
      "new_mode": 33188,
      "new_path": "net/bridge/br_if.c"
    },
    {
      "type": "modify",
      "old_id": "b8a4fd0806af3fca72224828293a497f13281831",
      "old_mode": 33188,
      "old_path": "net/core/dev.c",
      "new_id": "d9038e328cc153b2257330934bacd78b12e0f3f1",
      "new_mode": 33188,
      "new_path": "net/core/dev.c"
    }
  ]
}
