)]}'
{
  "log": [
    {
      "commit": "fc77dc3cc15144bbaf18203e9ef7a3e1beedfc3f",
      "tree": "a37368f47699db69cae50da83d8fdcdd05c15b8b",
      "parents": [
        "5b7da51547cc3ab5461e45a8ee0ca73051416fda"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Nov 16 19:26:51 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:51 2010 -0800"
      },
      "message": "ixgbe: add a netdev pointer to the ring structure\n\nThis change places a netdev pointer directly into the ring structure. This\nway we can avoid having to determine which netdev we are supposed to be\nusing and can just access the one on the ring directly.\nAs a result of this change further collapse of the code is possible by\ndropping the adapter from ixgbe_alloc_rx_buffers, and the netdev pointer\nfrom ixgbe_xmit_frame_ring_adv and ixgbe_maybe_stop_tx.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "5b7da51547cc3ab5461e45a8ee0ca73051416fda",
      "tree": "bb50d8e80412310a4adec5765f53d94909ac6f30",
      "parents": [
        "b6ec895ecd32c0070c3b2b17918c030275cd834d"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Nov 16 19:26:50 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:50 2010 -0800"
      },
      "message": "ixgbe: combine some stats into a union to allow for Tx/Rx stats overlap\n\nThis change moved some of the RX and TX stats into separate structures and\nthem placed those structures in a union in order to help reduce the size of\nthe ring structure.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "b6ec895ecd32c0070c3b2b17918c030275cd834d",
      "tree": "cf21df02228b0b8ef9296abb6b465f36bf142474",
      "parents": [
        "84ea2591e4a24775c2735511a1cc3cf88edd249d"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Nov 16 19:26:49 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:49 2010 -0800"
      },
      "message": "ixgbe: move device pointer into the ring structure\n\nThis change is meant to simplify DMA map/unmap by providing a device\npointer. As a result the adapter pointer can be dropped from many of\nthe calls.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "84ea2591e4a24775c2735511a1cc3cf88edd249d",
      "tree": "f2189b6c1a5437639291eab40a34034e6f7f6c8f",
      "parents": [
        "d5f398ed73522b9f76861af6553775c5851de0d0"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Nov 16 19:26:49 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:49 2010 -0800"
      },
      "message": "ixgbe: drop ring-\u003ehead, make ring-\u003etail a pointer instead of offset\n\nThis change drops ring-\u003ehead since it is not used in any hot-path and can\neasily be determined using IXGBE_[RT]DH(ring-\u003ereg_idx).\n\nIt also changes ring-\u003etail into a true pointer so we can avoid unnecessary\npointer math to find the location of the tail.\n\nIn addition I also dropped the setting of head and tail in\nixgbe_clean_[rx|tx]_ring. The only location that should be setting the head\nand tail values is ixgbe_configure_[rx|tx]_ring and that is only while the\nqueue is disabled.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "d5f398ed73522b9f76861af6553775c5851de0d0",
      "tree": "63bc695c221d15332c4ff9ec69f2a6e66c903563",
      "parents": [
        "8ad494b0e59950e2b4e587c32cb67a2452795ea0"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Nov 16 19:26:48 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:48 2010 -0800"
      },
      "message": "ixgbe: cleanup ixgbe_alloc_rx_buffers\n\nThis change re-orders alloc_rx_buffers to make better use of the packet\nsplit enabled flag.  The new setup should require less branching in the\ncode since now we are down to fewer if statements since we either are\nhandling packet split or aren\u0027t.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "8ad494b0e59950e2b4e587c32cb67a2452795ea0",
      "tree": "0a02398ca7563ef478a9ca8fde519daa86522c82",
      "parents": [
        "4c0ec6544a0cd5e3eed08df2c14cf98185098abe"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Nov 16 19:26:47 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:47 2010 -0800"
      },
      "message": "ixgbe: move GSO segments and byte count processing into ixgbe_tx_map\n\nThis change simplifies the work being done by the TX interrupt handler and\npushes it into the tx_map call. This allows for fewer cache misses since\nthe TX cleanup now accesses almost none of the skb members.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "4c0ec6544a0cd5e3eed08df2c14cf98185098abe",
      "tree": "99893da288768e081377facdec4614a80a9788fc",
      "parents": [
        "80ab193dce048e7b7afa43c99e69f508167e29ab"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Nov 16 19:26:46 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:46 2010 -0800"
      },
      "message": "ixgbe: remove unnecessary re-init of adapter on Rx-csum change\n\nThere is no need to reset the adapter when changing the Rx checksum\nsettings. Since the only change is a software flag we can disable it\nwithout needing to reset the entire adapter.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "80ab193dce048e7b7afa43c99e69f508167e29ab",
      "tree": "c51e4b013ba3d2b003ec23a9e0be8d3f7c9a764c",
      "parents": [
        "16b61beb39f2446460f93c08d4d263dc24f22dd8"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Tue Nov 16 19:26:45 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:45 2010 -0800"
      },
      "message": "ixgbe: DCB: credit max only needs to be gt TSO size for 82598\n\nThe maximum credits per traffic class only needs to be greater\nthen the TSO size for 82598 devices. The 82599 devices do not\nhave this requirement so only do this test for 82598 devices.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "16b61beb39f2446460f93c08d4d263dc24f22dd8",
      "tree": "3901c6f9d786c934f971cffb65dc4fb8577044c8",
      "parents": [
        "66c87bd50ddae681ebedfda0d75e6e73ecd29ce7"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Tue Nov 16 19:26:44 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:44 2010 -0800"
      },
      "message": "ixgbe: DCB set PFC high and low water marks per data sheet specs\n\nCurrently the high and low water marks for PFC are being set\nconservatively for jumbo frames. This means the RX buffers\nare being underutilized in the default 1500 MTU. This patch\nfixes this so that the water marks are set as described in\nthe data sheet considering the MTU size.\n\nThe equation used is,\n\nRTT * 1.44 + MTU * 1.44 + MTU\n\nWhere RTT is the round trip time and MTU is the max frame size\nin KB. To avoid floating point arithmetic FC_HIGH_WATER is\ndefined\n\n((((RTT + MTU) * 144) + 99) / 100) + MTU\n\nThis changes how the hardware field fc.low_water and\nfc.high_water are used. With this change they are no longer\nstoring the actual low water and high water markers but are\nstoring the required head room in the buffer. This simplifies\nthe logic and we do not need to account for the size of the\nbuffer when setting the thresholds.\n\nTesting with iperf and 16 threads showed a slight uptick in\nthroughput over a single traffic class .1-.2Gbps and a reduction\nin pause frames. Without the patch a 30 second run would show\n~10-15 pause frames being transmitted with the patch ~2-5 are\nseen. Test were run back to back with 82599.\n\nNote RXPBSIZE is in KB and low and high water marks fields are\nalso in KB. However the FCRT* registers are 32B granularity and\nright shifted 5 into the register,\n\n(((rx_pbsize - water_mark) * 1024) / 32) \u003c\u003c 5\n\nis the most explicit conversion here we simplify\n\n(rx_pbsize - water_mark) * 32 \u003c\u003c 5 \u003d (rx_pbsize - water_mark) \u003c\u003c 10\n\nThis patch updates the PFC thresholds and legacy FC thresholds.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "66c87bd50ddae681ebedfda0d75e6e73ecd29ce7",
      "tree": "ab96d92f3a8c104acf69cc0835232cc3bf26b7d6",
      "parents": [
        "1a51502bddca7ac1e921d918b741ffd2bec149ed"
      ],
      "author": {
        "name": "Greg Rose",
        "email": "gregory.v.rose@intel.com",
        "time": "Tue Nov 16 19:26:43 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:43 2010 -0800"
      },
      "message": "ixgbevf: Update Version String and Copyright Notice\n\nUpdate version string and copyright notice.\n\nSigned-off-by: Greg Rose \u003cgregory.v.rose@intel.com\u003e\nTested-by: Emil Tantilov \u003cemil.s.tantilov@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "1a51502bddca7ac1e921d918b741ffd2bec149ed",
      "tree": "ee41f3f5fdba243eb2e68b0fd8ee4c8c84d72c2b",
      "parents": [
        "b178bb3dfc30d9555bdd2401e95af98e23e83e10"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 16 19:26:42 2010 -0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 16 19:26:42 2010 -0800"
      },
      "message": "ixgbe: delay rx_ring freeing\n\n\"cat /proc/net/dev\" uses RCU protection only.\n\nIts quite possible we call a driver get_stats() method while device is\ndismantling and freeing its data structures.\n\nSo get_stats() methods must be very careful not accessing driver private\ndata without appropriate locking.\n\nIn ixgbe case, we access rx_ring pointers. These pointers are freed in\nixgbe_clear_interrupt_scheme() and set to NULL, this can trigger NULL\ndereference in ixgbe_get_stats64()\n\nA possible fix is to use RCU locking in ixgbe_get_stats64() and defer\nrx_ring freeing after a grace period in ixgbe_clear_interrupt_scheme()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Tantilov, Emil S \u003cemil.s.tantilov@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "b178bb3dfc30d9555bdd2401e95af98e23e83e10",
      "tree": "ec52d739015de589ceca1d31c5802305d94c9f6d",
      "parents": [
        "c31504dc0d1dc853dcee509d9999169a9097a717"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 16 05:56:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 11:17:43 2010 -0800"
      },
      "message": "net: reorder struct sock fields\n\nRight now, fields in struct sock are not optimally ordered, because each\npath (RX softirq, TX completion, RX user,  TX user) has to touch fields\nthat are contained in many different cache lines.\n\nThe really critical thing is to shrink number of cache lines that are\nused at RX softirq time : CPU handling softirqs for a device can receive\nmany frames per second for many sockets. If load is too big, we can drop\nframes at NIC level. RPS or multiqueue cards can help, but better reduce\nlatency if possible.\n\nThis patch starts with UDP protocol, then additional patches will try to\nreduce latencies of other ones as well.\n\nAt RX softirq time, fields of interest for UDP protocol are :\n(not counting ones in inet struct for the lookup)\n\nRead/Written:\nsk_refcnt   (atomic increment/decrement)\nsk_rmem_alloc \u0026 sk_backlog.len (to check if there is room in queues)\nsk_receive_queue\nsk_backlog (if socket locked by user program)\nsk_rxhash\nsk_forward_alloc\nsk_drops\n\nRead only:\nsk_rcvbuf (sk_rcvqueues_full())\nsk_filter\nsk_wq\nsk_policy[0]\nsk_flags\n\nAdditional notes :\n\n- sk_backlog has one hole on 64bit arches. We can fill it to save 8\nbytes.\n- sk_backlog is used only if RX sofirq handler finds the socket while\nlocked by user.\n- sk_rxhash is written only once per flow.\n- sk_drops is written only if queues are full\n\nFinal layout :\n\n[1] One section grouping all read/write fields, but placing rxhash and\nsk_backlog at the end of this section.\n\n[2] One section grouping all read fields in RX handler\n   (sk_filter, sk_rcv_buf, sk_wq)\n\n[3] Section used by other paths\n\nI\u0027ll post a patch on its own to put sk_refcnt at the end of struct\nsock_common so that it shares same cache line than section [1]\n\nNew offsets on 64bit arch :\n\nsizeof(struct sock)\u003d0x268\noffsetof(struct sock, sk_refcnt)  \u003d0x10\noffsetof(struct sock, sk_lock)    \u003d0x48\noffsetof(struct sock, sk_receive_queue)\u003d0x68\noffsetof(struct sock, sk_backlog)\u003d0x80\noffsetof(struct sock, sk_rmem_alloc)\u003d0x80\noffsetof(struct sock, sk_forward_alloc)\u003d0x98\noffsetof(struct sock, sk_rxhash)\u003d0x9c\noffsetof(struct sock, sk_rcvbuf)\u003d0xa4\noffsetof(struct sock, sk_drops) \u003d0xa0\noffsetof(struct sock, sk_filter)\u003d0xa8\noffsetof(struct sock, sk_wq)\u003d0xb0\noffsetof(struct sock, sk_policy)\u003d0xd0\noffsetof(struct sock, sk_flags) \u003d0xe0\n\nInstead of :\n\nsizeof(struct sock)\u003d0x270\noffsetof(struct sock, sk_refcnt)  \u003d0x10\noffsetof(struct sock, sk_lock)    \u003d0x50\noffsetof(struct sock, sk_receive_queue)\u003d0xc0\noffsetof(struct sock, sk_backlog)\u003d0x70\noffsetof(struct sock, sk_rmem_alloc)\u003d0xac\noffsetof(struct sock, sk_forward_alloc)\u003d0x10c\noffsetof(struct sock, sk_rxhash)\u003d0x128\noffsetof(struct sock, sk_rcvbuf)\u003d0x4c\noffsetof(struct sock, sk_drops) \u003d0x16c\noffsetof(struct sock, sk_filter)\u003d0x198\noffsetof(struct sock, sk_wq)\u003d0x88\noffsetof(struct sock, sk_policy)\u003d0x98\noffsetof(struct sock, sk_flags) \u003d0x130\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c31504dc0d1dc853dcee509d9999169a9097a717",
      "tree": "8ee1d5616b7140759cf742ef89cf9f7ba1c01b20",
      "parents": [
        "213b15ca818adf7766cd7162c2159a6ecdd3bab8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 15 19:58:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 11:17:43 2010 -0800"
      },
      "message": "udp: use atomic_inc_not_zero_hint\n\nUDP sockets refcount is usually 2, unless an incoming frame is going to\nbe queued in receive or backlog queue.\n\nUsing atomic_inc_not_zero_hint() permits to reduce latency, because\nprocessor issues less memory transactions.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "213b15ca818adf7766cd7162c2159a6ecdd3bab8",
      "tree": "e6655afbd3b1b5830543d102e0d2e9f47da9b36a",
      "parents": [
        "4af429d29b341bb1735f04c2fb960178ed5d52e7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 11 09:42:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 11:17:42 2010 -0800"
      },
      "message": "vlan: remove ndo_select_queue() logic\n\nNow vlan are lockless, we dont need special ndo_select_queue() logic.\ndev_pick_tx() will do the multiqueue stuff on the real device transmit.\n\nSuggested-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4af429d29b341bb1735f04c2fb960178ed5d52e7",
      "tree": "b5179224883dc56cde57058014480e4bcf22b75b",
      "parents": [
        "8ffab51b3dfc54876f145f15b351c41f3f703195"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 10 23:42:00 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 11:15:08 2010 -0800"
      },
      "message": "vlan: lockless transmit path\n\nvlan is a stacked device, like tunnels. We should use the lockless\nmechanism we are using in tunnels and loopback.\n\nThis patch completely removes locking in TX path.\n\ntx stat counters are added into existing percpu stat structure, renamed\nfrom vlan_rx_stats to vlan_pcpu_stats.\n\nNote : this partially reverts commit 2e59af3dcbdf (vlan: multiqueue vlan\ndevice)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ffab51b3dfc54876f145f15b351c41f3f703195",
      "tree": "0455321fbdb953e77fecff62345f8414553bc394",
      "parents": [
        "0e3125c755445664f00ad036e4fc2cd32fd52877"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 10 21:14:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 10:58:30 2010 -0800"
      },
      "message": "macvlan: lockless tx path\n\nmacvlan is a stacked device, like tunnels. We should use the lockless\nmechanism we are using in tunnels and loopback.\n\nThis patch completely removes locking in TX path.\n\ntx stat counters are added into existing percpu stat structure, renamed\nfrom rx_stats to pcpu_stats.\n\nNote : this reverts commit 2c11455321f37 (macvlan: add multiqueue\ncapability)\n\nNote : rx_errors converted to a 32bit counter, like tx_dropped, since\nthey dont need 64bit range.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Ben Greear \u003cgreearb@candelatech.com\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e3125c755445664f00ad036e4fc2cd32fd52877",
      "tree": "b26db97e3239324ac16b13e299e43b7bf2b9560c",
      "parents": [
        "020f01ebd04f3429c32586d90598c9f59e54ca7d"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Nov 16 10:26:47 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 10:26:47 2010 -0800"
      },
      "message": "packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\nMIME-Version: 1.0\nContent-Type: text/plain; charset\u003dUTF-8\nContent-Transfer-Encoding: 8bit\n\nVersion 4 of this patch.\n\nChange notes:\n1) Removed extra memset.  Didn\u0027t think kcalloc added a GFP_ZERO the way kzalloc did :)\n\nSummary:\nIt was shown to me recently that systems under high load were driven very deep\ninto swap when tcpdump was run.  The reason this happened was because the\nAF_PACKET protocol has a SET_RINGBUFFER socket option that allows the user space\napplication to specify how many entries an AF_PACKET socket will have and how\nlarge each entry will be.  It seems the default setting for tcpdump is to set\nthe ring buffer to 32 entries of 64 Kb each, which implies 32 order 5\nallocation.  Thats difficult under good circumstances, and horrid under memory\npressure.\n\nI thought it would be good to make that a bit more usable.  I was going to do a\nsimple conversion of the ring buffer from contigous pages to iovecs, but\nunfortunately, the metadata which AF_PACKET places in these buffers can easily\nspan a page boundary, and given that these buffers get mapped into user space,\nand the data layout doesn\u0027t easily allow for a change to padding between frames\nto avoid that, a simple iovec change is just going to break user space ABI\nconsistency.\n\nSo I\u0027ve done this, I\u0027ve added a three tiered mechanism to the af_packet set_ring\nsocket option.  It attempts to allocate memory in the following order:\n\n1) Using __get_free_pages with GFP_NORETRY set, so as to fail quickly without\ndigging into swap\n\n2) Using vmalloc\n\n3) Using __get_free_pages with GFP_NORETRY clear, causing us to try as hard as\nneeded to get the memory\n\nThe effect is that we don\u0027t disturb the system as much when we\u0027re under load,\nwhile still being able to conduct tcpdumps effectively.\n\nTested successfully by me.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nReported-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "020f01ebd04f3429c32586d90598c9f59e54ca7d",
      "tree": "e36b2cd4fecf609610eea15ab8bc07e1a34a469c",
      "parents": [
        "3654654f7aa79a37dde130afb7409c55b11807e7"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Nov 09 14:35:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 10:22:58 2010 -0800"
      },
      "message": "drivers/isdn/mISDN: Use printf extension %pV\n\nUsing %pV reduces the number of printk calls and\neliminates any possible message interleaving from\nother printk calls.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3654654f7aa79a37dde130afb7409c55b11807e7",
      "tree": "4e65c0d211a6cc748509b7f3b2da7c45b05d3266",
      "parents": [
        "9d82ca98f71fd686ef2f3017c5e3e6a4871b6e46"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Nov 16 09:52:32 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 09:52:32 2010 -0800"
      },
      "message": "netlink: let nlmsg and nla functions take pointer-to-const args\n\nThe changed functions do not modify the NL messages and/or attributes\nat all. They should use const (similar to strchr), so that callers\nwhich have a const nlmsg/nlattr around can make use of them without\ncasting.\n\nWhile at it, constify a data array.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d82ca98f71fd686ef2f3017c5e3e6a4871b6e46",
      "tree": "dab771a2353d94604f0e3c8bcb6ef2cf9eda10c3",
      "parents": [
        "b5e4156743c5d42b736936be7a9ee8d72e0e4ac9"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Mon Nov 15 20:29:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 09:24:58 2010 -0800"
      },
      "message": "ipv6: fix missing in6_ifa_put in addrconf\n\nFix ref count bug introduced by\n\ncommit 2de795707294972f6c34bae9de713e502c431296\nAuthor: Lorenzo Colitti \u003clorenzo@google.com\u003e\nDate:   Wed Oct 27 18:16:49 2010 +0000\n\nipv6: addrconf: don\u0027t remove address state on ifdown if the address\nis being kept\n\nFix logic so that addrconf_ifdown() decrements the inet6_ifaddr\nrefcnt correctly with in6_ifa_put().\n\nReported-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5e4156743c5d42b736936be7a9ee8d72e0e4ac9",
      "tree": "f0edde33e7b2502ab35a4f63be1a8be31f5f4b6a",
      "parents": [
        "6b35308850e1679741e8b646cfb7bb3ab5369888",
        "b1d771ee33c6e4006676002b9d74abf45b71d3d6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 09:17:12 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 09:17:12 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "6b35308850e1679741e8b646cfb7bb3ab5369888",
      "tree": "09568bac6853163eb6da9aa801922efd270244fe",
      "parents": [
        "1f4f067f99cbb2af7af7a67bd025a9fb58b5156c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 20:15:03 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 20:15:03 2010 -0800"
      },
      "message": "net: Export netif_get_vlan_features().\n\nERROR: \"netif_get_vlan_features\" [drivers/net/xen-netfront.ko] undefined!\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f4f067f99cbb2af7af7a67bd025a9fb58b5156c",
      "tree": "7830cff52e76bb8c650425bdc3203e1e5299b939",
      "parents": [
        "ce5a121304af02d02489e86efb6ae26a67f95e52"
      ],
      "author": {
        "name": "Vasanthy Kolluri",
        "email": "vkolluri@cisco.com",
        "time": "Mon Nov 15 08:09:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:19 2010 -0800"
      },
      "message": "enic: Fix build warnings\n\nFix data type of argument passed to pci_alloc_consistent and pci_free_consistent routines.\n\nSigned-off-by: Vasanthy Kolluri \u003cvkolluri@cisco.com\u003e\nSigned-off-by: Roopa Prabhu \u003croprabhu@cisco.com\u003e\nSigned-off-by: David Wang \u003cdwang2@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce5a121304af02d02489e86efb6ae26a67f95e52",
      "tree": "ebd46ae84af69add5938eea815a7f72124bf8c54",
      "parents": [
        "ec1e5610c00c7f5bc530d2aadd47faa473b90a30"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 15 07:30:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:18 2010 -0800"
      },
      "message": "hso: Fix unused variable warning\n\nFallout from the TIOCGICOUNT work\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec1e5610c00c7f5bc530d2aadd47faa473b90a30",
      "tree": "c3bc845f485911083e47e218e7f01eba4de1bbfd",
      "parents": [
        "b5ed54e94d324f17c97852296d61a143f01b227a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 15 06:38:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:18 2010 -0800"
      },
      "message": "bridge: add RCU annotations to bridge port lookup\n\nbr_port_get() renamed to br_port_get_rtnl() to make clear RTNL is held.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5ed54e94d324f17c97852296d61a143f01b227a",
      "tree": "2104d3cde24efc1145bc71beb4b61d79ed841132",
      "parents": [
        "61391cde9eefac5cfcf6d214aa80c77e58b1626b"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Nov 15 06:38:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:17 2010 -0800"
      },
      "message": "bridge: fix RCU races with bridge port\n\nThe macro br_port_exists() is not enough protection when only\nRCU is being used. There is a tiny race where other CPU has cleared port\nhandler hook, but is bridge port flag might still be set.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61391cde9eefac5cfcf6d214aa80c77e58b1626b",
      "tree": "bcebcb5abe6638b7cde05f8ca5b51bba95cf1122",
      "parents": [
        "a386f99025f13b32502fe5dedf223c20d7283826"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Nov 15 06:38:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:17 2010 -0800"
      },
      "message": "netdev: add rcu annotations to receive handler hook\n\nSuggested by Eric\u0027s bridge RCU changes.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a386f99025f13b32502fe5dedf223c20d7283826",
      "tree": "63f137ee76576555118ae0ff6a49ee6f0412aa11",
      "parents": [
        "e80516880019aa1f7c5c410276edfea9575ec89f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 15 06:38:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:16 2010 -0800"
      },
      "message": "bridge: add proper RCU annotation to should_route_hook\n\nAdd br_should_route_hook_t typedef, this is the only way we can\nget a clean RCU implementation for function pointer.\n\nMove route_hook to location where it is used.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e80516880019aa1f7c5c410276edfea9575ec89f",
      "tree": "b17f51f56ef97e5a366f2f5bc3020935d8eb5def",
      "parents": [
        "8a22c99a80b0926585cfcbcc423ee2c49c1fd820"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 15 06:38:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:16 2010 -0800"
      },
      "message": "bridge: add RCU annotation to bridge multicast table\n\nAdd modern __rcu annotatations to bridge multicast table.\nUse newer hlist macros to avoid direct access to hlist internals.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a22c99a80b0926585cfcbcc423ee2c49c1fd820",
      "tree": "d2f4e369a907e3e58b4769f10e8d8a0b46107fdc",
      "parents": [
        "d577f1ccdd8ae8bfbe6063eb2ba2a350259e9031"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:05:00 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:07:16 2010 -0800"
      },
      "message": "net/ipv6/mcast.c: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d577f1ccdd8ae8bfbe6063eb2ba2a350259e9031",
      "tree": "75ad5e24a7031ff4f16f5a2572a0ff4ac9959168",
      "parents": [
        "c59504ebc5baa628706d10c2d3c7e1f4bc3c2147"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:04:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:07:16 2010 -0800"
      },
      "message": "include/net/caif/cfctrl.h: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c59504ebc5baa628706d10c2d3c7e1f4bc3c2147",
      "tree": "cb4cc57485e6041102e2e7a5127556733adef78c",
      "parents": [
        "779bb41d4bd111d5631d58d1bf2d00b5c4389c80"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:04:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:07:15 2010 -0800"
      },
      "message": "include/linux/if_macvlan.h: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "779bb41d4bd111d5631d58d1bf2d00b5c4389c80",
      "tree": "f4890d0bfaff208372e4067f183135d54641dfdf",
      "parents": [
        "e81a1ba815666ec02ef5bf0e17cf256c88d233b3"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:04:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:07:15 2010 -0800"
      },
      "message": "drivers/net/cnic.c: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e81a1ba815666ec02ef5bf0e17cf256c88d233b3",
      "tree": "396514a4ff3150dca7dc0176e3fcac761ff6d7e7",
      "parents": [
        "1d51c4185bb369cb39ed8cc20b331508e47b35b2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:04:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:06:19 2010 -0800"
      },
      "message": "drivers/net/ixgbe: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d51c4185bb369cb39ed8cc20b331508e47b35b2",
      "tree": "b13c3d57d2a7fb717cef7c1793bdc7ac7c1ca0b5",
      "parents": [
        "6f38ad93e4882e84c1cc113736db7dc9252dcf11"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:04:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:06:19 2010 -0800"
      },
      "message": "drivers/net/e1000e: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f38ad93e4882e84c1cc113736db7dc9252dcf11",
      "tree": "f95d34a8831d8e5b1613bedf852bcd839f74d233",
      "parents": [
        "ad65ffd12dccf6d1031298eacc060327751084da"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:04:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:06:18 2010 -0800"
      },
      "message": "drivers/net/bnx2x: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad65ffd12dccf6d1031298eacc060327751084da",
      "tree": "48bf0cd5ab7c7c63cbcd307d98c61985957c008c",
      "parents": [
        "6c1b6c6b873d66d353ef47a054156dfde3f4c075"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:04:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:06:17 2010 -0800"
      },
      "message": "drivers/isdn: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c1b6c6b873d66d353ef47a054156dfde3f4c075",
      "tree": "e07e4286cab3df4738951fae2e9f82e8a4578d43",
      "parents": [
        "fe8222406c8277a21172479d3a8283d31c209028",
        "7e87fe84303cc54ecf3c7b688cb08ca24322a41d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:59:49 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:59:49 2010 -0800"
      },
      "message": "Merge branch \u0027dccp\u0027 of git://eden-feed.erg.abdn.ac.uk/net-next-2.6\n"
    },
    {
      "commit": "fe8222406c8277a21172479d3a8283d31c209028",
      "tree": "89876457391fba73e3c2c9fdbf9c28a980ad4ffc",
      "parents": [
        "ed9af2e839c06c18f721da2c768fbb444c4a10e5"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Tue Nov 09 10:47:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:57:28 2010 -0800"
      },
      "message": "net: Simplify RX queue allocation\n\nThis patch move RX queue allocation to alloc_netdev_mq and freeing of\nthe queues to free_netdev (symmetric to TX queue allocation).  Each\nkobject RX queue takes a reference to the queue\u0027s device so that the\ndevice can\u0027t be freed before all the kobjects have been released-- this\nobviates the need for reference counts specific to RX queues.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed9af2e839c06c18f721da2c768fbb444c4a10e5",
      "tree": "446f54e1f2d6951a7803f34f8ca0e4c0b9375f1b",
      "parents": [
        "cc9ff19da9bf76a2f70bcb80225a1c587c162e52"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Tue Nov 09 10:47:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:56:54 2010 -0800"
      },
      "message": "net: Move TX queue allocation to alloc_netdev_mq\n\nTX queues are now allocated in alloc_netdev_mq and freed in\nfree_netdev.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc9ff19da9bf76a2f70bcb80225a1c587c162e52",
      "tree": "181efcd617a42a48fa94c51cfe9dc0e77b3b5775",
      "parents": [
        "e1f2d8c2cc61d2b9472efe44e8a2b098336914b4"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Wed Nov 03 04:41:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:44:04 2010 -0800"
      },
      "message": "xfrm: use gre key as flow upper protocol info\n\nThe GRE Key field is intended to be used for identifying an individual\ntraffic flow within a tunnel. It is useful to be able to have XFRM\npolicy selector matches to have different policies for different\nGRE tunnels.\n\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1f2d8c2cc61d2b9472efe44e8a2b098336914b4",
      "tree": "cdea26bf2fa8eec991a5628f5df5ab6f313b4b4e",
      "parents": [
        "900fcf091e95fbcc773b72c770afcd2e8eda4da2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:37:30 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:37:30 2010 -0800"
      },
      "message": "vlan: Fix build warning in vlandev_seq_show()\n\nnet/8021q/vlanproc.c: In function \u0027vlandev_seq_show\u0027:\nnet/8021q/vlanproc.c:283:20: warning: unused variable \u0027fmt\u0027\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1d771ee33c6e4006676002b9d74abf45b71d3d6",
      "tree": "95f3e781ec6528ee5985932a624ad880c9a9596e",
      "parents": [
        "7919a57bc608140aa8614c19eac40c6916fb61d2"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Fri Oct 29 23:11:23 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:27:05 2010 -0500"
      },
      "message": "carl9170: use generic sign_extend32\n\nThis patch replaces the handcrafted\nsign extension cruft with a generic\nbitop function.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7919a57bc608140aa8614c19eac40c6916fb61d2",
      "tree": "0813ff8983a937eae8636808167bc59aa0e80c34",
      "parents": [
        "e4b3fdb80021bc0a3239bfc2a873a6d7c6ac52a1"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann3@amd.com",
        "time": "Mon Aug 30 19:04:01 2010 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:27:04 2010 -0500"
      },
      "message": "bitops: Provide generic sign_extend32 function\n\nThis patch moves code out from wireless drivers where two different\nfunctions are defined in three code locations for the same purpose and\nprovides a common function to sign extend a 32-bit value.\n\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e4b3fdb80021bc0a3239bfc2a873a6d7c6ac52a1",
      "tree": "ed955270792c46c6c8687ea0f5d19dc81c9e2a49",
      "parents": [
        "1d4b89f2970f9ea0902d0a3bc1090f3c770b5080"
      ],
      "author": {
        "name": "Grazvydas Ignotas",
        "email": "notasas@gmail.com",
        "time": "Thu Nov 04 00:13:49 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:27:02 2010 -0500"
      },
      "message": "wl1251: use wl12xx_platform_data to pass data\n\nMake use the newly added method to pass platform data for wl1251 too.\nThis allows to eliminate some redundant code.\n\nCc: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Grazvydas Ignotas \u003cnotasas@gmail.com\u003e\nAcked-by: Kalle Valo \u003ckvalo@adurom.com\u003e\nAcked-by: Luciano Coelho \u003cluciano.coelho@nokia.com\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1d4b89f2970f9ea0902d0a3bc1090f3c770b5080",
      "tree": "cfbe5fa103644ceec167a57696c3b9a1e8df5c11",
      "parents": [
        "cb7bbc7a5535ab2333915b83391e1d846a0914df"
      ],
      "author": {
        "name": "Grazvydas Ignotas",
        "email": "notasas@gmail.com",
        "time": "Mon Nov 08 15:29:36 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:27:01 2010 -0500"
      },
      "message": "wl1251: add runtime PM support for SDIO\n\nAdd runtime PM support, similar to how it\u0027s done for wl1271.\nThis allows to power down the card when the driver is loaded but\nnetwork is not in use.\n\nCc: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Grazvydas Ignotas \u003cnotasas@gmail.com\u003e\nAcked-by: Kalle Valo \u003ckvalo@adurom.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cb7bbc7a5535ab2333915b83391e1d846a0914df",
      "tree": "07d88b56c87b9a1ff2764b25d47c102169d665ca",
      "parents": [
        "f81c1f48384d398dbe8f6c5b10377c7158086791"
      ],
      "author": {
        "name": "Grazvydas Ignotas",
        "email": "notasas@gmail.com",
        "time": "Thu Nov 04 00:13:47 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:27:00 2010 -0500"
      },
      "message": "wl1251: add power callback to wl1251_if_operations\n\nCall interface specific power callback before calling board specific\none. Also allow that callback to fail. This is how it\u0027s done for\nwl1271 and will be used for runtime_pm support.\n\nSigned-off-by: Grazvydas Ignotas \u003cnotasas@gmail.com\u003e\nAcked-by: Kalle Valo \u003ckvalo@adurom.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f81c1f48384d398dbe8f6c5b10377c7158086791",
      "tree": "f5a813c7e3b66a024adb7db8359c920fb878a4db",
      "parents": [
        "6fe8efb2211fe61caa7b0e1c36c521670b8a10a9"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Wed Nov 10 09:56:50 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:59 2010 -0500"
      },
      "message": "iwlagn: enable shadow register\n\nFor 6000 series devices and up, enable automatic update MAC\u0027s register\nfor better power usage in PSP mode\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6fe8efb2211fe61caa7b0e1c36c521670b8a10a9",
      "tree": "090fe2616c3b4a486559d5b00e88dba3148b1584",
      "parents": [
        "3031242b31dcd76e1c6b1c1718cfee872f55d5af"
      ],
      "author": {
        "name": "Shanyu Zhao",
        "email": "shanyu.zhao@intel.com",
        "time": "Wed Nov 10 09:56:49 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:57 2010 -0500"
      },
      "message": "iwlwifi: disable disconnected antenna for advanced bt coex\n\nDisconnected antenna algorithm is used to find out which antennas are\ndisconnected. It should be disabled for devices that support advanced\nbluetooth coexist.\n\nSigned-off-by: Shanyu Zhao \u003cshanyu.zhao@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3031242b31dcd76e1c6b1c1718cfee872f55d5af",
      "tree": "772f806acc6c855948573455b5c900e8eefb63ed",
      "parents": [
        "b2769b84d86a2d29fa131a763d2b23b112834420"
      ],
      "author": {
        "name": "Shanyu Zhao",
        "email": "shanyu.zhao@intel.com",
        "time": "Wed Nov 10 09:56:48 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:56 2010 -0500"
      },
      "message": "iwlwifi: seperate disconnected antenna function\n\nDisconnected antenna algorithm is seperated into its own function from chain noise\ncalibration routine for better code management.\n\nSigned-off-by: Shanyu Zhao \u003cshanyu.zhao@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b2769b84d86a2d29fa131a763d2b23b112834420",
      "tree": "1e19b4bc7e877ebf91c29b457715366617e594c9",
      "parents": [
        "8da8e62851680772f0422d0f1c4b467190b268e5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 10 09:56:47 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:55 2010 -0500"
      },
      "message": "iwlagn: fix RXON HT\n\nWhen the HT information is changed due to\nBSS changes (like legacy stations joining)\nwe need to recalculate HT RXON parameters.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8da8e62851680772f0422d0f1c4b467190b268e5",
      "tree": "daea6d9e06678b34ca5926f11e5a8a8067860315",
      "parents": [
        "52d980c01353202332ff4322f3f41db0c49816a5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 10 09:56:46 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:53 2010 -0500"
      },
      "message": "iwlagn: re-enable calibration\n\nDuring the RXON rewrite, this code got lost.\nWhen we\u0027ve just associated, we need to enable\nall calibrations and see if some were already\nfinished. Add back the missing code.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "52d980c01353202332ff4322f3f41db0c49816a5",
      "tree": "fc730451ac0b41800612da19b1b7fe674a82b7a7",
      "parents": [
        "2e1fea43aa170e18beb8378465e595e18cd08f6e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 10 09:56:45 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:52 2010 -0500"
      },
      "message": "iwlagn: fix RXON issues\n\nThe RXON rework resulted in a massive loss of\nthroughput because we weren\u0027t programming the\ndevice completely correctly -- the BSSID has\nto be programmed into the device before the\nAP station is uploaded. To fix this, simply\nalways send the unassoc RXON, i.e. even when\nit was already unassoc so that the BSSID and\nsome other parameters are updated properly.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e1fea43aa170e18beb8378465e595e18cd08f6e",
      "tree": "21c9e920df83fdc1715e5834449a0784a16f8de9",
      "parents": [
        "35a6eb36520b938742d8680fd8d821df20982ced"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 10 09:56:44 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:51 2010 -0500"
      },
      "message": "iwlagn: fix needed chains calculation\n\nGaren noticed that this was wrong. Fix\nthe calibration -- default to multiple\nchains and fall back to single where\npossible.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "35a6eb36520b938742d8680fd8d821df20982ced",
      "tree": "c353b73bf8175c20f62dbcd1c45cfa722b39be45",
      "parents": [
        "fd11743dd25efe7157ff17b03dd2db0cbb6fed05"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Wed Nov 10 09:56:43 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:49 2010 -0500"
      },
      "message": "iwlwifi: resending QoS command when HT changes\n\n\"mac80211: Fix WMM driver queue configuration\"\ninadvertedly broke iwlwifi, because now mac80211\nconfigures the QoS settings before assoc, and\ntherefore before HT. Thus, iwlwifi no longer told\nthe device about the HT setting, which it needs\nto -- and thus throughput went down a lot. Fix\nthis by resending the QoS command to the device\nnot only when QoS/WMM settings change, but also\nwhen HT changes.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fd11743dd25efe7157ff17b03dd2db0cbb6fed05",
      "tree": "00e20b31a4eaa2689ae880ffd27f0916a9bc0b11",
      "parents": [
        "708068db4c09f93937a6a83ac8fff8516f482b0f"
      ],
      "author": {
        "name": "Winkler, Tomas",
        "email": "tomas.winkler@intel.com",
        "time": "Wed Nov 10 09:56:42 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:48 2010 -0500"
      },
      "message": "iwlwlifi: update rx write pointer w/o request mac access in the CAM mode\n\nIn iwl_rx_queue_update_write_ptr function\nreplace iwl_write_direct32 with iwl_write32 when not in power save mode.\nWe don\u0027t have to go through grab nic access as the NIC is already awake.\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "708068db4c09f93937a6a83ac8fff8516f482b0f",
      "tree": "ad304f921b1ed43063bdc3d3d3416f49cd8b5a01",
      "parents": [
        "e39fdee1d7856817619326fa114438c146d74510"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Wed Nov 10 09:56:41 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:47 2010 -0500"
      },
      "message": "iwlwifi: legacy tx_cmd_protection function\n\nLegacy (4965 and 3945) devices has different tx_cmd_protection routine.\nMove to iwl-legacy.c\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e39fdee1d7856817619326fa114438c146d74510",
      "tree": "fb3730df3164aa6239571c2f39348afe74744fd9",
      "parents": [
        "81baf6ec9c190ae128748cf2a026bff5cb811b70"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Wed Nov 10 09:56:40 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:45 2010 -0500"
      },
      "message": "iwlwifi: put all the isr related function under ops\n\nThere were two type of isr supported by iwlwifi devices.\n  legacy isr - only used by legacy devices (3945 \u0026 4965)\n  ict isr - used by all new generation of iwlwifi devices\n\nMove all the isr related functions into ops, the ict type of isr\nsupports only needed for newer devices.\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "81baf6ec9c190ae128748cf2a026bff5cb811b70",
      "tree": "c6c0d24d1c610f770e1fc6fbddc2dd9e8bb99911",
      "parents": [
        "ae79d23d0b2c16998e60f49a16dae53521c76a45"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Wed Nov 10 09:56:39 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:44 2010 -0500"
      },
      "message": "iwlwifi: Legacy isr only used by legacy devices\n\nMove iwl_isr_legacy function to iwl_legacy.c since it only used\nby legacy devices.\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ae79d23d0b2c16998e60f49a16dae53521c76a45",
      "tree": "09af0e450cb44daa707c7ba77735453a9ac96baa",
      "parents": [
        "2a21ff446c07b95d08cbb830bd20112f3ee1d76e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 10 09:56:38 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:43 2010 -0500"
      },
      "message": "iwlagn: fix non-5000+ build\n\nWhen building 4965 without 5000+ there were a\nlot of build errors due to functions being used\nthat weren\u0027t even compiled in. To fix this move\nsome code around and only compile the HCMD code\nfor 5000+ series as it\u0027s not used for 4965.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a21ff446c07b95d08cbb830bd20112f3ee1d76e",
      "tree": "1f14f6e56fe027052075e244512b525d3679af4a",
      "parents": [
        "fb30eaf38703d7562606e49a5872745d66366a50"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Wed Nov 10 09:56:37 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:41 2010 -0500"
      },
      "message": "iwlagn: update PCI ID for 100 series devices\n\nUpdate the supported PCI ID list for 100 series devices\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fb30eaf38703d7562606e49a5872745d66366a50",
      "tree": "0202e866cc7c7d3403b763d9a78d22127d51c65a",
      "parents": [
        "8b37d9f0a1e114a1c7f5082842fb310a81ea3732"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Wed Nov 10 09:56:36 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:40 2010 -0500"
      },
      "message": "iwlagn: update PCI ID for 6000g2a series devices\n\nUpdate the supported PCI ID list for 6000g2a series devices\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8b37d9f0a1e114a1c7f5082842fb310a81ea3732",
      "tree": "4c1ef6d003557053d82fb5aeab83a27e6ae1e033",
      "parents": [
        "5d882c97e2c958df9f8b78832fa1ecbecef6ea1d"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Wed Nov 10 09:56:35 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:39 2010 -0500"
      },
      "message": "iwlagn: update PCI ID for 6000g2b series devices\n\nUpdate the supported PCI ID list for 6000g2b series devices\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5d882c97e2c958df9f8b78832fa1ecbecef6ea1d",
      "tree": "fc6e7ee71576ec9b2476f15508e4321511234743",
      "parents": [
        "8c5765fda4b382acce4ff386e18ec11790dff893"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Mon Nov 08 10:50:03 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:37 2010 -0500"
      },
      "message": "ath5k: Print stats as unsigned ints.\n\nThe debugfs code for ath5k was printing some unsigned int\nstats with %d instead of %u.  This meant that you could see\nnegative numbers instead of a clean wrap.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8c5765fda4b382acce4ff386e18ec11790dff893",
      "tree": "26859992b48faf7f6c93ceaad6dd20dcdcf303cf",
      "parents": [
        "ea175ee26268370ca07aff91cf6ba1e0f1a3bd36"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Sat Nov 06 15:49:01 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:36 2010 -0500"
      },
      "message": "rt2x00: Add watchdog functions for HW queue\n\nAdd watchdog functions for managing the Queues inside the hardware.\nNormally the driver doesn\u0027t have much to do with these queues\ndirectly, but the Ralink drivers did implement watchdog functions\nfor these. These watchdog functions are not triggered that often,\ncompared to the other watchdog functions, but I have at least\nseen them trigger once or twice during a long stresstest run.\n\nv2: Add extra documentation for register fields\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea175ee26268370ca07aff91cf6ba1e0f1a3bd36",
      "tree": "a678a381f91f6ac139101aa4d2091cd1073d7c65",
      "parents": [
        "8be4eed0ea7d8ef38692de878043a949e9db16e8"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Sat Nov 06 15:48:43 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:35 2010 -0500"
      },
      "message": "rt2x00: Remove rt2x00lib_toggle_rx\n\nAs part of the queue refactoring, the rt2x00lib_toggle_rx\ncan be removed and replaced with the call directly to\nthe set_device_state callback function.\n\nWe can remove the STATE_RADIO_RX_ON_LINK and\nSTATE_RADIO_RX_OFF_LINK, as it was only used for\nspecial behavior inside rt2x00lib rather then the\ndrivers.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8be4eed0ea7d8ef38692de878043a949e9db16e8",
      "tree": "fcd2c71f3bd20a5b51a2024aa011c9bb0b1bd323",
      "parents": [
        "813f0339dd739c48607f12dac79ec26c61874226"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Sat Nov 06 15:48:23 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:33 2010 -0500"
      },
      "message": "rt2x00: Fix rt2x00queue_kick_tx_queue arguments\n\nThe queue_entry argument to rt2x00queue_kick_tx_queue,\ndoesn\u0027t make sense due to the function name (it is called\nkick QUEUE)... But neither do we need the queue_entry, since\nwe need the data_queue.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "813f0339dd739c48607f12dac79ec26c61874226",
      "tree": "f758f461c71bdc176627af20692b9369ddb11f96",
      "parents": [
        "821cde63b5bd04bc3ca0f95e2abf17b04e640488"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Sat Nov 06 15:48:05 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:32 2010 -0500"
      },
      "message": "rt2x00: Rename queue-\u003elock to queue-\u003eindex_lock\n\nThe queue-\u003elock is only used to protect the index\nnumbers. Rename the lock accordingly.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "821cde63b5bd04bc3ca0f95e2abf17b04e640488",
      "tree": "9a5cf461bcb1eb8acd350e0e5a1d229febfdfd24",
      "parents": [
        "f8bfbc31794635f6d0b7fd30950d49cecf54e1ce"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:47:46 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:31 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt73usb.c\n\nrt73usb.c:43: ERROR: do not initialise statics to 0 or NULL\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f8bfbc31794635f6d0b7fd30950d49cecf54e1ce",
      "tree": "df82d7786199ef9b390fd7753317949d9335337e",
      "parents": [
        "027e8fd105c82956de9dec232bad21b1628ee7c0"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:47:25 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:29 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2x00queue.c\n\nrt2x00queue.c:804: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2x00queue.c:805: ERROR: space prohibited before that close parenthesis \u0027)\u0027\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "027e8fd105c82956de9dec232bad21b1628ee7c0",
      "tree": "5e7dafd739717dc2735934c4e8b7b90fb7a32bd8",
      "parents": [
        "5f181dc16bbd13b68b54ed5c43c4d2c5ad00297b"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:47:09 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:28 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2x00link.c\n\nrt2x00link.c:70: ERROR: space prohibited before that close parenthesis \u0027)\u0027\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5f181dc16bbd13b68b54ed5c43c4d2c5ad00297b",
      "tree": "f8f243f24504644de630f5e3eb6092934b06caa3",
      "parents": [
        "c2361baec100c6f373107346e3fd98e9b267ac6c"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:46:53 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:27 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2x00lib.h\n\nrt2x00lib.h:60: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2x00lib.h:60: ERROR: space prohibited before that close parenthesis \u0027)\u0027\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c2361baec100c6f373107346e3fd98e9b267ac6c",
      "tree": "70232baa4272993d46352d958993b1fad9af63bf",
      "parents": [
        "8a239033c355be998b8985f12f0cc3a9eaeb93e9"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:46:36 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:25 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2x00dev.c\n\nrt2x00dev.c:689: ERROR: spaces required around that \u0027\u003d\u0027 (ctx:WxV)\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8a239033c355be998b8985f12f0cc3a9eaeb93e9",
      "tree": "ab6ef5704d5978b7e5d85852ea1a6eaae65d4a43",
      "parents": [
        "87a46caf920515eb269df0109f0a61a958236568"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:46:17 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:24 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2x00config.c\n\nrt2x00config.c:136: ERROR: space required before the open parenthesis \u0027(\u0027\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "87a46caf920515eb269df0109f0a61a958236568",
      "tree": "11ebdb9ad4f111fb5f9bec8453388ab4420b6129",
      "parents": [
        "144b80bc05e76df0acb8b5e86a6e6aaf0c53325e"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:45:58 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:23 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2800usb.h\n\nrt2800usb.h:43: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800usb.h:43: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800usb.h:44: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800usb.h:44: ERROR: space prohibited before that close parenthesis \u0027)\u0027\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "144b80bc05e76df0acb8b5e86a6e6aaf0c53325e",
      "tree": "3b94de9e4ffd29bcce680119351b7cacfb04a63e",
      "parents": [
        "c6cbadeb3afd9471e539791842877d085f367746"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:45:41 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:21 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2800usb.c\n\n rt2800usb.c:48: ERROR: do not initialise statics to 0 or NULL\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c6cbadeb3afd9471e539791842877d085f367746",
      "tree": "a6a45a735c26f4d17d698bee2e0e767f7772cbe8",
      "parents": [
        "bf1b15125e2aa245ddd9348f80d041d4f1fd13a9"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:45:22 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:20 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2800pci.h\n\nrt2800pci.h:41: ERROR: Macros with complex values should be enclosed in parenthesis\nrt2800pci.h:42: ERROR: Macros with complex values should be enclosed in parenthesis\nrt2800pci.h:43: ERROR: Macros with complex values should be enclosed in parenthesis\nrt2800pci.h:44: ERROR: Macros with complex values should be enclosed in parenthesis\nrt2800pci.h:55: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800pci.h:55: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800pci.h:56: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800pci.h:56: ERROR: space prohibited before that close parenthesis \u0027)\u0027\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bf1b15125e2aa245ddd9348f80d041d4f1fd13a9",
      "tree": "1f480d28c6a399b56d7d981470d2dff648cbff8f",
      "parents": [
        "fd8dab9a67b22c35f38f0f5bfff4b3f6ed02e43a"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:45:06 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:19 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2800lib.c\n\nrt2800lib.c:831: ERROR: inline keyword should sit between storage class and type\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fd8dab9a67b22c35f38f0f5bfff4b3f6ed02e43a",
      "tree": "015b5a251a194a363cf4e20d96e47a2255892732",
      "parents": [
        "cf553477a4dfb819c66ebfcad9f3b5cc3b93a9af"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:44:52 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:17 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2800.h\n\nrt2800.h:1511: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:1511: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:1513: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:1513: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:1515: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:1515: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:1517: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:1517: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:1519: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:1519: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:1521: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:1521: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:1661: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:1661: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:1662: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:1662: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:1663: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:2013: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:2013: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2800.h:2014: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2800.h:2014: ERROR: space prohibited before that close parenthesis \u0027)\u0027\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cf553477a4dfb819c66ebfcad9f3b5cc3b93a9af",
      "tree": "6f75ecc10e633e5b300846cbe0a7660de6753f80",
      "parents": [
        "cb771b1a5de81e3ee59bd8b7ed17da6d09ffcf68"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:44:33 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:16 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2500usb.c\n\nrt2500usb.c:42: ERROR: do not initialise statics to 0 or NULL\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cb771b1a5de81e3ee59bd8b7ed17da6d09ffcf68",
      "tree": "082b115494ee014c495a717f25e8b99751e1a902",
      "parents": [
        "46b9786975a69a75f25b71796f7e36d203fbd4ee"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:44:15 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:15 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2500pci.h\n\nrt2500pci.h:1091: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2500pci.h:1091: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2500pci.h:1092: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2500pci.h:1092: ERROR: space prohibited before that close parenthesis \u0027)\u0027\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "46b9786975a69a75f25b71796f7e36d203fbd4ee",
      "tree": "e5ef0d104deec0b3e4c55daf33e1dc0105057327",
      "parents": [
        "041fb8f504fb0a6b61bc2131679da554b2fa8c9d"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Sat Nov 06 15:44:00 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:13 2010 -0500"
      },
      "message": "rt2x00: checkpatch.pl error fixes for rt2400pci.h\n\nrt2400pci.h:812: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2400pci.h:812: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2400pci.h:813: ERROR: space prohibited after that open parenthesis \u0027(\u0027\nrt2400pci.h:813: ERROR: space prohibited before that close parenthesis \u0027)\u0027\nrt2400pci.h:950: ERROR: Macros with complex values should be enclosed in parenthesis\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "041fb8f504fb0a6b61bc2131679da554b2fa8c9d",
      "tree": "e1c4553b0432c145085d5a4fa4a93a4a6427372a",
      "parents": [
        "ffa56e540c3949c4560dcce45eca247819e183c1"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Sat Nov 06 14:07:10 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:12 2010 -0500"
      },
      "message": "carl9170: tx path review\n\nThis patch fixes a few shortcomings in the tx path.\n\n * move temp. ampdu_[ack]_len out of txinfo-\u003epad.\n\n * fix WARN_ON from tx.c:line 300 when tx_ampdu_queue\n   fails to queue the frame.\n\n * In tx_prepare, we already have a local pointer\n   to the station\u0027s ieee80211_sta struct.\n\n * remove a second !sta check, tx_prepare already takes\n   care of that.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ffa56e540c3949c4560dcce45eca247819e183c1",
      "tree": "014fb3286ef0e879c6b78196ded7c87baccde252",
      "parents": [
        "723fc7af5300dba9eac40cb23dbefa67589e5181"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Thu Nov 04 22:59:56 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:11 2010 -0500"
      },
      "message": "mac80211: Remove redundant checks for NULL before calls to crypto_free_cipher()\n\ncrypto_free_cipher() is a wrapper around crypto_free_tfm() which is a\nwrapper around crypto_destroy_tfm() and the latter can handle being passed\na NULL pointer, so checking for NULL in the\nieee80211_aes_key_free()/ieee80211_aes_cmac_key_free() wrappers around\ncrypto_free_cipher() is pointless and just increase object code size\nneedlesly and makes us execute extra test/branch instructions that we\ndon\u0027t need.\nBtw; don\u0027t we have to many wrappers around wrappers ad nauseam here?\nAnyway, this patch removes the redundant conditionals.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "723fc7af5300dba9eac40cb23dbefa67589e5181",
      "tree": "497cfbd8b9a11bbb890cd4faac57baf839f10333",
      "parents": [
        "fa8b4b22d543b4052602b0c86065150613ed19e8"
      ],
      "author": {
        "name": "Lalith Suresh",
        "email": "suresh.lalith@gmail.com",
        "time": "Thu Nov 04 20:43:16 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:09 2010 -0500"
      },
      "message": "rt2x00: Fix comments in rt73usb.h and rt61pci.h\n\nThis patch fixes a few comments in rt73usb.h and rt61pci.h.\n\nSigned-off-by: Lalith Suresh \u003csuresh.lalith@gmail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fa8b4b22d543b4052602b0c86065150613ed19e8",
      "tree": "7ec20ce5695b7b2f7bfbfe6b149f9a639b6f586a",
      "parents": [
        "070192dd2975c0e97bbdeac7623b755235c6db7d"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Nov 04 20:42:36 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:08 2010 -0500"
      },
      "message": "rt2x00: Fix hw crypto in AP mode for some devices\n\nThe BSSID register shouldn\u0027t be set in AP mode on some older devices (like\nrt73usb) as it breaks hw crypto on these. However, rt2800 devices explicitly\nneed the BSSID register set to the same value as our own MAC address (only\nin AP mode).\n\nHence, don\u0027t set the BSSID from rt2x00lib but move it down into rt2800 to\navoid problems on older devices.\n\nThis fixes a regression (at least for rt73usb) and avoids a new regression\nfor rt2800 devices in 2.6.36.\n\nReported-by: Johannes Stezenbach \u003cjs@sig21.net\u003e\nReported-by: Lee \u003clee-in-berlin@web.de\u003e\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "070192dd2975c0e97bbdeac7623b755235c6db7d",
      "tree": "e7720e75b93f08fe5f3c37a87b26f75b483ca97b",
      "parents": [
        "303c7d6abfd0430e39e84a43361492b4a8c890b6"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Thu Nov 04 20:41:05 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:07 2010 -0500"
      },
      "message": "rt2x00: Fix crash on USB unplug\n\nBy not scheduling the TX/RX completion worker threads\nwhen Radio is disabled, or hardware has been unplugged,\nthe queues cannot be completely cleaned.\n\nThis causes crashes when the hardware has been unplugged while\nthe radio is still enabled.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "303c7d6abfd0430e39e84a43361492b4a8c890b6",
      "tree": "69350aedfe1dd148efbc59c28a2d5530cf9b576d",
      "parents": [
        "f44df18c58d4debe3ec0bb76a490aa2f3929fd8b"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Thu Nov 04 20:40:46 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:06 2010 -0500"
      },
      "message": "rt2x00: Fix MCU_SLEEP arguments\n\nLegacy driver uses 0xff as the second argument for the MCU_SLEEP\ncommand. It is still unknown what the values actually mean, but\nthis will at least keep the command in-sync with the original\ndriver.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f44df18c58d4debe3ec0bb76a490aa2f3929fd8b",
      "tree": "9085f6c5eefc694bb5c5d05e0bc3bb356021afeb",
      "parents": [
        "aaf886bd215396f295bc0489e8ae09d1c03d9aa0"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Thu Nov 04 20:40:11 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:04 2010 -0500"
      },
      "message": "rt2x00: Implement flush callback\n\nImplement a basic flush callback function, which simply loops\nover all TX queues and waits until all frames have been transmitted\nand the status reports have been gathered.\n\nAt this moment we don\u0027t support dropping any frames during the\nflush, but mac80211 will only send \u0027false\u0027 for this argument anyway,\nso this is not important at this time.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "aaf886bd215396f295bc0489e8ae09d1c03d9aa0",
      "tree": "5e71e038377d041a7884ff1095b3bebc11445b62",
      "parents": [
        "7225ce1ea93d24c0914eea0410dcfc426281f996"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Thu Nov 04 20:39:48 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:03 2010 -0500"
      },
      "message": "rt2x00: Remove failsave from rt2x00usb_watchdog_tx_dma\n\nWhen the TX status handler failed to clear the queue\nin rt2x00usb_watchdog_tx_dma() we shouldn\u0027t use a failsave\nto use the rt2x00usb txdone handler.\n\nIf a driver has overriden the txdone handler it must make\nsure the txdone handler is capable of cleaning up the queue itself.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7225ce1ea93d24c0914eea0410dcfc426281f996",
      "tree": "6a6de11fe745fdd64fc7dc1a6d06121386993327",
      "parents": [
        "e2f8c8752b994026fc0ddb4bb29ca229b3e0c104"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Thu Nov 04 20:39:23 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:02 2010 -0500"
      },
      "message": "rt2x00: Rename rt2x00queue_timeout\n\nRename rt2x00queue_timeout to rt2x00queue_status_timeout to\nbetter describe what is actually timing out (note that\nwe already have a rt2x00queue_dma_timeout).\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e2f8c8752b994026fc0ddb4bb29ca229b3e0c104",
      "tree": "4ebaf573ce33eb5002b454eb0d432ddef31d51e5",
      "parents": [
        "2b23cdaa3b0e9567597563e5a7a5103ecda447f0"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Nov 04 20:38:56 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:26:00 2010 -0500"
      },
      "message": "rt2x00: Optimize rt2x00debug_dump_frame when frame dumping is not active\n\nWhen rt2x00 is compiled with debugging but frame dumping is currently\nnot active we can avoid the call to do_gettimeofday. Furthermore,\nframe dumping is not the default case, mark it as unlikely.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2b23cdaa3b0e9567597563e5a7a5103ecda447f0",
      "tree": "3aa87f486d324c381a9e38dc178939cd1b7d6793",
      "parents": [
        "08e5310028359de2daaa39cd10e9ca493c51792b"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Nov 04 20:38:15 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:25:59 2010 -0500"
      },
      "message": "rt2x00: Reduce tx descriptor size\n\nThe tx descriptor values qid, cw_min, cw_max and aifs are directly\naccessible through the tx entry struct. So there\u0027s no need to copy\nthem into the tx descriptor and passing them to the indiviual drivers.\nInstead we can just get the correct value from the tx entry.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "08e5310028359de2daaa39cd10e9ca493c51792b",
      "tree": "036173b0aea7322fbde3e138340b475c8c1fe33d",
      "parents": [
        "efd2f271e44c7ea011cdb0363d38f40338ab80d2"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Nov 04 20:37:47 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:25:58 2010 -0500"
      },
      "message": "rt2x00: Wait up to one second on rt2800 for WPDMA to be ready\n\nAt least some devices need such a long time to inititalize WPDMA. This\nonly increases the maximum wait time and shouldn\u0027t affect devices that\nhave been working before.\n\nReported-by: Joshua Smith \u003cjesmith@kaon.com\u003e\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "efd2f271e44c7ea011cdb0363d38f40338ab80d2",
      "tree": "492e4f0c41f0b6388b35a9817c1b22d5719b5342",
      "parents": [
        "961621abee08fde2328daf6f8000e1059e5205e9"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Nov 04 20:37:22 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:25:56 2010 -0500"
      },
      "message": "rt2x00: Sync Tx and RX ring sizes with legacy drivers\n\nAll rt2x00 devices used the same Tx and Rx ring size (24 entries) till\nnow. Newer devices (like rt2800) can however make use of a larger TX and\nRX ring due to 11n capabilities (AMPDUs of size 64 for example).\n\nHence, bring rt2x00 in sync with the legacy drivers and use the same TX\nand RX ring sizes. Also remove the global defines RX_ENTRIES, TX_ENTRIES,\nBEACON_ENTRIES and ATIM_ENTRIES and use per driver values.\n\nThat is 24 entries for rt2400pci, 32 entries for rt2500pci, rt2500usb,\nrt61pci and rt73usb and 128 (RX) and 64 (TX) for rt2800pci and rt2800usb.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "961621abee08fde2328daf6f8000e1059e5205e9",
      "tree": "5146af2d34494f827fa5ddb45d1f0e8a23fc6bdd",
      "parents": [
        "066dae93bdfcc7af5e38a33617773fd5c6457607"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Nov 04 20:36:59 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:25:55 2010 -0500"
      },
      "message": "rt2x00: Add TXOP_CTRL_CFG register definition\n\nRemove the magic value initialisation of the TXOP_CTRL_CFG register by\ndefining its fields and using them during intialisation. The field\nRESERVED_TRUN_EN is referred to as reserved, however it is set to 1 by\nthe legacy drivers. Hence, do the same.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "066dae93bdfcc7af5e38a33617773fd5c6457607",
      "tree": "27aeba1ca5cfb85f4c418fa11e01c34cbd139ec0",
      "parents": [
        "21e731a1b15bf03927e292af1b4a2c84fc8af817"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Nov 07 14:59:39 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:25:54 2010 -0500"
      },
      "message": "ath9k: rework tx queue selection and fix queue stopping/waking\n\nThe current ath9k tx queue handling code showed a few issues that could\nlead to locking issues, tx stalls due to stopped queues, and maybe even\nDMA issues.\n\nThe main source of these issues is that in some places the queue is\nselected via skb queue mapping in places where this mapping may no\nlonger be valid. One such place is when data frames are transmitted via\nthe CAB queue (for powersave buffered frames). This is made even worse\nby a lookup WMM AC values from the assigned tx queue (which is\nundefined for the CAB queue).\n\nThis messed up the pending frame counting, which in turn caused issues\nwith queues getting stopped, but not woken again.\n\nTo fix these issues, this patch removes an unnecessary abstraction\nseparating a driver internal queue number from the skb queue number\n(not to be confused with the hardware queue number).\n\nIt seems that this abstraction may have been necessary because of tx\nqueue preinitialization from the initvals. This patch avoids breakage\nhere by pushing the software \u003c-\u003e hardware queue mapping to the function\nthat assigns the tx queues and redefining the WMM AC definitions to\nmatch the numbers used by mac80211 (also affects ath9k_htc).\n\nTo ensure consistency wrt. pending frame count tracking, these counters\nare moved to the ath_txq struct, updated with the txq lock held, but\nonly where the tx queue selected by the skb queue map actually matches\nthe tx queue used by the driver for the frame.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nReported-by: Björn Smedman \u003cbjorn.smedman@venatech.se\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "21e731a1b15bf03927e292af1b4a2c84fc8af817",
      "tree": "924a73caf961aa541abdbf6c1a9283bab6e78fde",
      "parents": [
        "d94519c1b0de827d5d142b9333b7f114c0b3a021"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Wed Nov 03 21:36:12 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:25:52 2010 -0500"
      },
      "message": "b43legacy: rfkill: use status register based on core revision (not PHY\u0027s)\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d94519c1b0de827d5d142b9333b7f114c0b3a021",
      "tree": "244b051006b79fb9dde8e57e8de0fb61a45d1d06",
      "parents": [
        "8cecc90e4a302ac214c48e362709ce906a96a295"
      ],
      "author": {
        "name": "maximilian attems",
        "email": "max@stro.at",
        "time": "Tue Nov 02 23:39:12 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:25:51 2010 -0500"
      },
      "message": "zd1201: Add missing id\n\nThe Mandriva patch seems to stem from 2.6.14, so much for their\nupstreaming effort.\n\nDidn\u0027t find another Linux reference of it, just an omnious\n\"USB\\VID_1044\u0026PID_8004\" from GigabyteZD1201U.INF for\nGigabyte GN-WLBZ101 802.11b USB Adapter, which matches the\nMandriva patch comment.\n\nAboves file also lists an \"USB\\VID_1044\u0026PID_8006\", which I have\nkept appart as this \"Gigabyte GN-WBZB-M 802.11b USB Adapter\"\ndidn\u0027t show up in googling.\n\nSigned-off-by: maximilian attems \u003cmax@stro.at\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8cecc90e4a302ac214c48e362709ce906a96a295",
      "tree": "254529385bea7e666bf8740fb19eb2dd71dda3cd",
      "parents": [
        "daeeb074105a80a34f90a454c24efc14e9a8d3c3"
      ],
      "author": {
        "name": "maximilian attems",
        "email": "max@stro.at",
        "time": "Tue Nov 02 23:10:12 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:25:50 2010 -0500"
      },
      "message": "zd1211rw: add 2 missing usb id\u0027s\n\n\"These USB ID came from Palnex \u003chttp://www.planex.co.jp/\u003e\nWorked fine.\" says Mandriva patch for their 2.6.32 and earlier.\n\nWeb has evidence for both id\u0027s to work, so just add them upstream:\nhttp://www.mail-archive.com/zd1211-devs@lists.sourceforge.net/msg00507.html\nhttp://ubuntuforums.org/showthread.php?t\u003d473046\n\nSigned-off-by: Go Taniguchi \u003cgo@turbolinux.co.jp\u003e\nSigned-off-by: maximilian attems \u003cmax@stro.at\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "daeeb074105a80a34f90a454c24efc14e9a8d3c3"
}
