)]}'
{
  "log": [
    {
      "commit": "fd413da852991e96c555ad7253cc481bc133e221",
      "tree": "74a56c2b0cc9e20603711fa9cd71e0e1967ac07b",
      "parents": [
        "fea6734a0e444c31c99a1271154bb0281d7908d8"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sun Sep 06 14:49:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:10 2009 -0400"
      },
      "message": "b43: PCMCIA is not experimental anymore\n\nPCMCIA support works well and is not experimental anymore.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fea6734a0e444c31c99a1271154bb0281d7908d8",
      "tree": "aa6af0ecb5ddafd7ac35e3f70e11d11c83edcd83",
      "parents": [
        "7f42c37aa676825fea329a7bec2fefe51033b3e9"
      ],
      "author": {
        "name": "Joerg Albert",
        "email": "jal2@gmx.de",
        "time": "Sat Sep 05 16:07:47 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:10 2009 -0400"
      },
      "message": "ath,ar9170: implemented conformance test limit calc. for tx power\n\napply the conformance test limits (CTL) stored in the eeprom upon\nthe values calculated for the tx power (ar-\u003epower_*).\n\nThis is based on the implementation in the vendor driver\n(hal/hpmain.c, line 3700 ff.) with one difference:\nIf any ctl mode isn\u0027t found in the eeprom, we fall back to the \"lower\",\nlegacy modes (5GHT20,11A or 2GHT20,11G,11B). Otus only did 5GHT20-\u003e11A.\n\nCurrently CTL are applied for the FCC group only.\n\nSigned-off-by: Joerg Albert \u003cjal2@gmx.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7f42c37aa676825fea329a7bec2fefe51033b3e9",
      "tree": "39acddd569d9488325efb9b73452ce75b8d42552",
      "parents": [
        "e6c463e3a3d067f5da2c79d5acdb2f626754cdb3"
      ],
      "author": {
        "name": "Joerg Albert",
        "email": "jal2@gmx.de",
        "time": "Sat Sep 05 16:07:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:09 2009 -0400"
      },
      "message": "ath,ar9170: move CTL_ defines into regd.h\n\nThe ar9170 driver needs the defines for conformance test limit groups\nand cannot include regd_common.h\n\nSigned-off-by: Joerg Albert \u003cjal2@gmx.de\u003e\nAcked-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e6c463e3a3d067f5da2c79d5acdb2f626754cdb3",
      "tree": "c469a4411d61f47b4b24387a9d3d87c68648ecd6",
      "parents": [
        "69eddc8a37a33479205ac3a3d8575fad1466da90"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sat Sep 05 11:18:47 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:08 2009 -0400"
      },
      "message": "ssb: Fail ssb modinit, if attach of the buses failed.\n\nSSB modinit should not succeed, if busattach failed.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "69eddc8a37a33479205ac3a3d8575fad1466da90",
      "tree": "6e8f903b3d04d3a9ce85ab10e8f5a767224039c9",
      "parents": [
        "77ca07ffe1797a0f2f41aa4997c9a5ae433a0be8"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 04 22:57:26 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:08 2009 -0400"
      },
      "message": "b43: remove SHM spinlock\n\nThis removes the SHM spinlock.\nSHM is protected by wl-\u003emutex.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "77ca07ffe1797a0f2f41aa4997c9a5ae433a0be8",
      "tree": "890f5d0b61e8ea7b91a2996edf4b1f331f79269f",
      "parents": [
        "637dae3f637eb7dab447e74362e0dfeded775c7c"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 04 22:56:19 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:07 2009 -0400"
      },
      "message": "b43: Remove PIO RX workqueue\n\nThis removes the PIO RX work. It\u0027s not needed anymore, because\nwe can sleep in the threaded interrupt handler.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "637dae3f637eb7dab447e74362e0dfeded775c7c",
      "tree": "2589ed0c29c0b8f360e100ee0e82ad79f2df3129",
      "parents": [
        "f5d40eedb32aa9a0e226d468e1f89fb676824694"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 04 22:55:00 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:07 2009 -0400"
      },
      "message": "b43: Remove DMA/PIO queue locks\n\nThis removes the DMA/PIO queue locks. Locking is handled by\nwl-\u003emutex now.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f5d40eedb32aa9a0e226d468e1f89fb676824694",
      "tree": "8fb9fce1dd10b71fd940cbb22cbbf12887fe2d4b",
      "parents": [
        "36dbd9548e92268127b0c31b0e121e63e9207108"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 04 22:53:18 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:06 2009 -0400"
      },
      "message": "b43: Remove TX spinlock\n\nThis removes the TX spinlock and defers TX to a workqueue to allow\nlocking wl-\u003emutex instead and to allow sleeping for register accesses.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "36dbd9548e92268127b0c31b0e121e63e9207108",
      "tree": "41d95c5dd824ea43c5f0055bd790b64d7ba8a33a",
      "parents": [
        "b275f28535fc774325bb8ad5f664e6c44a8fbc9b"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 04 22:51:29 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:06 2009 -0400"
      },
      "message": "b43: Use a threaded IRQ handler\n\nUse a threaded IRQ handler to allow locking the mutex and\nsleeping while executing an interrupt.\nThis removes usage of the irq_lock spinlock, but introduces\na new hardirq_lock, which is _only_ used for the PCI/SSB lowlevel\nhard-irq handler. Sleeping busses (SDIO) will use mutex instead.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b275f28535fc774325bb8ad5f664e6c44a8fbc9b",
      "tree": "e48d0e73c55f4662acd6e0b2545879ef3b1e8be1",
      "parents": [
        "d9c35a506ed7770301f705a9070e05f0c5fae4bd"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Sep 01 08:53:49 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:06 2009 -0400"
      },
      "message": "wireless: update cfg80211 kconfig entry\n\ncfg80211 is now *the* wireless configuration API. Lets also\ngive a little explanation as to what it is and refer people to\nthe wireless wiki for more information.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d9c35a506ed7770301f705a9070e05f0c5fae4bd",
      "tree": "3303836f0b9e938da37c68a3a2b5bfd96a3dd8b9",
      "parents": [
        "8813262ea79acf9daa0e03901bdfe93db4dc4ca5"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Thu Sep 03 20:25:31 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:05 2009 -0400"
      },
      "message": "ar9170: implement frequency calibration for one-stage/openfw\n\nThis patch ports some code from the vendor driver, which is\nsupposed to upload the right calibration values for the\nchosen frequency.\n\nIn theory, this should give a better range and throughput\nfor all users with the open, or one-stage firmware.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8813262ea79acf9daa0e03901bdfe93db4dc4ca5",
      "tree": "0b5efbbcb7f6f2395807b0d5987cca028203f217",
      "parents": [
        "7ea310be65bfcbc6e2395844fd3498762dc2aea6"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Thu Sep 03 12:08:53 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:05 2009 -0400"
      },
      "message": "ath9k: Fix channelFlags for 2GHZ\n\nCHANNEL_G has to be set for 2GHZ channels since\nIS_CHAN_G() checks for this in channelFlags and not in\nchanmode. To make things messier, ath9k_hw_process_ini()\nchecks for CHANNEL_G in chanmode and not in channelFlags.\nThe supreme, brain-searing fix is to set the\nflag in both cases.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7ea310be65bfcbc6e2395844fd3498762dc2aea6",
      "tree": "78bf6a77bfd2591429a50b0e907563884bdcc72e",
      "parents": [
        "fc548af877374f7e26c4f670f3843c6d29e02a98"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Thu Sep 03 12:08:43 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:05 2009 -0400"
      },
      "message": "ath9k: Fix RX Filter handling for BAR\n\nBAR frames have to be sent to mac80211 only if the\ncurrent channel is HT. Also, move the macro to\nenum ath9k_rx_filter.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fc548af877374f7e26c4f670f3843c6d29e02a98",
      "tree": "8c32540ab846508cb187572845ab33438c43638f",
      "parents": [
        "580171f7cd08687cdf1b263aabb35608b3c37433"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Sep 02 17:06:21 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:04 2009 -0400"
      },
      "message": "ath9k: claim irq for ath9k, not ath for pci\n\nath9k ahb requests an IRQ and indicates \u0027ath9k\u0027 claimed it,\nath9k pci requests an IRQ and indicates \u0027ath\u0027   claims it;\nsince \u0027ath\u0027 is another module sync both ahb and pci to claim\nthe irq using \u0027ath9k\u0027.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "580171f7cd08687cdf1b263aabb35608b3c37433",
      "tree": "f11b817d537e100df257256cb6937d9b73640d33",
      "parents": [
        "db6be53cbaf118fdad5bdca211a19ca5354c9462"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Sep 02 17:02:18 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:04 2009 -0400"
      },
      "message": "ath9k: propagate errors on ath_init_device() and request_irq()\n\nWe\u0027ve cleaned up ath_init_device() and its children enough\nto pass meaninful errors back from probe. When this fails\nit means our device could not be initialized and a meaninful\nerror will have been passed.\n\nDo the same for request_irq() and also synchronize the error\nmessages while at it.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "db6be53cbaf118fdad5bdca211a19ca5354c9462",
      "tree": "003f64adcfef4624fa9e691ab450338dd996a4f3",
      "parents": [
        "5c630ce7e6cb144a29fd5a993363f4928fb4b890"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Sep 02 16:34:57 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:04 2009 -0400"
      },
      "message": "ath9k: propagate ieee80211_alloc_hw() failure\n\nThe -ENOMEM was never being passed on failure.\nWhile at it use dev_err() as ahb does upon failure.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5c630ce7e6cb144a29fd5a993363f4928fb4b890",
      "tree": "bf2f366012d1f16a88427c05139a85389bc405b2",
      "parents": [
        "6ec1c69a8f6492fd25722f4762721921da074c12"
      ],
      "author": {
        "name": "Joerg Albert",
        "email": "jal2@gmx.de",
        "time": "Thu Sep 03 01:02:59 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:03 2009 -0400"
      },
      "message": "ar9170: added phy register initialisation from eeprom values\n\nThis patch adds the initialisation of some PHY registers\nfrom the modal_header[] values in the EEPROM\n(see otus/hal/hpmain.c, line 333 ff.)\n\nSigned-off-by: Joerg Albert \u003cjal2@gmx.de\u003e\nAcked-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6ec1c69a8f6492fd25722f4762721921da074c12",
      "tree": "a78323d1f7f84acbe08c25d7300b935ae4bb7c62",
      "parents": [
        "589983cd21f4a2e4ed74a958805a90fa676845c5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 01:58:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:05 2009 -0700"
      },
      "message": "net_sched: add classful multiqueue dummy scheduler\n\nThis patch adds a classful dummy scheduler which can be used as root qdisc\nfor multiqueue devices and exposes each device queue as a child class.\n\nThis allows to address queues individually and graft them similar to regular\nclasses. Additionally it presents an accumulated view of the statistics of\nall real root qdiscs in the dummy root.\n\nTwo new callbacks are added to the qdisc_ops and qdisc_class_ops:\n\n- cl_ops-\u003eselect_queue selects the tx queue number for new child classes.\n\n- qdisc_ops-\u003eattach() overrides root qdisc device grafting to attach\n  non-shared qdiscs to the queues.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "589983cd21f4a2e4ed74a958805a90fa676845c5",
      "tree": "21ce556958da203400d3e9d30911ff330be39e90",
      "parents": [
        "af356afa010f3cd2c8b8fcc3bce90f7a7b7ec02a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:05 2009 -0700"
      },
      "message": "net_sched: move dev_graft_qdisc() to sch_generic.c\n\nIt will be used in a following patch by the multiqueue qdisc.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af356afa010f3cd2c8b8fcc3bce90f7a7b7ec02a",
      "tree": "302d938363bbaec3e69a58e36dbf8a304b24144c",
      "parents": [
        "5b9a9ccfad8553dbf7a9b17ba78bad70215ed0e2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:03 2009 -0700"
      },
      "message": "net_sched: reintroduce dev-\u003eqdisc for use by sch_api\n\nCurrently the multiqueue integration with the qdisc API suffers from\na few problems:\n\n- with multiple queues, all root qdiscs use the same handle. This means\n  they can\u0027t be exposed to userspace in a backwards compatible fashion.\n\n- all API operations always refer to queue number 0. Newly created\n  qdiscs are automatically shared between all queues, its not possible\n  to address individual queues or restore multiqueue behaviour once a\n  shared qdisc has been attached.\n\n- Dumps only contain the root qdisc of queue 0, in case of non-shared\n  qdiscs this means the statistics are incomplete.\n\nThis patch reintroduces dev-\u003eqdisc, which points to the (single) root qdisc\nfrom userspace\u0027s point of view. Currently it either points to the first\n(non-shared) default qdisc, or a qdisc shared between all queues. The\nfollowing patches will introduce a classful dummy qdisc, which will be used\nas root qdisc and contain the per-queue qdiscs as children.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b9a9ccfad8553dbf7a9b17ba78bad70215ed0e2",
      "tree": "1454e8121fef6635a615f6766b3fdbff678ae63d",
      "parents": [
        "de6d5cdf881353f83006d5f3e28ac4fffd42145e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:02 2009 -0700"
      },
      "message": "net_sched: remove some unnecessary checks in classful schedulers\n\nThe class argument to the -\u003egraft(), -\u003eleaf(), -\u003edump(), -\u003edump_stats() all\noriginate from either -\u003eget() or -\u003ewalk() and are always valid.\n\nRemove unnecessary checks.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de6d5cdf881353f83006d5f3e28ac4fffd42145e",
      "tree": "edc032e4d0a868578780facdd28fb0ee277aadc3",
      "parents": [
        "71ebe5e91947392bc276af713827eab12b6db8e4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:02 2009 -0700"
      },
      "message": "net_sched: make cls_ops-\u003echange and cls_ops-\u003edelete optional\n\nSome schedulers don\u0027t support creating, changing or deleting classes.\nMake the respective callbacks optionally and consistently return\n-EOPNOTSUPP for unsupported operations, instead of currently either\n-EOPNOTSUPP, -ENOSYS or no error.\n\nIn case of sch_prio and sch_multiq, the removed operations additionally\nchecked for an invalid class. This is not necessary since the class\nargument can only orginate from -\u003eget() or in case of -\u003echange is 0\nfor creation of new classes, in which case -\u003echange() incorrectly\nreturned -ENOENT.\n\nAs a side-effect, this patch fixes a possible (root-only) NULL pointer\nfunction call in sch_ingress, which didn\u0027t implement a so far mandatory\n-\u003edelete() operation.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71ebe5e91947392bc276af713827eab12b6db8e4",
      "tree": "198ff02e23f8606ff2a3bec51c7044ec408e19c4",
      "parents": [
        "c9f1d0389b962521af1e2b699c8ee5e299d77b85"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:06:12 2009 -0700"
      },
      "message": "net_sched: make cls_ops-\u003etcf_chain() optional\n\nSome qdiscs don\u0027t support attaching filters. Handle this centrally in\ncls_api and return a proper errno code (EOPNOTSUPP) instead of EINVAL.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9f1d0389b962521af1e2b699c8ee5e299d77b85",
      "tree": "e317e8b012be8b31b303bdb3f6ee5e3929de0a7b",
      "parents": [
        "b1f57195585e376d1944c32c046359640b06a669"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 23:10:15 2009 -0700"
      },
      "message": "net_sched: fix class grafting errno codes\n\nIf the parent qdisc doesn\u0027t support classes, use EOPNOTSUPP.\nIf the parent class doesn\u0027t exist, use ENOENT. Currently EINVAL\nis returned in both cases.\n\nAdditionally check whether grafting is supported and remove a now\nunnecessary graft function from sch_ingress.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1f57195585e376d1944c32c046359640b06a669",
      "tree": "5e49a5e0077520f92e4e2bfd57caf90e303784ae",
      "parents": [
        "f1751c57f7bb816c9b6b4cb5d79c703aaa7199da"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Sep 04 20:36:52 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 20:36:52 2009 -0700"
      },
      "message": "netlink: silence compiler warning\n\n  CC      net/netlink/genetlink.o\nnet/netlink/genetlink.c: In function ‘genl_register_mc_group’:\nnet/netlink/genetlink.c:139: warning: ‘err’ may be used uninitialized in this function\n\nFrom following the code \u0027err\u0027 is initialized, but set it to zero to\nsilence the warning.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1751c57f7bb816c9b6b4cb5d79c703aaa7199da",
      "tree": "68e75889f4fd4b576f50bd52088c79f7c837323d",
      "parents": [
        "be2971438dec2e2d041af4701472a93a7dd03642"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:03 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:03 2009 -0400"
      },
      "message": "sctp: Catch bogus stream sequence numbers\n\nSince our TSN map is capable of holding at most a 4K chunk gap,\nthere is no way that during this gap, a stream sequence number\n(unsigned short) can wrap such that the new number is smaller\nthen the next expected one.  If such a case is encountered,\nthis is a protocol violation.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "be2971438dec2e2d041af4701472a93a7dd03642",
      "tree": "9b69e184f1be9815f471f06a5456a68aef59578f",
      "parents": [
        "9237ccbc0b22b5aa5396463ba0b14dc5efe5b98c"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Sep 04 14:34:06 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:02 2009 -0400"
      },
      "message": "sctp: remove dup code in net/sctp/output.c\n\nUse sctp_packet_reset() instead of dup code.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "9237ccbc0b22b5aa5396463ba0b14dc5efe5b98c",
      "tree": "ac6aed9bc6a832b0d17895a55039bc6ba65100c7",
      "parents": [
        "723884339f90a9c420783135168cc1045750eb5d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Sep 04 14:33:19 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:02 2009 -0400"
      },
      "message": "sctp: turn flags in \u0027struct sctp_association\u0027 into bit fields\n\nThis shrinks the size of struct sctp_association a little.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "723884339f90a9c420783135168cc1045750eb5d",
      "tree": "c8538602e56f2310470b0970bf121a1000313401",
      "parents": [
        "8da645e101a8c20c6073efda3c7cc74eec01b87f"
      ],
      "author": {
        "name": "Bhaskar Dutta",
        "email": "bhaskie@gmail.com",
        "time": "Thu Sep 03 17:25:47 2009 +0530"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "message": "sctp: Sysctl configuration for IPv4 Address Scoping\n\nThis patch introduces a new sysctl option to make IPv4 Address Scoping\nconfigurable \u003cdraft-stewart-tsvwg-sctp-ipv4-00.txt\u003e.\n\nIn networking environments where DNAT rules in iptables prerouting\nchains convert destination IP\u0027s to link-local/private IP addresses,\nSCTP connections fail to establish as the INIT chunk is dropped by the\nkernel due to address scope match failure.\nFor example to support overlapping IP addresses (same IP address with\ndifferent vlan id) a Layer-5 application listens on link local IP\u0027s,\nand there is a DNAT rule that maps the destination IP to a link local\nIP. Such applications never get the SCTP INIT if the address-scoping\ndraft is strictly followed.\n\nThis sysctl configuration allows SCTP to function in such\nunconventional networking environments.\n\nSysctl options:\n0 - Disable IPv4 address scoping draft altogether\n1 - Enable IPv4 address scoping (default, current behavior)\n2 - Enable address scoping but allow IPv4 private addresses in init/init-ack\n3 - Enable address scoping but allow IPv4 link local address in init/init-ack\n\nSigned-off-by: Bhaskar Dutta \u003cbhaskar.dutta@globallogic.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "8da645e101a8c20c6073efda3c7cc74eec01b87f",
      "tree": "3d888e6da02f60acb18b52f6e6d8dac64e28564c",
      "parents": [
        "a803c942303e6a4ef0ab6b80114529852cffa058"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "message": "sctp: Get rid of an extra routing lookup when adding a transport.\n\nWe used to perform 2 routing lookups for a new transport: one\njust for path mtu detection, and one to actually route to destination\nand path mtu update when sending a packet.  There is no point in doing\nboth of them, especially since the first one just for path mtu doesn\u0027t\ntake into account source address and sometimes gives the wrong route,\ncausing path mtu updates anyway.\n\nWe now do just the one call to do both route to destination and get\npath mtu updates.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a803c942303e6a4ef0ab6b80114529852cffa058",
      "tree": "d1da47a93ef1683957256a582ed2fcb27d3e9a4b",
      "parents": [
        "4007cc88ceec8892b74792f0a10983b140beae72"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "message": "sctp: Turn flags in \u0027sctp_packet\u0027 into bit fields\n\nThis shrinks the size of sctp_packet a little.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "4007cc88ceec8892b74792f0a10983b140beae72",
      "tree": "6a1af00a4ca24155255c031fdcd05b7d6ead59ab",
      "parents": [
        "d521c08f4c16d27f193718da778503a6472501da"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: Correctly track if AUTH has been bundled.\n\nWe currently track if AUTH has been bundled using the \u0027auth\u0027\npointer to the chunk.  However, AUTH is disallowed after DATA\nis already in the packet, so we need to instead use the\n\u0027has_auth\u0027 field.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d521c08f4c16d27f193718da778503a6472501da",
      "tree": "44bc280f8711bf13942a192037cf5f96670053b7",
      "parents": [
        "31b02e1549406efa346534acad956a42bc3f28c4"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Sep 02 13:05:33 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: fix to reset packet information after packet transmit\n\nThe packet information does not reset after packet transmit, this\nmay cause some problems such as following DATA chunk be sent without\nAUTH chunk, even if the authentication of DATA chunk has been\nrequested by the peer.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "31b02e1549406efa346534acad956a42bc3f28c4",
      "tree": "3acc807275810eb2efdc5fc2744bdfc3528488c2",
      "parents": [
        "f68b2e05f326971cd76c65aa91a1a41771dd7485"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: Failover transmitted list on transport delete\n\nAdd-IP feature allows users to delete an active transport.  If that\ntransport has chunks in flight, those chunks need to be moved to another\ntransport or association may get into unrecoverable state.\n\nReported-by: Rafael Laufer \u003crlaufer@cisco.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "f68b2e05f326971cd76c65aa91a1a41771dd7485",
      "tree": "2940d83f3787570cc030791378ee23b89b941662",
      "parents": [
        "cb95ea32a457871f72752164de8d94fa20f4703c"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: Fix SCTP_MAXSEG socket option to comply to spec.\n\nWe had a bug that we never stored the user-defined value for\nMAXSEG when setting the value on an association.  Thus future\nPMTU events ended up re-writing the frag point and increasing\nit past user limit.  Additionally, when setting the option on\nthe socket/endpoint, we effect all current associations, which\nis against spec.\n\nNow, we store the user \u0027maxseg\u0027 value along with the computed\n\u0027frag_point\u0027.  We inherit \u0027maxseg\u0027 from the socket at association\ncreation and use it as an upper limit for \u0027frag_point\u0027 when its\nset.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "cb95ea32a457871f72752164de8d94fa20f4703c",
      "tree": "0a419cdc3fe5e7e2d5fa5036a40d93a4bb6aac42",
      "parents": [
        "b29e7907288554db9c987c36facfd0304ee8ff5a"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: Don\u0027t do NAGLE delay on large writes that were fragmented small\n\nSCTP will delay the last part of a large write due to NAGLE, if that\npart is smaller then MTU.  Since we are doing large writes, we might\nas well send the last portion now instead of waiting untill the next\nlarge write happens.  The small portion will be sent as is regardless,\nso it\u0027s better to not delay it.\n\nThis is a result of much discussions with Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nand Doug Graham \u003cdgraham@nortel.com\u003e.  Many thanks go out to them.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b29e7907288554db9c987c36facfd0304ee8ff5a",
      "tree": "5a20e7c0e59cfc986b20b915f5bd624850d56619",
      "parents": [
        "d4d6fb5787a6ef6e1dab731d617ebda6be73d561"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: Nagle delay should be based on path mtu\n\nThe decision to delay due to Nagle should be based on the path mtu\nand future packet size.  We currently incorrectly base it on\n\u0027frag_point\u0027 which is the SCTP DATA segment size, and also we do\nnot count DATA chunk header overhead in the computation.  This\nactuall allows situations where a user can set low \u0027frag_point\u0027,\nand then send small messages without delay.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d4d6fb5787a6ef6e1dab731d617ebda6be73d561",
      "tree": "afdf56288c5cdbfa40f95ef4a618d37f5b3f5092",
      "parents": [
        "4d3c46e6833208428d366630aa708f6876e61fc1"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: Try not to change a_rwnd when faking a SACK from SHUTDOWN.\n\nWe currently set a_rwnd to 0 when faking a SACK from SHUTDOWN.\nThis results in an hung association if the remote only uses\nSHUTDOWNs (which it\u0027s allowed to do) to acknowlege DATA when\nclosing.  The reason for that is that we simply honor the a_rwnd\nfrom the sack, but since we faked it to be 0, we enter 0-window\nprobing.  The fix is to use the peers old rwnd and add our flight\nsize to it.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "4d3c46e6833208428d366630aa708f6876e61fc1",
      "tree": "cb5f57a90a261b7443d202d96cf5725dbba371c8",
      "parents": [
        "33ce828131ca6655b48bd2070dadd80f816dfe0d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: drop a_rwnd to 0 when receive buffer overflows.\n\nSCTP has a problem that when small chunks are used, it is possible\nto exhaust the receiver buffer without fully closing receive window.\nThis happens due to all overhead that we have account for with small\nmessages.  To fix this, when receive buffer is exceeded, we\u0027ll drop\nthe window to 0 and save the \u0027drop\u0027 portion.  When application starts\nreading data and freeing up recevie buffer space, we\u0027ll wait until\nwe\u0027ve reached the \u0027drop\u0027 window and then add back this \u0027drop\u0027 one\nmtu at a time.  This worked well in testing and under stress produced\nrather even recovery.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "33ce828131ca6655b48bd2070dadd80f816dfe0d",
      "tree": "f098d69c268a67f41a2915d90dbf3463b36df375",
      "parents": [
        "b9f8478682445c2a3e0b87718a0563ef543ad94e"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "message": "sctp: Clear fast_recovery on the transport when T3 timer expires.\n\nIf T3 timer expires, we are retransmitting data due to timeout any\nany fast recovery is null and void.  We can clear the fast recovery\nflag.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b9f8478682445c2a3e0b87718a0563ef543ad94e",
      "tree": "9bc0351c0a329a0780c6f2f7291e9207727de686",
      "parents": [
        "d71a09ed555e52299b5d3ad8945bdf84f65423a6"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Aug 26 09:36:25 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "message": "sctp: Fix error count increments that were results of HEARTBEATS\n\nSCTP RFC 4960 states that unacknowledged HEARTBEATS count as\nerrors agains a given transport or endpoint.  As such, we\nshould increment the error counts for only for unacknowledged\nHB, otherwise we detect failure too soon.  This goes for both\nthe overall error count and the path error count.\n\nNow, there is a difference in how the detection is done\nbetween the two.  The path error detection is done after\nthe increment, so to detect it properly, we actually need\nto exceed the path threshold.  The overall error detection\nis done _BEFORE_ the increment.  Thus to detect the failure,\nit\u0027s enough for the error count to match the threshold.\nThis is why all the state functions use \u0027\u003e\u003d\u0027 to detect failure,\nwhile path detection uses \u0027\u003e\u0027.\n\nThanks goes to Chunbo Luo \u003cchunbo.luo@windriver.com\u003e who first\nproposed patches to fix this issue and made me re-read the spec\nand the code to figure out how this cruft really works.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d71a09ed555e52299b5d3ad8945bdf84f65423a6",
      "tree": "7b2287417fdcd6c65a00942f8b914f9681b4ebf1",
      "parents": [
        "dadb50cc1ada2906594df83d991f0bc388039bb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Aug 23 23:11:36 2009 +0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "message": "sctp: use proc_create()\n\ncreate_proc_entry() is deprecated (not formally, though).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "dadb50cc1ada2906594df83d991f0bc388039bb6",
      "tree": "25df647a588e1401377339f98f3dad12f17ab7bd",
      "parents": [
        "a2f36eec5647548fa94fb68e2843b00fb9c0d46b"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Aug 22 11:27:37 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "message": "sctp: fix check the chunk length of received HEARTBEAT-ACK chunk\n\nThe receiver of the HEARTBEAT should respond with a HEARTBEAT ACK\nthat contains the Heartbeat Information field copied from the\nreceived HEARTBEAT chunk. So the received HEARTBEAT-ACK chunk\nmust have a length of:\n  sizeof(sctp_chunkhdr_t) + sizeof(sctp_sender_hb_info_t)\n\nA badly formatted HB-ACK chunk, it is possible that we may access\ninvalid memory.  We should really make sure that the chunk format\nis what we expect, before attempting to touch the data.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a2f36eec5647548fa94fb68e2843b00fb9c0d46b",
      "tree": "2f9927736f20817bdaed1d1f8a897af2c1e0d605",
      "parents": [
        "9c5c62be2f794c7cee533d856f9f34c3cf21ff1b"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Aug 22 11:24:00 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:57 2009 -0400"
      },
      "message": "sctp: drop SHUTDOWN chunk if the TSN is less than the CTSN\n\nIf Cumulative TSN Ack field of SHUTDOWN chunk is less than the\nCumulative TSN Ack Point then drop the SHUTDOWN chunk.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "9c5c62be2f794c7cee533d856f9f34c3cf21ff1b",
      "tree": "e81bcc703cedf4e667b91504b5cf9e8e01ffb6a5",
      "parents": [
        "5d7ff261ef497c62f54c39effc259910a28b313d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Aug 10 13:51:03 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:57 2009 -0400"
      },
      "message": "sctp: Send user messages to the lower layer as one\n\nCurrenlty, sctp breaks up user messages into fragments and\nsends each fragment to the lower layer by itself.  This means\nthat for each fragment we go all the way down the stack\nand back up.  This also discourages bundling of multiple\nfragments when they can fit into a sigle packet (ex: due\nto user setting a low fragmentation threashold).\n\nWe introduce a new command SCTP_CMD_SND_MSG and hand the\nwhole message down state machine.  The state machine and\nthe side-effect parser will cork the queue, add all chunks\nfrom the message to the queue, and then un-cork the queue\nthus causing the chunks to get transmitted.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "5d7ff261ef497c62f54c39effc259910a28b313d",
      "tree": "78eca9144bafc85c65cfdf19e5c8c5dffbd271f4",
      "parents": [
        "e83963b769a2c38b436f5dcf82309f5cbc2f6012"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Aug 07 13:23:28 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Try to encourage SACK bundling with DATA.\n\nIf the association has a SACK timer pending and now DATA queued\nto be send, we\u0027ll try to bundle the SACK with the next application send.\nAs such, try encourage bundling by accounting for SACK in the size\nof the first chunk fragment.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "e83963b769a2c38b436f5dcf82309f5cbc2f6012",
      "tree": "682a21fa15fd49e22e11d4a64cfea6771b3b5d94",
      "parents": [
        "3e62abf92f34d75fe22352d8d102e3cd2755804d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Aug 07 10:43:07 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Generate SACKs when actually sending outbound DATA\n\nWe are now trying to bundle SACKs when we have outbound\nDATA to send.  However, there are situations where this\noutbound DATA will not be sent (due to congestion or \navailable window).  In such cases it\u0027s ok to wait for the\ntimer to expire.  This patch refactors the sending code\nso that betfore attempting to bundle the SACK we check\nto see if the DATA will actually be transmitted.\n\nBased on eirlier works for Doug Graham \u003cdgraham@nortel.com\u003e and\nWei Youngjun \u003cyjwei@cn.fujitsu.com\u003e.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "3e62abf92f34d75fe22352d8d102e3cd2755804d",
      "tree": "e8e175b95bdf137565a301e382d6f7c22e4a417e",
      "parents": [
        "bec9640bb0d451813b1bb1f2cc13a5bfb17c3e48"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Fix data segmentation with small frag_size\n\nSince an application may specify the maximum SCTP fragment size\nthat all data should be fragmented to, we need to fix how\nwe do segmentation.   Right now, if a user specifies a small\nfragment size, the segment size can go negative in the presence\nof AUTH or COOKIE_ECHO bundling.\n\nWhat we need to do is track the largest possbile DATA chunk that\ncan fit into the mtu.  Then if the fragment size specified is\nbigger then this maximum length, we\u0027ll shrink it down.  Otherwise,\nwe just use the smaller segment size without changing it further.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "bec9640bb0d451813b1bb1f2cc13a5bfb17c3e48",
      "tree": "8c44f18560570c7200eed1a92cd0d9fab6c2a4f2",
      "parents": [
        "af87b823ca2b05257192e8d48dc686db6173d7b2"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Jul 30 18:08:28 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Disallow new connection on a closing socket\n\nIf a socket has a lot of association that are in the process of\nof being closed/aborted, it is possible for a remote to establish\nnew associations during the time period that the old ones are shutting\ndown.  If this was a result of a close() call, there will be no socket\nand will cause a memory leak.  We\u0027ll prevent this by setting the\nsocket state to CLOSING and disallow new associations when in this state.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "af87b823ca2b05257192e8d48dc686db6173d7b2",
      "tree": "da1756a3917bf1b737c4854bb7acc579c1c187d5",
      "parents": [
        "b4e8c6a7e6caa9c80edcbfb78fc50962b792d5f0"
      ],
      "author": {
        "name": "Doug Graham",
        "email": "dgraham@nortel.com",
        "time": "Wed Jul 29 12:05:57 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:55 2009 -0400"
      },
      "message": "sctp: Fix piggybacked ACKs\n\nThis patch corrects the conditions under which a SACK will be piggybacked\non a DATA packet.  The previous condition was incorrect due to a\nmisinterpretation of RFC 4960 and/or RFC 2960.  Specifically, the\nfollowing paragraph from section 6.2 had not been implemented correctly:\n\n   Before an endpoint transmits a DATA chunk, if any received DATA\n   chunks have not been acknowledged (e.g., due to delayed ack), the\n   sender should create a SACK and bundle it with the outbound DATA\n   chunk, as long as the size of the final SCTP packet does not exceed\n   the current MTU.  See Section 6.2.\n\nWhen about to send a DATA chunk, the code now checks to see if the SACK\ntimer is running.  If it is, we know we have a SACK to send to the\npeer, so we append the SACK (assuming available space in the packet)\nand turn off the timer.  For a simple request-response scenario, this\nwill result in the SACK being bundled with the response, meaning the\nthe SACK is received quickly by the client, and also meaning that no\nseparate SACK packet needs to be sent by the server to acknowledge the\nrequest.  Prior to this patch, a separate SACK packet would have been\nsent by the server SCTP only after its delayed-ACK timer had expired\n(usually 200ms).  This is wasteful of bandwidth, and can also have a\nmajor negative impact on performance due the interaction of delayed ACKs\nwith the Nagle algorithm.\n\nSigned-off-by: Doug Graham \u003cdgraham@nortel.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b4e8c6a7e6caa9c80edcbfb78fc50962b792d5f0",
      "tree": "426cfc5240b6a1d6d49b4f504b359c2d2648a0fa",
      "parents": [
        "40187886bc31aee9c5c6f08f46cde4ab618e9736"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "rosenrami@gmail.com",
        "time": "Thu Jul 30 09:38:43 2009 +0300"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:55 2009 -0400"
      },
      "message": "sctp: remove unused union (sctp_cmsg_data_t) definition\n\nThis patch removes an unused union definition (sctp_cmsg_data_t)\nfrom include/net/sctp/user.h.\n\nSigned-off-by: Rami Rosen \u003crosenrami@gmail.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "40187886bc31aee9c5c6f08f46cde4ab618e9736",
      "tree": "93d569af329d9516ac2b586e808a6c2b8e3629e7",
      "parents": [
        "3cd9749c0b758223a71e059fa44c2234547d9ee0"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Jun 23 11:28:05 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:55 2009 -0400"
      },
      "message": "sctp: release cached route when the transport goes down.\n\nWhen the sctp transport is marked down, we can release the\ncached route and force a new lookup when attempting to use\nthis transport for anything.  This way, if a better route\nor source address is available, we\u0027ll try to use it.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "3cd9749c0b758223a71e059fa44c2234547d9ee0",
      "tree": "62f99f43c552621e3fbdc30aaf56583073058afd",
      "parents": [
        "44e65c1ef1e771b32c82546ebfba910137aa8871"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jun 16 10:07:23 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:55 2009 -0400"
      },
      "message": "sctp: update the route for non-active transports after addresses are added\n\nUpdate the route and saddr entries for the non-active transports as some\nof the added addresses can be used as better source addresses, or may\nbe there is a better route.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "44e65c1ef1e771b32c82546ebfba910137aa8871",
      "tree": "57065e871b6d61abee61ce97238e71420d7d98df",
      "parents": [
        "425e0f685230986511b1fdf80340e2f28b214c5d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jun 16 14:48:24 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:54 2009 -0400"
      },
      "message": "sctp: check the unrecognized ASCONF parameter before access it\n\nThis patch fix to check the unrecognized ASCONF parameter before\naccess it.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "425e0f685230986511b1fdf80340e2f28b214c5d",
      "tree": "1af69aff245f3930efdf39d08099a339f27305dd",
      "parents": [
        "8a34e2f8ba7d4302977c90e357921994a6c39af9"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jun 16 14:47:30 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:54 2009 -0400"
      },
      "message": "sctp: avoid overwrite the return value of sctp_process_asconf_ack()\n\nThe return value of sctp_process_asconf_ack() may be\noverwritten while process parameters with no error.\nThis patch fixed the problem.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "8a34e2f8ba7d4302977c90e357921994a6c39af9",
      "tree": "9d60b8926a7d33282b8da690a21e803a9147c436",
      "parents": [
        "2a6ba39ad6a277595ef9a0187a44f09e062dd3b2"
      ],
      "author": {
        "name": "Sachin Sant",
        "email": "sachinp@in.ibm.com",
        "time": "Fri Sep 04 03:41:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 03:41:07 2009 -0700"
      },
      "message": "net: Fix a build break because of a typo in drivers/net/3c503.c\n\nSigned-off-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a6ba39ad6a277595ef9a0187a44f09e062dd3b2",
      "tree": "e4036840743f2f618df8626815edd5a9ab2cd5b2",
      "parents": [
        "8935f57e68c40c6469efe03f996bfb6150e18c6b"
      ],
      "author": {
        "name": "Wolfgang Grandegger",
        "email": "wg@grandegger.com",
        "time": "Tue Sep 01 05:37:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 02:16:16 2009 -0700"
      },
      "message": "can: sja1000: legacy SJA1000 ISA bus driver\n\nThis patch adds support for legacy SJA1000 CAN controllers on the ISA\nor PC-104 bus. The I/O port or memory address and the IRQ number must\nbe specified via module parameters:\n\n  insmod sja1000_isa.ko port\u003d0x310,0x380 irq\u003d7,11\n\nfor ISA devices using I/O ports or:\n\n  insmod sja1000_isa.ko mem\u003d0xd1000,0xd1000 irq\u003d7,11\n\nfor memory mapped ISA devices.\n\nIndirect access via address and data port is supported as well:\n\n  insmod sja1000_isa.ko port\u003d0x310,0x380 indirect\u003d1 irq\u003d7,11\n\nHere is a full list of the supported module parameters:\n\n  port:I/O port number (array of ulong)\n  mem:I/O memory address (array of ulong)\n  indirect:Indirect access via address and data port (array of byte)\n  irq:IRQ number (array of int)\n  clk:External oscillator clock frequency (default\u003d16000000 [16 MHz])\n      (array of int)\n  cdr:Clock divider register (default\u003d0x48 [CDR_CBP | CDR_CLK_OFF])\n      (array of byte)\n  ocr:Output clock register (default\u003d0x18 [OCR_TX0_PUSHPULL])\n      (array of byte)\n\nNote: for clk, cdr, ocr, the first argument re-defines the default\nfor all other devices, e.g.:\n\n insmod sja1000_isa.ko mem\u003d0xd1000,0xd1000 irq\u003d7,11 clk\u003d24000000\n\nis equivalent to\n\n insmod sja1000_isa.ko mem\u003d0xd1000,0xd1000 irq\u003d7,11 \\\n                       clk\u003d24000000,24000000\n\nSigned-off-by: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nTested-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8935f57e68c40c6469efe03f996bfb6150e18c6b",
      "tree": "2e9467085839fff453d7760bf2623bb2a4a02117",
      "parents": [
        "39e3ab6fded4d7e66e01a878f0cae23ddd480c3b"
      ],
      "author": {
        "name": "Wolfgang Grandegger",
        "email": "wg@grandegger.com",
        "time": "Tue Sep 01 05:29:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 02:16:15 2009 -0700"
      },
      "message": "can: sja1000: fix network statistics update\n\nThe member \"tx_bytes\" of \"struct net_device_stats\" should be\nincremented when the interrupt is done and an \"arbitration\nlost error\" is a TX error and the statistics should be updated\naccordingly.\n\nSigned-off-by: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39e3ab6fded4d7e66e01a878f0cae23ddd480c3b",
      "tree": "44439df4436f965269f8f795cdf048290a202ed7",
      "parents": [
        "fab4e76373a614d3af624caedf18bee43fc6ca16"
      ],
      "author": {
        "name": "Wolfgang Grandegger",
        "email": "wg@grandegger.com",
        "time": "Tue Sep 01 05:26:12 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 02:16:14 2009 -0700"
      },
      "message": "can: add can_free_echo_skb() for upcoming drivers\n\nThis patch adds the function can_free_echo_skb to the CAN\ndevice interface to allow upcoming drivers to release echo\nskb\u0027s in case of error.\n\nSigned-off-by: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fab4e76373a614d3af624caedf18bee43fc6ca16",
      "tree": "9f9fc4922a60e1018009e65e9f72e7e51fb67fe1",
      "parents": [
        "a8fdf2b331b38d61fb5f11f3aec4a4f9fb2dedcb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 21:34:39 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 21:34:39 2009 -0700"
      },
      "message": "WAN: dscc4: Fix warning pointing out a bug.\n\nNoticed by Stephen Rothwell:\n\n\tToday\u0027s linux-next build (x86_64 allmodconfig gcc-4.4.0)\n\tproduced this warning:\n\n\tdrivers/net/wan/dscc4.c: In function \u0027dscc4_rx_skb\u0027:\n\tdrivers/net/wan/dscc4.c:670: warning: suggest parentheses around comparison in operand of \u0027|\u0027\n\n\twhich actually points out a bug, I think.  It is doing\n\t\t(x \u0026 (y | z)) !\u003d y | z\n\twhen it probably means\n\t\t(x \u0026 (y | z)) !\u003d (y | z)\n\n\tIntroduced by commit 5de3fcab91b0e1809eec030355d15801daf25083\n\t(\"WAN: bit and/or confusion\").\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8fdf2b331b38d61fb5f11f3aec4a4f9fb2dedcb",
      "tree": "7c5ae0e9b933a172b44a3cbeecb5374de66485ab",
      "parents": [
        "6fdfa97073a2bcbb60d900654c612b2ff09b9cb7"
      ],
      "author": {
        "name": "Cosmin Ratiu",
        "email": "cratiu@ixiacom.com",
        "time": "Thu Sep 03 20:44:38 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:44:38 2009 -0700"
      },
      "message": "ipv6: Fix tcp_v6_send_response(): it didn\u0027t set skb transport header\n\nHere is a patch which fixes an issue observed when using TCP over IPv6\nand AH from IPsec.\n\nWhen a connection gets closed the 4-way method and the last ACK from\nthe server gets dropped, the subsequent FINs from the client do not\nget ACKed because tcp_v6_send_response does not set the transport\nheader pointer. This causes ah6_output to try to allocate a lot of\nmemory, which typically fails, so the ACKs never make it out of the\nstack.\n\nI have reproduced the problem on kernel 2.6.7, but after looking at\nthe latest kernel it seems the problem is still there.\n\nSigned-off-by: Cosmin Ratiu \u003ccratiu@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fdfa97073a2bcbb60d900654c612b2ff09b9cb7",
      "tree": "3297813813e0a1a82664e13b52cbc79ecb36ae92",
      "parents": [
        "491598a44f12fe8b862ab4123de1a1ffe9b86832"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:02:45 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:25 2009 -0700"
      },
      "message": "enic: organize device initialization/deinit into separate functions\n\nTo unclutter probe() a little bit, put all device initialization code\nin one spot and device deinit code in another spot.  Also remove unused\nrq-\u003ebuf_index variable/func.\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "491598a44f12fe8b862ab4123de1a1ffe9b86832",
      "tree": "2e985af4658cfc8a59132c0082817f94a8635438",
      "parents": [
        "d73149f51e165f5872bc431ae181650396145265"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:02:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:24 2009 -0700"
      },
      "message": "enic: bug fix: check for zero port MTU before posting warning\n\nNic firmware can return zero for port MTU, so check for non-zero value\nbefore checking for change in port MTU.\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d73149f51e165f5872bc431ae181650396145265",
      "tree": "f737b65590919989546fdea996e76407e67b14d8",
      "parents": [
        "9f63a7c6aef00a8eafa7521342099f199f68c575"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:02:35 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:23 2009 -0700"
      },
      "message": "enic: changes to driver/firmware interface\n\nDeprecate some old APIa; change arguments to stats dump all API; add new\ninterrupt assert API\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f63a7c6aef00a8eafa7521342099f199f68c575",
      "tree": "7c4b14d3faee0582c7924d1b96bffa304c024767",
      "parents": [
        "6ba9cdc09678d6925c205ef0b0bd374e31589ecf"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:02:29 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:19 2009 -0700"
      },
      "message": "enic: bug fix: enable VLAN filtering\n\nBug fix: enable VLAN filtering\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ba9cdc09678d6925c205ef0b0bd374e31589ecf",
      "tree": "cff6128e997b6945d77ad47dab3a23bc8de8a56a",
      "parents": [
        "350991e12ac1ac407850169a0d65f522a7fd029e"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:02:24 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:19 2009 -0700"
      },
      "message": "enic: provision for multiple Rx/Tx queues; prepare for RSS support\n\nProvision for multiple Rx/Tx queues.  Max of 8 WQs and 8 RQs.  Max for\ncompletion queue is 8+8\u003d16 and max for interrupt resources is 8+8+2.\n\nAdd driver/firmware interface for setting up RSS secret key and indirection\ntable.\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "350991e12ac1ac407850169a0d65f522a7fd029e",
      "tree": "68a3553d8de4cc55173dd15e392f42616ca19d8f",
      "parents": [
        "56ac88b38e5918d92bdfc97c528068e45ff4581c"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:02:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:18 2009 -0700"
      },
      "message": "enic: bug fix: included MAC drops in rx_dropped netstat\n\nBug fix: included MAC drops in rx_dropped netstat.  Also track Rx trunctations\nstat at the MAC\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56ac88b38e5918d92bdfc97c528068e45ff4581c",
      "tree": "9a087772b5f76379b812bd93feeda44374970ae2",
      "parents": [
        "d19e22dc2c1c43724c1d9ce4a5456ae74eeb6da8"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:02:14 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:17 2009 -0700"
      },
      "message": "enic: bug fix: protect fw call i/f with spinlock\n\nSome driver -\u003e nic firmware calls weren\u0027t guarded with a spinlock, exposing\nthe call i/f to a race between two threads\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d19e22dc2c1c43724c1d9ce4a5456ae74eeb6da8",
      "tree": "4dec2301d6ca6d17ea3a4c6864d0d660825a964a",
      "parents": [
        "ea0d7d9181b0831f1b570b02fa02a15f25520c12"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:02:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:12 2009 -0700"
      },
      "message": "enic: use netdev_alloc_skb\n\nUse netdev_alloc_skb rather than dev_alloc_skb\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea0d7d9181b0831f1b570b02fa02a15f25520c12",
      "tree": "8ec141dc43dd2a8999a3dd69231854e90e11f309",
      "parents": [
        "4badc385d1a9e140ad0992537237fc22211adad0"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:02:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:11 2009 -0700"
      },
      "message": "enic: bug fix: split TSO fragments larger than 16K into multiple descs\n\nenic WQ desc supports a maximum 16K buf size, so split any send fragments\nlarger than 16K into several descs.\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4badc385d1a9e140ad0992537237fc22211adad0",
      "tree": "5edf87f3240b4ad5c999e025c47d379f09f91296",
      "parents": [
        "27e6c7d33835e7f347cdfb5025766b7d9a6596d1"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:01:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:10 2009 -0700"
      },
      "message": "enic: workaround A0 erratum\n\nA0 revision ASIC has an erratum on the RQ desc cache on chip where the\ncache can become corrupted causing pkt buf writes to wrong locations.  The s/w\nworkaround is to post a dummy RQ desc in the ring every 32 descs, causing a\nflush of the cache.  A0 parts are not production, but there are enough of\nthese parts in the wild in test setups to warrant including workaround.  A1\nrevision ASIC parts fix erratum.\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27e6c7d33835e7f347cdfb5025766b7d9a6596d1",
      "tree": "70ba8cc0b46da5e7035d2bd230869d5d716c9e9b",
      "parents": [
        "1a123a3168566b10f87f228ae963770b26f27420"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Sep 03 17:01:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:19:09 2009 -0700"
      },
      "message": "enic: add support for multiple BARs\n\nNic firmware can place resources (queues, intrs, etc) on multiple BARs, so\nallow driver to discover/map resources beyond BAR0.\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a123a3168566b10f87f228ae963770b26f27420",
      "tree": "cebf893e0ae4de5ee5077b69002f41d8f61d45f9",
      "parents": [
        "2c11455321f37da6fe6cc36353149f9ac9183334"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 00:39:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:17 2009 -0700"
      },
      "message": "vlan: adds drops accounting\n\nIts hard to tell if vlans are dropping frames, since\nevery frame given to vlan_???_start_xmit() functions\nis accounted as fully transmitted by lower device.\n\nWe can test dev_queue_xmit() return values to\nproperly account for dropped frames.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c11455321f37da6fe6cc36353149f9ac9183334",
      "tree": "8033ca6f3cc54780074c7d2a734ee3c62fec3ca3",
      "parents": [
        "0fa0ee053aaa53939306376719450cfe56e33e3b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 00:11:45 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:13 2009 -0700"
      },
      "message": "macvlan: add multiqueue capability\n\nmacvlan devices are currently not multi-queue capable.\n\nWe can do that defining rtnl_link_ops method,\nget_tx_queues(), called from rtnl_create_link()\n\nThis new method gets num_tx_queues/real_num_tx_queues\nfrom lower device.\n\nmacvlan_get_tx_queues() is a copy of vlan_get_tx_queues().\n\nBecause macvlan_start_xmit() has to update netdev_queue\nstats only (and not dev-\u003estats), I chose to change\ntx_errors/tx_aborted_errors accounting to tx_dropped,\nsince netdev_queue structure doesnt define tx_errors /\ntx_aborted_errors.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fa0ee053aaa53939306376719450cfe56e33e3b",
      "tree": "dcfa68400c09f079f260d1df9db2e47e4be2f2ea",
      "parents": [
        "7ab0f2736bfe137a82a7084bbfb5f809da95cabd"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Sep 03 10:41:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:12 2009 -0700"
      },
      "message": "netdev: Convert MDIO ioctl implementation to use struct mii_ioctl_data\n\nA few drivers still access the arguments to MDIO ioctls as an array of\nu16.  Convert them to use struct mii_ioctl_data.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ab0f2736bfe137a82a7084bbfb5f809da95cabd",
      "tree": "e305ec96eceebb285efee4b6fd307822ab257fe6",
      "parents": [
        "aae5e7c30fc660c50dfecbdd745799b05af90f01"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Sep 03 10:39:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:11 2009 -0700"
      },
      "message": "netdev: Remove redundant checks for CAP_NET_ADMIN in MDIO implementations\n\ndev_ioctl() already checks capable(CAP_NET_ADMIN) before calling the\ndriver\u0027s implementation of MDIO ioctls.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aae5e7c30fc660c50dfecbdd745799b05af90f01",
      "tree": "f8bf4c313358206189afafc0a8fb9e544a940519",
      "parents": [
        "c23ddf8f22fc2c871ce476ff917d1208bbe4f3de"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Sep 03 10:38:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:09 2009 -0700"
      },
      "message": "netdev: Remove SIOCDEVPRIVATE aliases for MDIO ioctls\n\nThe standard MDIO ioctl numbers are well-established and these should\nno longer be needed.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c23ddf8f22fc2c871ce476ff917d1208bbe4f3de",
      "tree": "5e329365a45b15c80456f49f57c48f1edbfdea2e",
      "parents": [
        "cf503e8f458cec455b18d3938b3b27de6db3105e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Sep 03 06:16:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:05 2009 -0700"
      },
      "message": "sky2: only enable Vaux if capable of wakeup\n\nWhile perusing vendor driver, I saw that it did not enable the Vaux\npower unless device was able to wake from lan for D3cold.\nThis might help for Rene\u0027s power issue.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf503e8f458cec455b18d3938b3b27de6db3105e",
      "tree": "1a74f7741be82cd6ded3371ee794f80f749e1a86",
      "parents": [
        "270e57e133a9e61c8c62ea4a0d1ffdf53f91caf1"
      ],
      "author": {
        "name": "Dhananjay Phadke",
        "email": "dhananjay@netxen.com",
        "time": "Thu Sep 03 13:10:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:04 2009 -0700"
      },
      "message": "netxen: fix infinite loop on dma mapping failure\n\nFix a perpetual while() loop in unwinding partial\nmapped tx skb on dma mapping failure.\n\nReported-by: \"Juha Leppanen\" \u003cjuha_motorsportcom@luukku.com\u003e\nSigned-off-by: Dhananjay Phadke \u003cdhananjay@netxen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "270e57e133a9e61c8c62ea4a0d1ffdf53f91caf1",
      "tree": "a93b7dd4bdc0e8d61ccdbcf41e1001150d5ba846",
      "parents": [
        "bc75e5bfad2a6d24fc5a9885a2f6b93f82c6c5f1"
      ],
      "author": {
        "name": "Dhananjay Phadke",
        "email": "dhananjay@netxen.com",
        "time": "Thu Sep 03 13:10:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:01 2009 -0700"
      },
      "message": "netxen: remove duplicate napi_add\n\nRemove duplicate calls to netxen_napi_add().\n\nSigned-off-by: Dhananjay Phadke \u003cdhananjay@netxen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc75e5bfad2a6d24fc5a9885a2f6b93f82c6c5f1",
      "tree": "52c4b697f034607cc6cc3b8505a26819cffc572e",
      "parents": [
        "d4ab88194e982a0d213000a75475d3e76b2626f0"
      ],
      "author": {
        "name": "Dhananjay Phadke",
        "email": "dhananjay@qlogic.com",
        "time": "Thu Sep 03 13:10:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:01:56 2009 -0700"
      },
      "message": "netxen: fix lro buffer allocation\n\nAlloc 12k skbuffs so that firmware can aggregate more\npackets into one buffer. This doesn\u0027t raise memory\nconsumption since 9k skbs use 16k slab cache anyway.\n\nSigned-off-by: Dhananjay Phadke \u003cdhananjay@netxen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4ab88194e982a0d213000a75475d3e76b2626f0",
      "tree": "2162d445cdef36604106c92de5c3e8dc93cf739d",
      "parents": [
        "09ad1cc099f4ba4735d11ce1c5f024ffc521be3b"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Sep 03 14:56:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:01:55 2009 -0700"
      },
      "message": "ixgbe: Add support for using FCoE DDP in 82599 as FCoE targets\n\nThe FCoE DDP in 82599 can be used for both FCoE initiator as well as FCoE\ntarget, depending on the indication of the exchange being the responder or\noriginator in the F_CTL (frame control) field in the encapsulated Fiber\nChannel frame header (T10 Spec., FC-FS). For the initiator, OX_ID is used\nfor FCoE DDP, where for the target RX_ID is used for FCoE DDP.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09ad1cc099f4ba4735d11ce1c5f024ffc521be3b",
      "tree": "eec3363dfe538be591f23ad4e4180dc49db477ab",
      "parents": [
        "8de8b2e63490fe7e90128299983198d09d1679c9"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Sep 03 14:56:10 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:01:53 2009 -0700"
      },
      "message": "ixgbe: Distribute transmission of FCoE traffic in 82599\n\nThis adds a simple selection of a FCoE tx queue based on the current cpu id to\ndistribute transmission of FCoE traffic evenly among multiple FCoE transmit\nqueues.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8de8b2e63490fe7e90128299983198d09d1679c9",
      "tree": "480782ed477329516f583a08d3ce6dd0eac21d01",
      "parents": [
        "ae641bdc264a5998b7872622c86f0690a5b1c5b5"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Sep 03 14:55:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:01:51 2009 -0700"
      },
      "message": "ixgbe: Add support for multiple Tx queues for FCoE in 82599\n\nThis patch adds support for multiple transmit queues to the Fiber Channel\nover Ethernet (FCoE) feature found in 82599. Currently, FCoE has multiple\nRx queues available, along with a redirection table, that helps distribute\nthe I/O load across multiple CPUs based on the FC exchange ID. To make\nthis the most effective, we need to provide the same layout of transmit\nqueues to match receive.\n\nParticularly, when Data Center Bridging (DCB) is enabled, the designated\ntraffic class for FCoE can have dedicated queues for just FCoE traffic,\nwhile not affecting any other type of traffic flow.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae641bdc264a5998b7872622c86f0690a5b1c5b5",
      "tree": "520f54058247dbb0ccd368b7ee45888e67b3c684",
      "parents": [
        "2dfd12126573d6feb12f1d215a352851750fcbd7"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Sep 03 14:49:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:01:50 2009 -0700"
      },
      "message": "igb: set vf rlpml wasn\u0027t taking vlan tag into account\n\nThis patch updates things so that vlan tags are taken into account when\nsetting the receive large packet maximum length.  This allows the VF driver\nto correctly receive full sized frames when vlans are enabled.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2dfd12126573d6feb12f1d215a352851750fcbd7",
      "tree": "d94258fba677d18f8556a926eabefc7c05a524a8",
      "parents": [
        "ff41f8dcc63b4d027ed314ae909df53746c40632"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Sep 03 14:49:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:01:47 2009 -0700"
      },
      "message": "igb: only disable/enable interrupt bits for igb physical function\n\nThe igb_irq_disable/enable calls were causing virtual functions associated\nwith the igb physical function to have their interrupts disabled.  In order\nto prevent this from occuring we should only clear/set the bits related to\nthe physical function.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff41f8dcc63b4d027ed314ae909df53746c40632",
      "tree": "f3465a5e04b48150fad1b4b24eff51e7772f2bef",
      "parents": [
        "55f9d6786de2f9cf37db50dbe8ae16f887f3ad7f"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Sep 03 14:48:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:01:45 2009 -0700"
      },
      "message": "igb: add support for set_rx_mode netdevice operation\n\nThis patch adds support for the set_rx_mode netdevice operation so that igb\ncan better support multiple unicast addresses.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55f9d6786de2f9cf37db50dbe8ae16f887f3ad7f",
      "tree": "7ae3ed422ac14b5674c4ca96609135523f6a0d87",
      "parents": [
        "2f8bc32b7a08502a79e0ccec8697000f2977f2fd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 05:17:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 05:17:20 2009 -0700"
      },
      "message": "net: Remove debugging code\n\nRemove a debugging aid I accidently left in previous \u0027cleanup\u0027 patch\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f8bc32b7a08502a79e0ccec8697000f2977f2fd",
      "tree": "c08fc64bc8b7cfe5b71d832ca9854f2dc21e6991",
      "parents": [
        "d1b19dff9159bb88fe839c30a7c071faf4761933"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 02:19:58 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 02:19:58 2009 -0700"
      },
      "message": "vlan: enable multiqueue xmits\n\nvlan_dev_hard_start_xmit() \u0026 vlan_dev_hwaccel_hard_start_xmit()\nselect txqueue number 0, instead of using index provided by\nskb_get_queue_mapping().\n\nThis is not correct after commit 2e59af3dcbdf11635c03f\n[vlan: multiqueue vlan device] because\ntxq-\u003etx_packets  \u0026 txq-\u003etx_bytes changes are performed on\na single location, and not the right locking.\n\nFix is to take the appropriate struct netdev_queue pointer\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "d1b19dff9159bb88fe839c30a7c071faf4761933",
      "tree": "647b5a9186e5339b1160d7694ffefc76b140bfa3",
      "parents": [
        "137742cf9738f1b4784058ff79aec7ca85e769d4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 01:29:39 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 01:29:39 2009 -0700"
      },
      "message": "net: net/core/dev.c cleanups\n\nPure style cleanup patch before surgery :)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "137742cf9738f1b4784058ff79aec7ca85e769d4",
      "tree": "1b2424c5d0efe674c8a93f09451b281f0ada3ec6",
      "parents": [
        "81538e74ca12a71ea37ce72f809ebc65a90b9538"
      ],
      "author": {
        "name": "Karl Hiramoto",
        "email": "karl@hiramoto.org",
        "time": "Wed Sep 02 23:26:39 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:46:10 2009 -0700"
      },
      "message": "atm/br2684: netif_stop_queue() when atm device busy and netif_wake_queue() when we can send packets again.\n\nThis patch removes the call to dev_kfree_skb() when the atm device is busy.\nCalling dev_kfree_skb() causes heavy packet loss then the device is under\nheavy load, the more correct behavior should be to stop the upper layers,\nthen when the lower device can queue packets again wake the upper layers.\n\nSigned-off-by: Karl Hiramoto \u003ckarl@hiramoto.org\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81538e74ca12a71ea37ce72f809ebc65a90b9538",
      "tree": "5c390159ef7d0605f6b8e65fa0b77661af77ede1",
      "parents": [
        "84177a20799072c65a69b62571660d4d9780823c"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Sep 01 23:14:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:46:06 2009 -0700"
      },
      "message": "fec: don\u0027t enable irqs in hard irq context\n\nfec_enet_mii, fec_enet_rx and fec_enet_tx are both only called by\nfec_enet_interrupt in interrupt context.  So they must not use\nspin_lock_irq/spin_unlock_irq.\n\nThis fixes:\n\tWARNING: at kernel/lockdep.c:2140 trace_hardirqs_on_caller+0x130/0x194()\n\t...\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nCc: Matt Waddel \u003cMatt.Waddel@freescale.com\u003e\nCc: netdev@vger.kernel.org\nCc: Tim Sander \u003ctim01@vlsi.informatik.tu-darmstadt.de\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84177a20799072c65a69b62571660d4d9780823c",
      "tree": "2655c26b0601acf13509d25670d3924ae051449c",
      "parents": [
        "3eb0027594e25f5947f074ae53fea30c15c5a7f6"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Sep 01 23:14:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:46:03 2009 -0700"
      },
      "message": "fec: fix recursive locking of mii_lock\n\nmii_discover_phy is only called by fec_enet_mii (via mip-\u003emii_func).  So\n\u0026fep-\u003emii_lock is already held and mii_discover_phy must not call\nmii_queue which locks \u0026fep-\u003emii_lock, too.\n\nThis was noticed by lockdep:\n\n\t\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\t[ INFO: possible recursive locking detected ]\n\t2.6.31-rc8-00038-g37d0892 #109\n\t---------------------------------------------\n\tswapper/1 is trying to acquire lock:\n\t (\u0026fep-\u003emii_lock){-.....}, at: [\u003cc01569f8\u003e] mii_queue+0x2c/0xcc\n\n\tbut task is already holding lock:\n\t (\u0026fep-\u003emii_lock){-.....}, at: [\u003cc0156328\u003e] fec_enet_interrupt+0x78/0x460\n\n\tother info that might help us debug this:\n\t2 locks held by swapper/1:\n\t #0:  (rtnl_mutex){+.+.+.}, at: [\u003cc0183534\u003e] rtnl_lock+0x18/0x20\n\t #1:  (\u0026fep-\u003emii_lock){-.....}, at: [\u003cc0156328\u003e] fec_enet_interrupt+0x78/0x460\n\n\tstack backtrace:\n\tBacktrace:\n\t[\u003cc00226fc\u003e] (dump_backtrace+0x0/0x108) from [\u003cc01eac14\u003e] (dump_stack+0x18/0x1c)\n\t r6:c781d118 r5:c03e41d8 r4:00000001\n\t[\u003cc01eabfc\u003e] (dump_stack+0x0/0x1c) from [\u003cc005bae4\u003e] (__lock_acquire+0x1a20/0x1a88)\n\t[\u003cc005a0c4\u003e] (__lock_acquire+0x0/0x1a88) from [\u003cc005bbac\u003e] (lock_acquire+0x60/0x74)\n\t[\u003cc005bb4c\u003e] (lock_acquire+0x0/0x74) from [\u003cc01edda8\u003e] (_spin_lock_irqsave+0x54/0x68)\n\t r7:60000093 r6:c01569f8 r5:c785e468 r4:00000000\n\t[\u003cc01edd54\u003e] (_spin_lock_irqsave+0x0/0x68) from [\u003cc01569f8\u003e] (mii_queue+0x2c/0xcc)\n\t r7:c785e468 r6:c0156b24 r5:600a0000 r4:c785e000\n\t[\u003cc01569cc\u003e] (mii_queue+0x0/0xcc) from [\u003cc0156b78\u003e] (mii_discover_phy+0x54/0xa8)\n\t r8:00000002 r7:00000032 r6:c785e000 r5:c785e360 r4:c785e000\n\t[\u003cc0156b24\u003e] (mii_discover_phy+0x0/0xa8) from [\u003cc0156354\u003e] (fec_enet_interrupt+0xa4/0x460)\n\t r5:c785e360 r4:c077a170\n\t[\u003cc01562b0\u003e] (fec_enet_interrupt+0x0/0x460) from [\u003cc0066674\u003e] (handle_IRQ_event+0x48/0x120)\n\t[\u003cc006662c\u003e] (handle_IRQ_event+0x0/0x120) from [\u003cc0068438\u003e] (handle_level_irq+0x94/0x11c)\n\t...\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nCc: Matt Waddel \u003cMatt.Waddel@freescale.com\u003e\nCc: netdev@vger.kernel.org\nCc: Tim Sander \u003ctim01@vlsi.informatik.tu-darmstadt.de\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3eb0027594e25f5947f074ae53fea30c15c5a7f6",
      "tree": "44c996526d1957051f35889ee0eb5f560311da6f",
      "parents": [
        "ab08999d6029bb2c79c16be5405d63d2bedbdfea"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Sep 02 23:09:29 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:45:58 2009 -0700"
      },
      "message": "NET: Fix possible corruption in bpqether driver\n\nThe bpq ether driver is modifying the data art of the skb by first\ndropping the KISS byte (a command byte for the radio) then prepending the\nlength + 4 of the remaining AX.25 packet to be transmitted as a little\nendian 16-bit number.  If the high byte of the length has a different\nvalue than the dropped KISS byte users of clones of the skb may observe\nthis as corruption.  This was observed with by running listen(8) -a which\nuses a packet socket which clones transmit packets.  The corruption will\nthen typically be displayed for as a KISS \"TX Delay\" command for AX.25\npackets in the range of 252..508 bytes or any other KISS command for\nyet larger packets.\n\nFixed by using skb_cow to create a private copy should the skb be cloned.\nUsing skb_cow also allows us to cleanup the old logic to ensure sufficient\nheadroom in the skb.\n\nWhile at it, replace a return of 0 from bpq_xmit with the proper constant\nNETDEV_TX_OK which is now being used everywhere else in this function.\n\nAffected: all 2.2, 2.4 and 2.6 kernels.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nReported-by: Jann Traschewski \u003cjann@gmx.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab08999d6029bb2c79c16be5405d63d2bedbdfea",
      "tree": "f2269b6e55119a582e8791434a5ac63b49af6e27",
      "parents": [
        "aa1330766c49199bdab4d4a9096d98b072df9044"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Sep 01 06:24:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:45:54 2009 -0700"
      },
      "message": "WARNING: some request_irq() failures ignored in el2_open()\n\nRequest_irq() may fail in different ways, handle accordingly.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa1330766c49199bdab4d4a9096d98b072df9044",
      "tree": "98787478dbef0faa7caee09c4996abcda723a608",
      "parents": [
        "05c6a8d7a7d778f26d8eb821556988993b766092"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 02 23:45:45 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:45:45 2009 -0700"
      },
      "message": "tcp: replace hard coded GFP_KERNEL with sk_allocation\n\nThis fixed a lockdep warning which appeared when doing stress\nmemory tests over NFS:\n\n\tinconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n\n\tpage reclaim \u003d\u003e nfs_writepage \u003d\u003e tcp_sendmsg \u003d\u003e lock sk_lock\n\n\tmount_root \u003d\u003e nfs_root_data \u003d\u003e tcp_close \u003d\u003e lock sk_lock \u003d\u003e\n\t\t\ttcp_send_fin \u003d\u003e alloc_skb_fclone \u003d\u003e page reclaim\n\nDavid raised a concern that if the allocation fails in tcp_send_fin(), and it\u0027s\nGFP_ATOMIC, we are going to yield() (which sleeps) and loop endlessly waiting\nfor the allocation to succeed.\n\nBut fact is, the original GFP_KERNEL also sleeps. GFP_ATOMIC+yield() looks\nweird, but it is no worse the implicit sleep inside GFP_KERNEL. Both could\nloop endlessly under memory pressure.\n\nCC: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05c6a8d7a7d778f26d8eb821556988993b766092",
      "tree": "ff76707c7433b2931a66d209d09e01325fc75274",
      "parents": [
        "451f14439847db302e5104c44458b2dbb4b1829d"
      ],
      "author": {
        "name": "Ajit Khaparde",
        "email": "ajitk@serverengines.com",
        "time": "Wed Sep 02 17:02:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:07:39 2009 -0700"
      },
      "message": "net/ethtool: Add support for the ethtool feature to flash firmware image from a specified file.\n\nThis patch adds support to flash a firmware image to a device using ethtool.\nThe driver gets the filename of the firmware image and flashes the image\nusing the request firmware path.\n\nThe region \"on the chip\" to be flashed can be specified by an option.\nIt is upto the device driver to enumerate the region number passed by ethtool,\nto the region to be flashed.\n\nThe default behavior is to flash all the regions on the chip.\n\nSigned-off-by: Ajit Khaparde \u003cajitk@serverengines.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "451f14439847db302e5104c44458b2dbb4b1829d",
      "tree": "697046c4438806c37c5b0835dc71b7fdd35b8a92",
      "parents": [
        "6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 31 06:34:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:07:36 2009 -0700"
      },
      "message": "drivers: Kill now superfluous -\u003elast_rx stores\n\nThe generic packet receive code takes care of setting\nnetdev-\u003elast_rx when necessary, for the sake of the\nbonding ARP monitor.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Neil Horman \u003cnhorman@txudriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e",
      "tree": "d7228b3ea7000bc29b959556d8cb264b12365586",
      "parents": [
        "2e59af3dcbdf11635c03f22bfc9706744465d589"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 02 18:05:33 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 18:05:33 2009 -0700"
      },
      "message": "ip: Report qdisc packet drops\n\nChristoph Lameter pointed out that packet drops at qdisc level where not\naccounted in SNMP counters. Only if application sets IP_RECVERR, drops\nare reported to user (-ENOBUFS errors) and SNMP counters updated.\n\nIP_RECVERR is used to enable extended reliable error message passing,\nbut these are not needed to update system wide SNMP stats.\n\nThis patch changes things a bit to allow SNMP counters to be updated,\nregardless of IP_RECVERR being set or not on the socket.\n\nExample after an UDP tx flood\n# netstat -s \n...\nIP:\n    1487048 outgoing packets dropped\n...\nUdp:\n...\n    SndbufErrors: 1487048\n\n\nsend() syscalls, do however still return an OK status, to not\nbreak applications.\n\nNote : send() manual page explicitly says for -ENOBUFS error :\n\n \"The output queue for a network interface was full.\n  This generally indicates that the interface has stopped sending,\n  but may be caused by transient congestion.\n  (Normally, this does not occur in Linux. Packets are just silently\n  dropped when a device queue overflows.) \"\n\nThis is not true for IP_RECVERR enabled sockets : a send() syscall\nthat hit a qdisc drop returns an ENOBUFS error.\n\nMany thanks to Christoph, David, and last but not least, Alexey !\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e59af3dcbdf11635c03f22bfc9706744465d589",
      "tree": "c01e87c0ef6568bae987f4628a8656ba0d05aa23",
      "parents": [
        "5848cc096a23b80b3d15c27d72299f79caf7c517"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 02 18:03:00 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 18:03:00 2009 -0700"
      },
      "message": "vlan: multiqueue vlan device\n\nvlan devices are currently not multi-queue capable.\n\nWe can do that with a new rtnl_link_ops method,\nget_tx_queues(), called from rtnl_create_link()\n\nThis new method gets num_tx_queues/real_num_tx_queues\nfrom real device.\n\nregister_vlan_device() is also handled.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "5848cc096a23b80b3d15c27d72299f79caf7c517"
}
