)]}'
{
  "log": [
    {
      "commit": "ead81cc5fc6d996db6afb20f211241612610a07a",
      "tree": "5ffc3c7960f6ba755fe6e44eda0b82cdb8209180",
      "parents": [
        "15b458fa65cbba395724a99ab1b7d3785ca76c1c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:50:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:26 2008 -0700"
      },
      "message": "netdevice: Move qdisc_list back into net_device proper.\n\nAnd give it it\u0027s own lock.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37437bb2e1ae8af470dfcd5b4ff454110894ccaf",
      "tree": "1795e78a7648252b0c92c972df12b776a28437d7",
      "parents": [
        "7698b4fcabcd790efc4f226bada1e7b5870653af"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:15:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:20 2008 -0700"
      },
      "message": "pkt_sched: Schedule qdiscs instead of netdev_queue.\n\nWhen we have shared qdiscs, packets come out of the qdiscs\nfor multiple transmit queues.\n\nTherefore it doesn\u0027t make any sense to schedule the transmit\nqueue when logically we cannot know ahead of time the TX\nqueue of the SKB that the qdisc-\u003edequeue() will give us.\n\nJust for sanity I added a BUG check to make sure we never\nget into a state where the noop_qdisc is scheduled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2627c8c2241bce45e368e150654d076b58a4595",
      "tree": "e3ad7d1867339f254a324ba1acd5d8bdac1aca76",
      "parents": [
        "d3b753db7c4f1f37a98b51974d484fda5d86dab5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 00:56:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:18 2008 -0700"
      },
      "message": "pkt_sched: Make QDISC_RUNNING a qdisc state.\n\nCurrently it is associated with a netdev_queue, but when we have\nqdisc sharing that no longer makes any sense.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3b753db7c4f1f37a98b51974d484fda5d86dab5",
      "tree": "6596288854d9626f935ddf9c014471a4c38b5c74",
      "parents": [
        "b4c21639ab0f6df07ab7624a8c2f974936708ae5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 20:14:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:18 2008 -0700"
      },
      "message": "pkt_sched: Move gso_skb into Qdisc.\n\nWe liberate any dangling gso_skb during qdisc destruction.\n\nIt really only matters for the root qdisc.  But when qdiscs\ncan be shared by multiple netdev_queue objects, we can\u0027t\nhave the gso_skb in the netdev_queue any more.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92831bc395ac8390bf759775c50cb6f90c6eb03d",
      "tree": "cd112263fde634090d10e53eb722eab5b03ee2ed",
      "parents": [
        "263ba3204a434d0ca851e1321b31cd58376b86cb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 03:48:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:16 2008 -0700"
      },
      "message": "netdev: Kill plain netif_schedule()\n\nNo more users.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eae792b722fef08dcf3aee88266ee7def9710757",
      "tree": "a864c90974a8e998d56ee9f04801eb3f81a6bacf",
      "parents": [
        "e3c50d5d25ac09efd9acbe2b2a3e365466de84ed"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 03:03:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:10 2008 -0700"
      },
      "message": "netdev: Add netdev-\u003eselect_queue() method.\n\nDevices or device layers can set this to control the queue selection\nperformed by dev_pick_tx().\n\nThis function runs under RCU protection, which allows overriding\nfunctions to have some way of synchronizing with things like dynamic\n-\u003ereal_num_tx_queues adjustments.\n\nThis makes the spinlock prefetch in dev_queue_xmit() a little bit\nless effective, but that\u0027s the price right now for correctness.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3c50d5d25ac09efd9acbe2b2a3e365466de84ed",
      "tree": "dc5bc3322f9e4829c2143fc4fc60532fd84ab9a1",
      "parents": [
        "6b0fb1261a4655613bed5dac0e935e733969e999"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 02:58:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:09 2008 -0700"
      },
      "message": "netdev: netdev_priv() can now be sane again.\n\nThe private area of a netdev is now at a fixed offset once more.\n\nUnfortunately, some assumptions that netdev_priv() \u003d\u003d netdev-\u003epriv\ncrept back into the tree.  In particular this happened in the\nloopback driver.  Make it use netdev-\u003eml_priv.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b0fb1261a4655613bed5dac0e935e733969e999",
      "tree": "2f6a57f1c0e674a0a56be42de2f6f9251472616b",
      "parents": [
        "fd2ea0a79faad824258af5dcec1927aa24d81c16"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 02:58:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:08 2008 -0700"
      },
      "message": "netdev: Kill struct net_device_subqueue and netdev-\u003eegress_subqueue*\n\nNo longer used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd2ea0a79faad824258af5dcec1927aa24d81c16",
      "tree": "644fd4ce92227cc319c7a54c63ea07a96b8c6b8d",
      "parents": [
        "24344d2600108b9b79a60c0e4c43b3c499856d14"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 01:56:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:07 2008 -0700"
      },
      "message": "net: Use queue aware tests throughout.\n\nThis effectively \"flips the switch\" by making the core networking\nand multiqueue-aware drivers use the new TX multiqueue structures.\n\nNon-multiqueue drivers need no changes.  The interfaces they use such\nas netif_stop_queue() degenerate into an operation on TX queue zero.\nSo everything \"just works\" for them.\n\nCode that really wants to do \"X\" to all TX queues now invokes a\nroutine that does so, such as netif_tx_wake_all_queues(),\nnetif_tx_stop_all_queues(), etc.\n\npktgen and netpoll required a little bit more surgery than the others.\n\nIn particular the pktgen changes, whilst functional, could be largely\nimproved.  The initial check in pktgen_xmit() will sometimes check the\nwrong queue, which is mostly harmless.  The thing to do is probably to\ninvoke fill_packet() earlier.\n\nThe bulk of the netpoll changes is to make the code operate solely on\nthe TX queue indicated by by the SKB queue mapping.\n\nSetting of the SKB queue mapping is entirely confined inside of\nnet/core/dev.c:dev_pick_tx().  If we end up needing any kind of\nspecial semantics (drops, for example) it will be implemented here.\n\nFinally, we now have a \"real_num_tx_queues\" which is where the driver\nindicates how many TX queues are actually active.\n\nWith IGB changes from Jeff Kirsher.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d8ae3fdeb001b8f534a6782c261aba6ec1779f5",
      "tree": "5c488f59f674ba2c42755a6c34f69ac80824f213",
      "parents": [
        "09e83b5d7d1878065e2453239b49b684cd0fe4e5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 02:52:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:04 2008 -0700"
      },
      "message": "pkt_sched: Remove RR scheduler.\n\nThis actually fixes a bug added by the RR scheduler changes.  The\n-\u003ebands and -\u003eprio2band parameters were being set outside of the\nsch_tree_lock() and thus could result in strange behavior and\ninconsistencies.\n\nIt might be possible, in the new design (where there will be one qdisc\nper device TX queue) to allow similar functionality via a TX hash\nalgorithm for RR but I really see no reason to export this aspect of\nhow these multiqueue cards actually implement the scheduling of the\nthe individual DMA TX rings and the single physical MAC/PHY port.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09e83b5d7d1878065e2453239b49b684cd0fe4e5",
      "tree": "a08d06c81d7bcd47e432443e24b126101ea1f2b9",
      "parents": [
        "e8a0464cc950972824e2e128028ae3db666ec1ed"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 01:52:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:03 2008 -0700"
      },
      "message": "netdev: Kill NETIF_F_MULTI_QUEUE.\n\nThere is no need for a feature bit for something that\ncan be tested by simply checking the TX queue count.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8a0464cc950972824e2e128028ae3db666ec1ed",
      "tree": "5022b95396c0f3b313531bc39b19543c03551b9a",
      "parents": [
        "070825b3840a743e21ebcc44f8279708a4fed977"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:34:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:00 2008 -0700"
      },
      "message": "netdev: Allocate multiple queues for TX.\n\nalloc_netdev_mq() now allocates an array of netdev_queue\nstructures for TX, based upon the queue_count argument.\n\nFurthermore, all accesses to the TX queues are now vectored\nthrough the netdev_get_tx_queue() and netdev_for_each_tx_queue()\ninterfaces.  This makes it easy to grep the tree for all\nthings that want to get to a TX queue of a net device.\n\nProblem spots which are not really multiqueue aware yet, and\nonly work with one queue, can easily be spotted by grepping\nfor all netdev_get_tx_queue() calls that pass in a zero index.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e308a5d806c852f56590ffdd3834d0df0cbed8d7",
      "tree": "294ff654e90950f5162737c26f4799b0b710b748",
      "parents": [
        "f1f28aa3510ddb84c966bac65611bb866c77a092"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:13:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:13:44 2008 -0700"
      },
      "message": "netdev: Add netdev-\u003eaddr_list_lock protection.\n\nAdd netif_addr_{lock,unlock}{,_bh}() helpers.\n\nUse them to protect operations that operate on or read\nthe network device unicast and multicast address lists.\n\nAlso use them in cases where the code simply wants to\nblock calls into the driver\u0027s -\u003eset_rx_mode() and\n-\u003eset_multicast_list() methods.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1f28aa3510ddb84c966bac65611bb866c77a092",
      "tree": "dc8509a61667c52ee43df64bf69566569538b691",
      "parents": [
        "f66ac03d497c162c70cd0ccc802ce1777073cdf3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:08:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:08:33 2008 -0700"
      },
      "message": "netdev: Add addr_list_lock to struct net_device.\n\nThis will be used to protect the per-device unicast and multicast\naddress lists, as well as the callbacks into the drivers which\nconfigure such state such as -\u003eset_rx_mode() and -\u003eset_multicast_list().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "393e52e33c6c26ec7db290dab803bac1bed962d4",
      "tree": "54e93a35c98b994556724ad96a90871bfc38b3b4",
      "parents": [
        "bbd6ef87c544d88c30e4b762b1b61ef267a7d279"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 22:50:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:50:39 2008 -0700"
      },
      "message": "packet: deliver VLAN TCI to userspace\n\nStore the VLAN tag in the auxillary data/tpacket2_hdr so userspace can\nproperly deal with hardware VLAN tagging/stripping.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbd6ef87c544d88c30e4b762b1b61ef267a7d279",
      "tree": "dd9fdfbde65332d3212290d1b8783666475bd861",
      "parents": [
        "bc1d0411b804ad190cdadabac48a10067f17b9e6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 22:50:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:50:15 2008 -0700"
      },
      "message": "packet: support extensible, 64 bit clean mmaped ring structure\n\nThe tpacket_hdr is not 64 bit clean due to use of an unsigned long\nand can\u0027t be extended because the following struct sockaddr_ll needs\nto be at a fixed offset.\n\nAdd support for a version 2 tpacket protocol that removes these\nlimitations.\n\nUserspace can query the header size through a new getsockopt option\nand change the protocol version through a setsockopt option. The\nchanges needed to switch to the new protocol version are:\n\n1. replace struct tpacket_hdr by struct tpacket2_hdr\n2. query header len and save\n3. set protocol version to 2\n - set up ring as usual\n4. for getting the sockaddr_ll, use (void *)hdr + TPACKET_ALIGN(hdrlen)\n   instead of (void *)hdr + TPACKET_ALIGN(sizeof(struct tpacket_hdr))\n\nSteps 2 and 4 can be omitted if the struct sockaddr_ll isn\u0027t needed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc1d0411b804ad190cdadabac48a10067f17b9e6",
      "tree": "0a38da614b6bb46f2ffa2378aca25043a2b33a7c",
      "parents": [
        "6aa895b047720f71ec4eb11452f7c3ce8426941f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 22:49:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:49:30 2008 -0700"
      },
      "message": "vlan: deliver packets received with VLAN acceleration to network taps\n\nWhen VLAN header stripping is used, packets currently bypass packet\nsockets (and other network taps) completely. For locally existing\nVLANs, they appear directly on the VLAN device, for unknown VLANs\nthey are silently dropped.\n\nAdd a new function netif_nit_deliver() to deliver incoming packets\nto all network interface taps and use it in __vlan_hwaccel_rx() to\nmake VLAN packets visible on the underlying device.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6aa895b047720f71ec4eb11452f7c3ce8426941f",
      "tree": "ba52827c2e90de0678043ecf9d43208057d05da7",
      "parents": [
        "968edbe1c82f1a50d80225ed7e410aba419e55bf"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 22:49:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:49:06 2008 -0700"
      },
      "message": "vlan: Don\u0027t store VLAN tag in cb\n\nUse a real skb member to store the skb to avoid clashes with qdiscs,\nwhich are allowed to use the cb area themselves. As currently only real\ndevices that consume the skb set the NETIF_F_HW_VLAN_TX flag, no explicit\ninvalidation is neccessary.\n\nThe new member fills a hole on 64 bit, the skb layout changes from:\n\n        __u32                      mark;                 /*   172     4 */\n        sk_buff_data_t             transport_header;     /*   176     4 */\n        sk_buff_data_t             network_header;       /*   180     4 */\n        sk_buff_data_t             mac_header;           /*   184     4 */\n        sk_buff_data_t             tail;                 /*   188     4 */\n        /* --- cacheline 3 boundary (192 bytes) --- */\n        sk_buff_data_t             end;                  /*   192     4 */\n\n        /* XXX 4 bytes hole, try to pack */\n\nto\n\n        __u32                      mark;                 /*   172     4 */\n        __u16                      vlan_tci;             /*   176     2 */\n\n        /* XXX 2 bytes hole, try to pack */\n\n        sk_buff_data_t             transport_header;     /*   180     4 */\n        sk_buff_data_t             network_header;       /*   184     4 */\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "925068dcdc746236264d1877d3d5df656e87882a",
      "tree": "dc7615e1e87a1ca26ee31510c240a1c85fb6f1ad",
      "parents": [
        "83aa2e964b9b04effa304aaf3c1090b46812a04b",
        "67fbbe1551b24d1bcab8478407f9b8c713d5596e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:30:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:30:17 2008 -0700"
      },
      "message": "Merge branch \u0027davem-next\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n"
    },
    {
      "commit": "f271b2cc78f09c93ccd00a2056d3237134bf994c",
      "tree": "25b379fa23a84627992c197d2e18793fd90c2a7e",
      "parents": [
        "89146504cbfeb120dd08ec7f9f8314c4986189b8"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Mon Jul 14 22:18:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:18:19 2008 -0700"
      },
      "message": "tun: Fix/rewrite packet filtering logic\n\nPlease see the following thread to get some context on this\n\thttp://marc.info/?l\u003dlinux-netdev\u0026m\u003d121564433018903\u0026w\u003d2\n\nBasically the issue is that current multi-cast filtering stuff in\nthe TUN/TAP driver is seriously broken.\nOriginal patch went in without proper review and ACK. It was broken and\nconfusing to start with and subsequent patches broke it completely.\nTo give you an idea of what\u0027s broken here are some of the issues:\n\n- Very confusing comments throughout the code that imply that the\ncharacter device is a network interface in its own right, and that packets\nare passed between the two nics. Which is completely wrong.\n\n- Wrong set of ioctls is used for setting up filters. They look like\nshortcuts for manipulating state of the tun/tap network interface but\nin reality manipulate the state of the TX filter.\n\n- ioctls that were originally used for setting address of the the TX filter\ngot \"fixed\" and now set the address of the network interface itself. Which\nmade filter totaly useless.\n\n- Filtering is done too late. Instead of filtering early on, to avoid\nunnecessary wakeups, filtering is done in the read() call.\n\nThe list goes on and on :)\n\nSo the patch cleans all that up. It introduces simple and clean interface for\nsetting up TX filters (TUNSETTXFILTER + tun_filter spec) and does filtering\nbefore enqueuing the packets.\n\nTX filtering is useful in the scenarios where TAP is part of a bridge, in\nwhich case it gets all broadcast, multicast and potentially other packets when\nthe bridge is learning. So for example Ethernet tunnelling app may want to\nsetup TX filters to avoid tunnelling multicast traffic. QEMU and other\nhypervisors can push RX filtering that is currently done in the guest into the\nhost context therefore saving wakeups and unnecessary data transfer.\n\nSigned-off-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc943b12e48f9341bce48c2fadf094cc721aab93",
      "tree": "8c3244d7f5fae4edbfe0a5103789b0bc5c64f478",
      "parents": [
        "72d9794f444734af56ef12833b496326643e2964",
        "4c9adafff7d910f142fe44fae37ed12c6b99f20f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:40:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:40:34 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "72d9794f444734af56ef12833b496326643e2964",
      "tree": "af0e5654cf7fc9a4801edd97fab3f2d6e5039b30",
      "parents": [
        "0c4c8cae44e9d71afd3031c1e8739bd398a831a8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 20:36:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:36:32 2008 -0700"
      },
      "message": "net-sched: cls_flow: add perturbation support\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4c8cae44e9d71afd3031c1e8739bd398a831a8",
      "tree": "d8a5556b0c7fe30d242e166dafca248adda10d96",
      "parents": [
        "2aec609fb45e84d65bc8eabc7b650bbecb1cc179",
        "2eeea7ba6b4b65ed27b7646a1bdea3b45973c861"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:32:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:32:07 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://eden-feed.erg.abdn.ac.uk/net-next-2.6\n"
    },
    {
      "commit": "2aec609fb45e84d65bc8eabc7b650bbecb1cc179",
      "tree": "eb3e8a79604113392d0ee74b19dbc1dfce579c11",
      "parents": [
        "4c8894980010536915c4f5513ee180e3614aeca9",
        "9076689ab07974a6f5d230fc241448f7a77e9078"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:23:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:23:54 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tnet/netfilter/nf_conntrack_proto_tcp.c\n"
    },
    {
      "commit": "9c0c7a429a0cf02c2ac1998d5cf4c26f6be5c989",
      "tree": "8a2ebc3ddfeb9933601d9c966e4d454b93781819",
      "parents": [
        "bd88a7812f1afd50549f3789cacb707b983fef54"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Wed Jul 09 15:48:45 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 14 14:52:56 2008 -0400"
      },
      "message": "ssb: Include dma-mapping.h\n\nssb.h implements DMA mapping functions, so it should\ninclude dma-mapping.h. This fixes compile failures on certain architectures.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5b5d0e704880addfd979c262e6441f126708539c",
      "tree": "1b3bff6cd378c858ab245de3a40c3510d4ba4745",
      "parents": [
        "2013c7e35aeba39777f9b3eef8a70207b3931152"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Jul 13 11:51:40 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Jul 13 11:51:40 2008 +0100"
      },
      "message": "dccp: Upgrade NDP count from 3 to 6 bytes\n\nRFC 4340, 7.7 specifies up to 6 bytes for the NDP Count option, whereas the code\nis currently limited to up to 3 bytes. This seems to be a relict of an earlier \ndraft version and is brought up to date by the patch.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "d8156534040996f6a93a24d3592d5d587f2587e5",
      "tree": "3b9528f1551560502af9d8686b4615551fe38795",
      "parents": [
        "d3352520273426e4c16e91d189aa8aa7ee5e96c5"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Jul 08 15:13:05 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jul 11 01:20:33 2008 -0400"
      },
      "message": "net: add netif_napi_del function to allow for removal of napistructs\n\nAdds netif_napi_del function which is used to remove the napi struct from\nthe netdev napi_list in cases where CONFIG_NETPOLL was enabled.\nThe motivation for adding this is to handle the case in which the number of\nqueues on a device changes due to a configuration change.  Previously the\nnapi structs for each queue would be left in the list until the netdev was\nfreed.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "ccf9b3b83d0e56fbf20c00a08b15031ce13204a7",
      "tree": "ecefe07436ac172dc99deb6e77e7a7cfd5c81155",
      "parents": [
        "0ce28553cc018be5022f51e67c87997f7271534e"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Thu Jul 10 16:55:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 10 16:55:37 2008 -0700"
      },
      "message": "xfrm: Add a XFRM_STATE_AF_UNSPEC flag to xfrm_usersa_info\n\nAdd a XFRM_STATE_AF_UNSPEC flag to handle the AF_UNSPEC behavior for\nthe selector family. Userspace applications can set this flag to leave\nthe selector family of the xfrm_state unspecified.  This can be used\nto to handle inter family tunnels if the selector is not set from\nuserspace.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79d16385c7f287a33ea771c4dbe60ae43f791b49",
      "tree": "858bfe84e52d88356d5d0b49efc5148a0870ccf9",
      "parents": [
        "b19fa1fa91845234961c64dbd564671aa7c0fd27"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:14:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:14:46 2008 -0700"
      },
      "message": "netdev: Move atomic queue state bits into netdev_queue.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b19fa1fa91845234961c64dbd564671aa7c0fd27",
      "tree": "efb09da87299ef503b59396b69a7667f1650e378",
      "parents": [
        "c773e847ea8f6812804e40f52399c6921a00eab1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:14:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:14:24 2008 -0700"
      },
      "message": "net: Delete NETDEVICES_MULTIQUEUE kconfig option.\n\nMultiple TX queue support is a core networking feature.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c773e847ea8f6812804e40f52399c6921a00eab1",
      "tree": "952e0e262cc0b0f2136bc2a62938ae1d186f896a",
      "parents": [
        "eb6aafe3f843cb0e939546c03540a3b4911b6964"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:13:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:13:53 2008 -0700"
      },
      "message": "netdev: Move _xmit_lock and xmit_lock_owner into netdev_queue.\n\nAccesses are mostly structured such that when there are multiple TX\nqueues the code transformations will be a little bit simpler.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86d804e10a37cd86f16bf72386c37e843a98a74b",
      "tree": "04483a937f11c752aea998298a27fc79e6851b2d",
      "parents": [
        "970565bbad0c7b98db0d14131a69e5a0f4445d49"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:11:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:11:25 2008 -0700"
      },
      "message": "netdev: Make netif_schedule() routines work with netdev_queue objects.\n\nOnly plain netif_schedule() remains taking a net_device, mostly as a\ncompatability item while we transition the rest of these interfaces.\n\nEverything else calls netif_schedule_queue() or __netif_schedule(),\nboth of which take a netdev_queue pointer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "970565bbad0c7b98db0d14131a69e5a0f4445d49",
      "tree": "59ac641da5b22bb5ea6a0a333ceaa907f9959d10",
      "parents": [
        "c2aa288548a29d909ec875e81137fb0dbbb420b7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:10:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:10:33 2008 -0700"
      },
      "message": "netdev: Move gso_skb into netdev_queue.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee609cb36220d18c0cf476b066a5ab7e6f6d3a69",
      "tree": "7b6675143c304a82ffe52943cf94e6f822da303e",
      "parents": [
        "74d58a0c1d5b348a8d4ea9643b573a6ab455a3f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:58:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:58:37 2008 -0700"
      },
      "message": "netdev: Move next_sched into struct netdev_queue.\n\nWe schedule queues, not the device, for output queue processing in BH.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "816f3258e70db38d6d92c8d871377179fd69160f",
      "tree": "7ab28132592c82e2ac40317733ea1dd7d6f4e5b5",
      "parents": [
        "b0e1e6462df3c5944010b3328a546d8fe5d932cd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:49:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 22:49:00 2008 -0700"
      },
      "message": "netdev: Kill qdisc_ingress, use netdev-\u003erx_queue.qdisc instead.\n\nNow that our qdisc management is bi-directional, per-queue, and fully\northogonal, there is no reason to have a special ingress qdisc pointer\nin struct net_device.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e1e6462df3c5944010b3328a546d8fe5d932cd",
      "tree": "37e3f86d09d8b37deb06cf1c142baeb8246bbf97",
      "parents": [
        "555353cfa1aee293de445bfa6de43276138ddd82"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:42:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:42:10 2008 -0700"
      },
      "message": "netdev: Move rest of qdisc state into struct netdev_queue\n\nNow qdisc, qdisc_sleeping, and qdisc_list also live there.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "555353cfa1aee293de445bfa6de43276138ddd82",
      "tree": "b5daba85806b8e36731c4a474aac97f1a0140a51",
      "parents": [
        "dc2b48475a0a36f8b3bbb2da60d3a006dc5c2c84"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:33:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:33:13 2008 -0700"
      },
      "message": "netdev: The ingress_lock member is no longer needed.\n\nEvery qdisc is assosciated with a queue, and in the case of ingress\nqdiscs that will now be netdev-\u003erx_queue so using that queue\u0027s lock is\nthe thing to do.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc2b48475a0a36f8b3bbb2da60d3a006dc5c2c84",
      "tree": "b2421a338840bd1c675f4f91de7c7cf03863fb78",
      "parents": [
        "5ce2d488fe039ddd86a638496cf704df86c74eeb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:18:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 17:18:23 2008 -0700"
      },
      "message": "netdev: Move queue_lock into struct netdev_queue.\n\nThe lock is now an attribute of the device queue.\n\nOne thing to notice is that \"suspicious\" places\nemerge which will need specific training about\nmultiple queue handling.  They are so marked with\nexplicit \"netdev-\u003erx_queue\" and \"netdev-\u003etx_queue\"\nreferences.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb949fbd1878973c3539d9aecff52f284482a937",
      "tree": "e8bde854b18be79723502167c16e2131914a75b7",
      "parents": [
        "e65d22e18038eed7307276e46810d884c402d57d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 16:55:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 16:55:56 2008 -0700"
      },
      "message": "netdev: Create netdev_queue abstraction.\n\nA netdev_queue is an entity managed by a qdisc.\n\nCurrently there is one RX and one TX queue, and a netdev_queue merely\ncontains a backpointer to the net_device.\n\nThe Qdisc struct is augmented with a netdev_queue pointer as well.\n\nEventually the \u0027dev\u0027 Qdisc member will go away and we will have the\nresulting hierarchy:\n\n\tnet_device --\u003e netdev_queue --\u003e Qdisc\n\nAlso, qdisc_alloc() and qdisc_create_dflt() now take a netdev_queue\npointer argument.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54dceb008ffcbe003bea9017cad1227a83b6fc3f",
      "tree": "d4e3345ead16da19efe38dbf97ade38309f8b4f7",
      "parents": [
        "11a100f844f6096787ab20e19f17d72abc957a8f",
        "b46372710ab536c0967f76be5dc41341583d4a54"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 15:39:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 15:39:41 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "11a100f844f6096787ab20e19f17d72abc957a8f",
      "tree": "9dd9f8578727783dc1d321a822402ee6ca83cd10",
      "parents": [
        "9bb8582efb555521c7eec595ebd34e835ddc34b8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 08 15:36:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 15:36:57 2008 -0700"
      },
      "message": "vlan: avoid header copying and linearisation where possible\n\n- vlan_dev_reorder_header() is only called on the receive path after\n  calling skb_share_check(). This means we can use skb_cow() since\n  all we need is a writable header.\n\n- vlan_dev_hard_header() includes a work-around for some apparently\n  broken out of tree MPLS code. The hard_header functions can expect\n  to always have a headroom of at least there own hard_header_len\n  available, so the reallocation check is unnecessary.\n\n- __vlan_put_tag() can use skb_cow_head() to avoid the skb_unshare()\n  copy when the header is writable.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "238f74a227fd7de8ea1bc66dcbbd36cf9920d1cb",
      "tree": "2174b8920ae81c82e7e382d1fc66e1609df11828",
      "parents": [
        "994d31f7430c3639b73c6ee038bd437c926b1227"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jul 02 11:05:34 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 08 14:15:59 2008 -0400"
      },
      "message": "mac80211: move QOS control helpers into ieee80211.h\n\nAlso remove the WLAN_IS_QOS_DATA inline after removing the last\ntwo users.  This starts moving away from using rx-\u003efc to using\nthe header frame_control directly.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "429a380571a6e6b8525b93161544eafc9b227e44",
      "tree": "a90ad1cba6ea557ace90a74ea02af9d5bcad36c1",
      "parents": [
        "b2898a27809f54a33050a70d0eaa4a78194163a0"
      ],
      "author": {
        "name": "Ron Rindjunsky",
        "email": "ron.rindjunsky@intel.com",
        "time": "Tue Jul 01 14:16:03 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 08 10:21:34 2008 -0400"
      },
      "message": "mac80211: add block ack request capability\n\nThis patch adds block ack request capability\n\nSigned-off-by: Ester Kummer \u003cester.kummer@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9bb8582efb555521c7eec595ebd34e835ddc34b8",
      "tree": "8eb6aae062bbd359e820a35d51fb16a32e7b828f",
      "parents": [
        "df6b6a0cf62afeacdeb4c1a35b8fba21fda54399"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 08 03:24:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 03:24:44 2008 -0700"
      },
      "message": "vlan: TCI related type and naming cleanups\n\nThe VLAN code contains multiple spots that use tag, id and tci as\nidentifiers for arguments and variables incorrectly and they actually\ncontain or are expected to contain something different. Additionally\ntypes are used inconsistently (unsigned short vs u16) and identifiers\nare sometimes capitalized.\n\n- consistently use u16 for storing TCI, ID or QoS values\n- consistently use vlan_id and vlan_tci for storing the respective values\n- remove capitalization\n- add kdoc comment to netif_hwaccel_{rx,receive_skb}\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df6b6a0cf62afeacdeb4c1a35b8fba21fda54399",
      "tree": "a38dedd6e4e328f32035a06ea327f20149527b75",
      "parents": [
        "22d1ba74bbafa96d3f425cc12714d3fe8675183f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 08 03:24:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 03:24:14 2008 -0700"
      },
      "message": "vlan: remove useless struct hlist_node declaration from if_vlan.h\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22d1ba74bbafa96d3f425cc12714d3fe8675183f",
      "tree": "5fdc18001037a667e95229dbc34130b7210e8c8c",
      "parents": [
        "7750f403cbe56971336d575b354365190b4e3227"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 08 03:23:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 03:23:57 2008 -0700"
      },
      "message": "vlan: move struct vlan_dev_info to private header\n\nHide struct vlan_dev_info from drivers to prevent them from growing\nmore creative ways to use it. Provide accessors for the two drivers\nthat currently use it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7750f403cbe56971336d575b354365190b4e3227",
      "tree": "bc8a65b0dd0d5cc3faac943f7e3df0c6dfedeaf6",
      "parents": [
        "75b8846acd11ad3fc736d4df3413fe946bbf367c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 08 03:23:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 03:23:36 2008 -0700"
      },
      "message": "vlan: uninline __vlan_hwaccel_rx\n\nThe function is huge and included at least once in every VLAN acceleration\ncapable driver. Uninline it; to avoid having drivers depend on the VLAN\nmodule, the function is always built in statically when VLAN is enabled.\n\nWith all VLAN acceleration capable drivers that build on x86_64 enabled,\nthis results in:\n\n   text    data     bss     dec     hex filename\n6515227  854044  343968 7713239  75b1d7 vmlinux.inlined\n6505637  854044  343968 7703649  758c61 vmlinux.uninlined\n----------------------------------------------------------\n  -9590\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acc81e1465d29e0284008770cc4b8bc90bd93bd7",
      "tree": "7580b619f82a6ae13c425051c305b7d5501e201d",
      "parents": [
        "256f3bfce87fe39ec008b2c27890b30066984f50"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 08 03:21:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 03:21:27 2008 -0700"
      },
      "message": "vlan: fix network_header/mac_header adjustments\n\nLennert Buytenhek points out that the VLAN code incorrectly adjusts\nskb-\u003enetwork_header to point in the middle of the VLAN header and\nadditionally tries to adjust skb-\u003emac_header without checking for\nvalidity.\n\nThe network_header should not be touched at all since we\u0027re only\nadding headers in front of it, mac_header adjustments are not\nnecessary at all.\n\nBased on patch by Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c693610fe923764fe41b846fb86938a2010da6e",
      "tree": "f104646dc005a69f235053a9aee844376a2e41cc",
      "parents": [
        "4ad3f26162ece5aca3045fd45e15dd99acea4a0e"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue Jul 08 03:03:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 03:03:01 2008 -0700"
      },
      "message": "net: remove padding from struct socket on 64bit \u0026 increase objects/cache\n\nremove padding from struct socket reducing its size by 8 bytes.\n    \nThis allows more objects/cache in sock_inode_cache\n12 objects/cache when cacheline size is 128 (generic x86_64)\n    \nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ad3f26162ece5aca3045fd45e15dd99acea4a0e",
      "tree": "05c0db40febdc89055f2572bc0cf42388f798ead",
      "parents": [
        "dde77e604497dada6f224a685278dfb27747ae52"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Tue Jul 08 02:38:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 02:38:56 2008 -0700"
      },
      "message": "netfilter: fix string extension for case insensitive pattern matching\n\nThe flag XT_STRING_FLAG_IGNORECASE indicates case insensitive string\nmatching. netfilter can find cmd.exe, Cmd.exe, cMd.exe and etc easily.\n\nA new revision 1 was added, in the meantime invert of xt_string_info\nwas moved into flags as a flag. If revision is 1, The flag\nXT_STRING_FLAG_INVERT indicates invert matching.\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dde77e604497dada6f224a685278dfb27747ae52",
      "tree": "d4f43497f985e1b8417960640f4be8fe1fc78410",
      "parents": [
        "43138833ee9af07e865a4dcbfe81684c9c2f2262"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Tue Jul 08 02:38:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 02:38:40 2008 -0700"
      },
      "message": "textsearch: convert kmalloc + memset to kzalloc\n\nconvert kmalloc + memset to kzalloc for alloc_ts_config\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9c796783151678d08b1ec1ef410685b2515ba51",
      "tree": "48546b3c11b7111f465d09fe6802bae3e227262f",
      "parents": [
        "58de7862e61cb71251a25314d1b3d7260af1448a"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Tue Jul 08 02:37:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 02:37:31 2008 -0700"
      },
      "message": "textsearch: support for case insensitive searching\n\nThe function textsearch_prepare has a new flag to support case\ninsensitive searching.\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cdf060a5d3c2afc7998af94b26a6c5182419e071",
      "tree": "6524930a211fae0c6d6ad318e4a23cf7ecbf2515",
      "parents": [
        "43de9dfeaa30f7ed801dc1c38bdb63b1738bddcc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 08 02:36:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 02:36:40 2008 -0700"
      },
      "message": "netfilter: cleanup netfilter_ipv6.h userspace header\n\nKernel functions are not for userspace.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2aca084ba82aaf7c148d04914ceed8758ce08a",
      "tree": "dcb3f4f849cf48deac2dd3bafd5c2cd2f0e7dc79",
      "parents": [
        "f3032be921cd126615ce3bfd7084e3d319f3f892",
        "c5a78ac00c400df29645e59938700301efb371d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:08:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:08:07 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wan/hdlc_fr.c\n\tdrivers/net/wireless/iwlwifi/iwl-4965.c\n\tdrivers/net/wireless/iwlwifi/iwl3945-base.c\n"
    },
    {
      "commit": "70c03b49b80ba3634958acc31853771019c0ebd3",
      "tree": "097861a5da46fc10696c97f21720c1e5053b322f",
      "parents": [
        "ce305002e1c9b90c2c151ce18bab0b895dd55ae6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 21:26:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 21:26:57 2008 -0700"
      },
      "message": "vlan: Add GVRP support\n\nAdd GVRP support for dynamically registering VLANs with switches.\n\nBy default GVRP is disabled because we only support the applicant-only\nparticipant model, which means it should not be enabled on vlans that\nare members of a bridge. Since there is currently no way to cleanly\ndetermine that, the user is responsible for enabling it.\n\nThe code is pretty small and low impact, its wrapped in a config\noption though because it depends on the GARP implementation and\nthe STP core.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eca9ebac651f774d8b10fce7c5d173c3c3d3394f",
      "tree": "58b4117a0820dff43d4faa7fdcae5cd7723674c7",
      "parents": [
        "7c85fbf0657f216557b0c9c4a2e4e07f37d8bb8c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 05 21:26:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 21:26:13 2008 -0700"
      },
      "message": "net: Add GARP applicant-only participant\n\nAdd an implementation of the GARP (Generic Attribute Registration Protocol)\napplicant-only participant. This will be used by the following patch to\nadd GVRP support to the VLAN code.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ce2417bfb3c7b1c5ed449782f4d86bafd7f1b69",
      "tree": "5f890cc41654e6381ff7d0264a83f2c79b7ea66c",
      "parents": [
        "32cb5b4e035e3d7b52f1e9de87920645a00e5234",
        "055e5110ae0c0c1176a75b78d789294f2ff2f7af"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 21:03:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 21:03:31 2008 -0700"
      },
      "message": "Merge branch \u0027davem-next\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n"
    },
    {
      "commit": "198191c4a7ce4daba379608fb38b9bc5a4eedc61",
      "tree": "3229362a45a15af42628553926bc040e44c39ce0",
      "parents": [
        "844290e56067aed0a54142d756565abb9614136c"
      ],
      "author": {
        "name": "Krzysztof Halasa",
        "email": "khc@pm.waw.pl",
        "time": "Mon Jun 30 23:26:53 2008 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jul 04 08:47:41 2008 -0400"
      },
      "message": "WAN: convert drivers to use built-in netdev_stats\n\nThere is no point in using separate net_device_stats structs when\nthe one in struct net_device is present. Compiles.\n\nSigned-off-by: Krzysztof Hałasa \u003ckhc@pm.waw.pl\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "f43798c27684ab925adde7d8acc34c78c6e50df8",
      "tree": "21e952a07534dd382835246d02245d5e776c4d8b",
      "parents": [
        "5228ddc98fa49b3cedab4024e269d62410a0d806"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 03 03:48:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 03 03:48:02 2008 -0700"
      },
      "message": "tun: Allow GSO using virtio_net_hdr\n\nAdd a IFF_VNET_HDR flag.  This uses the same ABI as virtio_net\n(ie. prepending struct virtio_net_hdr to packets) to indicate GSO and\nchecksum information.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5228ddc98fa49b3cedab4024e269d62410a0d806",
      "tree": "0d3cceeac55ec09b0fa593666bc03373954b3d9a",
      "parents": [
        "07240fd0902c872f044f523893364a1a24c9f278"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 03 03:46:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 03 03:46:16 2008 -0700"
      },
      "message": "tun: TUNSETFEATURES to set gso features.\n\nethtool is useful for setting (some) device fields, but it\u0027s\nroot-only.  Finer feature control is available through a tun-specific\nioctl.\n\n(Includes Mark McLoughlin \u003cmarkmc@redhat.com\u003e\u0027s fix to hold rtnl sem).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07240fd0902c872f044f523893364a1a24c9f278",
      "tree": "096286005c0b1a19c23011b3c7418710704b833e",
      "parents": [
        "44d28ab19c64d095314ac66f765d0c747519f4ed"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 03 03:45:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 03 03:45:32 2008 -0700"
      },
      "message": "tun: Interface to query tun/tap features.\n\nThe problem with introducing checksum offload and gso to tun is they\nneed to set dev-\u003efeatures to enable GSO and/or checksumming, which is\nsupposed to be done before register_netdevice(), ie. as part of\nTUNSETIFF.\n\nUnfortunately, TUNSETIFF has always just ignored flags it doesn\u0027t\nunderstand, so there\u0027s no good way of detecting whether the kernel\nsupports new IFF_ flags.\n\nThis patch implements a TUNGETFEATURES ioctl which returns all the valid IFF\nflags.  It could be extended later to include other features.\n\nHere\u0027s an example program which uses it:\n\n#include \u003clinux/if_tun.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/ioctl.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cerr.h\u003e\n#include \u003cstdio.h\u003e\n\nstatic struct {\n\tunsigned int flag;\n\tconst char *name;\n} known_flags[] \u003d {\n\t{ IFF_TUN, \"TUN\" },\n\t{ IFF_TAP, \"TAP\" },\n\t{ IFF_NO_PI, \"NO_PI\" },\n\t{ IFF_ONE_QUEUE, \"ONE_QUEUE\" },\n};\n\nint main()\n{\n\tunsigned int features, i;\n\n\tint netfd \u003d open(\"/dev/net/tun\", O_RDWR);\n\tif (netfd \u003c 0)\n\t\terr(1, \"Opening /dev/net/tun\");\n\n\tif (ioctl(netfd, TUNGETFEATURES, \u0026features) !\u003d 0) {\n\t\tprintf(\"Kernel does not support TUNGETFEATURES, guessing\\n\");\n\t\tfeatures \u003d (IFF_TUN|IFF_TAP|IFF_NO_PI|IFF_ONE_QUEUE);\n\t}\n\tprintf(\"Available features are: \");\n\tfor (i \u003d 0; i \u003c sizeof(known_flags)/sizeof(known_flags[0]); i++) {\n\t\tif (features \u0026 known_flags[i].flag) {\n\t\t\tfeatures \u0026\u003d ~known_flags[i].flag;\n\t\t\tprintf(\"%s \", known_flags[i].name);\n\t\t}\n\t}\n\tif (features)\n\t\tprintf(\"(UNKNOWN %#x)\", features);\n\tprintf(\"\\n\");\n\treturn 0;\n}\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0835f8fa56d2d308486f8a34cf1c4480cd27f4e",
      "tree": "8b9e2f60795dbc6e0e0138c8e7c362efecb568e8",
      "parents": [
        "03d2f897e9fb3218989baa2139a951ce7f5414bf"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 16:51:22 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:57 2008 +0900"
      },
      "message": "ipv4,ipv6 mroute: Add some helper inline functions to remove ugly ifdefs.\n\nip{,v6}_mroute_{set,get}sockopt() should not matter by optimization but\nit would be better not to depend on optimization semantically.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "03d2f897e9fb3218989baa2139a951ce7f5414bf",
      "tree": "2949bdd7fbe49c3754cdc8140d5b67b37f0edd66",
      "parents": [
        "623d1a1af77bd52a389c6eda5920e28eb2ee468b"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Thu Jul 03 12:13:36 2008 +0800"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:57 2008 +0900"
      },
      "message": "ipv4: Do cleanup for ip_mr_init\n\nSame as ip6_mr_init(), make ip_mr_init() return errno if fails.\nBut do not do error handling in inet_init(), just print a msg.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "623d1a1af77bd52a389c6eda5920e28eb2ee468b",
      "tree": "85d0a7fbcd83b5a2cacf50b24a66c0063f7eca07",
      "parents": [
        "dd3abc4ef52597ec8268274222574b2700ba3ded"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Thu Jul 03 12:13:30 2008 +0800"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:56 2008 +0900"
      },
      "message": "ipv6: Do cleanup for ip6_mr_init.\n\nIf do not do it, we will get following issues:\n1. Leaving junks after inet6_init failing halfway.\n2. Leaving proc and notifier junks after ipv6 modules unloading.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "1b34be74cbf18f5d58cc85c7c4afcd9f7d74accd",
      "tree": "46cae932b628e96af0a269f8653684298d5ea65f",
      "parents": [
        "778d80be52699596bf70e0eb0761cf5e1e46088d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jun 28 14:18:38 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:56 2008 +0900"
      },
      "message": "ipv6 addrconf: add accept_dad sysctl to control DAD operation.\n\n- If 0, disable DAD.\n- If 1, perform DAD (default).\n- If \u003e1, perform DAD and disable IPv6 operation if DAD for MAC-based\n  link-local address has been failed (RFC4862 5.4.5).\n\nWe do not follow RFC4862 by default.  Refer to the netdev thread entitled\n\"Linux IPv6 DAD not full conform to RFC 4862 ?\"\n\thttp://www.spinics.net/lists/netdev/msg52027.html\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "778d80be52699596bf70e0eb0761cf5e1e46088d",
      "tree": "607d0bd6fe7c7d6f59d88b9287fc534f6693998d",
      "parents": [
        "5ce83afaac956238c3c25f60a899c511e9d8cbf4"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jun 28 14:17:11 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:55 2008 +0900"
      },
      "message": "ipv6: Add disable_ipv6 sysctl to disable IPv6 operaion on specific interface.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "0e77a07ff9d18cdfc6c1fdd5b3c667ae79895489",
      "tree": "0b8b5a24f3c7081244b0a64625f6184733de43cf",
      "parents": [
        "23c0e4a2257051113a99e1377c49af224bd27bc8",
        "18ce3751ccd488c78d3827e9f6bf54e6322676fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 19:25:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 19:25:36 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.26\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.26\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Properly notify block layer of sync writes\n  block: Fix the starving writes bug in the anticipatory IO scheduler\n"
    },
    {
      "commit": "f7572da502916e6abac06d698c0b6a7119cea0c1",
      "tree": "5c6d729ed7bb6cc06a1f5f7bd3cfa81e1eff1337",
      "parents": [
        "c000131c711f68cb68712e6553ddce5fa6ad5c5c",
        "8e29da9ee8958cc17e27f4053420f1c982614793"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 19:00:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 19:00:29 2008 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6\n\n* \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6:\n  i2c: Fix bad hint about irqs in i2c.h\n  i2c: Documentation: fix device matching description\n"
    },
    {
      "commit": "821b03ffac8851d6bc1d5530183d2ed25adae35d",
      "tree": "a447ddd8abf841169e8f2dff1db5a10f774738da",
      "parents": [
        "3d25802e3ba7c82457b5c12bbfeefe391d8a333e",
        "2fe195cfe3e53c144d247b2768e37732e8eae4d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 18:43:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 18:43:16 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (55 commits)\n  net: fib_rules: fix error code for unsupported families\n  netdevice: Fix wrong string handle in kernel command line parsing\n  net: Tyop of sk_filter() comment\n  netlink: Unneeded local variable\n  net-sched: fix filter destruction in atm/hfsc qdisc destruction\n  net-sched: change tcf_destroy_chain() to clear start of filter list\n  ipv4: fix sysctl documentation of time related values\n  mac80211: don\u0027t accept WEP keys other than WEP40 and WEP104\n  hostap: fix sparse warnings\n  hostap: don\u0027t report useless WDS frames by default\n  textsearch: fix Boyer-Moore text search bug\n  netfilter: nf_conntrack_tcp: fixing to check the lower bound of valid ACK\n  ipv6 route: Convert rt6_device_match() to use RT6_LOOKUP_F_xxx flags.\n  netlabel: Fix a problem when dumping the default IPv6 static labels\n  net/inet_lro: remove setting skb-\u003eip_summed when not LRO-able\n  inet fragments: fix race between inet_frag_find and inet_frag_secret_rebuild\n  CONNECTOR: add a proc entry to list connectors\n  netlink: Fix some doc comments in net/netlink/attr.c\n  tcp: /proc/net/tcp rto,ato values not scaled properly (v2)\n  include/linux/netdevice.h: don\u0027t export MAX_HEADER to userspace\n  ...\n"
    },
    {
      "commit": "0853ad66b14feb12acde7ac13b7c3b75770a0adc",
      "tree": "0091f893aec69d708ec37ed9e56e1467fd5c95d8",
      "parents": [
        "ecbed6a41900126e7b9509e12a8d0cc22176e3eb"
      ],
      "author": {
        "name": "Santwona Behera",
        "email": "santwona.behera@sun.com",
        "time": "Wed Jul 02 03:47:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 02 03:47:41 2008 -0700"
      },
      "message": "netdev: Add support for rx flow hash configuration, using ethtool.\n\nAdded new interfaces to ethtool to configure receive network flow\ndistribution across multiple rx rings using hashing.\n\nSigned-off-by: Santwona Behera \u003csantwona.behera@sun.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e29da9ee8958cc17e27f4053420f1c982614793",
      "tree": "b495777c2d0fefcbbb24c90157b3b95e06235f1f",
      "parents": [
        "2260e63a2f313f416b31af80d02f02ef92d20d78"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Tue Jul 01 22:38:18 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Tue Jul 01 22:38:18 2008 +0200"
      },
      "message": "i2c: Fix bad hint about irqs in i2c.h\n\ni2c.h mentions -1 as a not-issued irq. This false hint was taken by\nof_i2c and caused crashes. Don\u0027t give any advice as \u0027no irq\u0027 is not\nconsistent across all architectures yet and it is not needed internally\nby the i2c-core.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "18ce3751ccd488c78d3827e9f6bf54e6322676fb",
      "tree": "4bb83c2b963e8ebe918b79f61d1a440fb1d28f8d",
      "parents": [
        "d585d0b9d73ed999cc7b8cf3cac4a5b01abb544e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 01 09:07:34 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 01 09:07:34 2008 +0200"
      },
      "message": "Properly notify block layer of sync writes\n\nfsync_buffers_list() and sync_dirty_buffer() both issue async writes and\nthen immediately wait on them. Conceptually, that makes them sync writes\nand we should treat them as such so that the IO schedulers can handle\nthem appropriately.\n\nThis patch fixes a write starvation issue that Lin Ming reported, where\nxx is stuck for more than 2 minutes because of a large number of\nsynchronous IO in the system:\n\nINFO: task kjournald:20558 blocked for more than 120 seconds.\n\"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this\nmessage.\nkjournald     D ffff810010820978  6712 20558      2\nffff81022ddb1d10 0000000000000046 ffff81022e7baa10 ffffffff803ba6f2\nffff81022ecd0000 ffff8101e6dc9160 ffff81022ecd0348 000000008048b6cb\n0000000000000086 ffff81022c4e8d30 0000000000000000 ffffffff80247537\nCall Trace:\n[\u003cffffffff803ba6f2\u003e] kobject_get+0x12/0x17\n[\u003cffffffff80247537\u003e] getnstimeofday+0x2f/0x83\n[\u003cffffffff8029c1ac\u003e] sync_buffer+0x0/0x3f\n[\u003cffffffff8066d195\u003e] io_schedule+0x5d/0x9f\n[\u003cffffffff8029c1e7\u003e] sync_buffer+0x3b/0x3f\n[\u003cffffffff8066d3f0\u003e] __wait_on_bit+0x40/0x6f\n[\u003cffffffff8029c1ac\u003e] sync_buffer+0x0/0x3f\n[\u003cffffffff8066d48b\u003e] out_of_line_wait_on_bit+0x6c/0x78\n[\u003cffffffff80243909\u003e] wake_bit_function+0x0/0x23\n[\u003cffffffff8029e3ad\u003e] sync_dirty_buffer+0x98/0xcb\n[\u003cffffffff8030056b\u003e] journal_commit_transaction+0x97d/0xcb6\n[\u003cffffffff8023a676\u003e] lock_timer_base+0x26/0x4b\n[\u003cffffffff8030300a\u003e] kjournald+0xc1/0x1fb\n[\u003cffffffff802438db\u003e] autoremove_wake_function+0x0/0x2e\n[\u003cffffffff80302f49\u003e] kjournald+0x0/0x1fb\n[\u003cffffffff802437bb\u003e] kthread+0x47/0x74\n[\u003cffffffff8022de51\u003e] schedule_tail+0x28/0x5d\n[\u003cffffffff8020cac8\u003e] child_rip+0xa/0x12\n[\u003cffffffff80243774\u003e] kthread+0x0/0x74\n[\u003cffffffff8020cabe\u003e] child_rip+0x0/0x12\n\nLin Ming confirms that this patch fixes the issue. I\u0027ve run tests with\nit for the past week and no ill effects have been observed, so I\u0027m\nproposing it for inclusion into 2.6.26.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e1441b9a41c33aa9236008a7cfe49a8e723fb397",
      "tree": "87053114a75777dfdc6a81de97ae43fc55991ad8",
      "parents": [
        "70c85057e0bde35eb56352a293ecb5d1641a0334",
        "656acd2bbc4ce7f224de499ee255698701396c48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 30 08:58:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 30 08:58:09 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: fix locking in force-feedback core\n  Input: add KEY_MEDIA_REPEAT definition\n"
    },
    {
      "commit": "4bbff7e408a54cce88d26191191e8bcda2a60d55",
      "tree": "1122c6ae37a1f3b49410a65fbd810fcede84b1fb",
      "parents": [
        "90d95ef617a535a8832bdcb8dee07bf591e5dd82"
      ],
      "author": {
        "name": "Bastien Nocera",
        "email": "hadess@hadess.net",
        "time": "Thu Jun 26 09:13:48 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jun 30 09:25:12 2008 -0400"
      },
      "message": "Input: add KEY_MEDIA_REPEAT definition\n\nThis patch adds the Repeat key to the input layer. The usage\nin the HUT is 0xBC (listed under \"15.7 Transport Controls\").\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "0acbbee440fadf45164cc9537ee7d528d045f2d6",
      "tree": "cbdb4d3f7fa97fd657f2e8e3489591dc444b9f23",
      "parents": [
        "535e49f48e2fc95a6de8efb366ca8af35d424642",
        "c4e6a2e64e948de42473e9c829181d768b1258c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:22:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:22:30 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  dock: bay: Don\u0027t call acpi_walk_namespace() when ACPI is disabled.\n  ACPI: don\u0027t walk tables if ACPI was disabled\n  thermal: Create CONFIG_THERMAL_HWMON\u003dn\n"
    },
    {
      "commit": "535e49f48e2fc95a6de8efb366ca8af35d424642",
      "tree": "11bf5bf2a88a687f7cb7c63b522a6e6eba12a42d",
      "parents": [
        "0b20715f3f83141ab5a2bb14b844b7c3c8bcf1aa",
        "b660398101cd0622325480a67ac88bb4d33d553a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:21:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:21:56 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:\n  kbuild: fix a.out.h export to userspace with O\u003d build.\n"
    },
    {
      "commit": "a4480ac4f966384f9d2db98bffec223e4eaf6150",
      "tree": "25760cb0412316ef41cc73fa6c0ac6c4a577025f",
      "parents": [
        "4f46accee45d74a408e417c04c0ed1543a7c51e9",
        "d8de72473effd674a3c1fe9621821f406f5587c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:15:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:15:10 2008 -0700"
      },
      "message": "Merge branch \u0027audit.b52\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b52\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] remove useless argument type in audit_filter_user()\n  [PATCH] audit: fix kernel-doc parameter notation\n  [PATCH] kernel/audit.c: nlh-\u003enlmsg_type is gotten more than once\n"
    },
    {
      "commit": "4f46accee45d74a408e417c04c0ed1543a7c51e9",
      "tree": "d7bf042ab27280c9f45c1ab3959e65a3db131f59",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0",
        "cdd16d0265c9234228fd37fbbad844d7e894b278"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:14:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:14:37 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [patch 2/3] vfs: dcache cleanups\n  [patch 1/3] vfs: dcache sparse fixes\n  [patch 3/3] vfs: make d_path() consistent across mount operations\n  [patch 4/4] flock: remove unused fields from file_lock_operations\n  [patch 3/4] vfs: fix ERR_PTR abuse in generic_readlink\n  [patch 2/4] fs: make struct file arg to d_path const\n  [patch 1/4] vfs: path_{get,put}() cleanups\n  [patch for 2.6.26 4/4] vfs: utimensat(): fix write access check for futimens()\n  [patch for 2.6.26 3/4] vfs: utimensat(): fix error checking for {UTIME_NOW,UTIME_OMIT} case\n  [patch for 2.6.26 1/4] vfs: utimensat(): ignore tv_sec if tv_nsec \u003d\u003d UTIME_OMIT or UTIME_NOW\n  [patch for 2.6.26 2/4] vfs: utimensat(): be consistent with utime() for immutable and append-only files\n  [PATCH] fix cgroup-inflicted breakage in block_dev.c\n"
    },
    {
      "commit": "28f49d8fec19833672a6a813bfde0068fee50bc9",
      "tree": "6905c5cabc063e44b891ae0af5b5d7cce69e6e71",
      "parents": [
        "332e4af80d1214fbf0e263e1408fc7c5b64ecdd6",
        "ff28bd94e307c67abb1bccda5d3a9018bd798e08"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 22:57:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 22:57:58 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "332e4af80d1214fbf0e263e1408fc7c5b64ecdd6",
      "tree": "7c8f8ada7ab8fc9cb2497d95e52dce4d2c4493a3",
      "parents": [
        "1b63ba8a86c85524a8d7e5953b314ce71ebcb9c9",
        "be0976be9148f31ee0d1997354c3e30ff8d07587"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 21:28:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 21:28:46 2008 -0700"
      },
      "message": "Merge branch \u0027davem-next\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n"
    },
    {
      "commit": "818727badc14ce57dc099a075b05505d50b7956e",
      "tree": "11dd25656d1fbcdf8861de3a11eeeb1f9538a93f",
      "parents": [
        "0caa11663cbfc55209fd3ccab6afab2708bb44fd"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Wed Jun 18 15:40:12 2008 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Sat Jun 28 10:23:34 2008 -0400"
      },
      "message": "rndis_host: pass buffer length to rndis_command\n\nPass buffer length to rndis_command so that rndis_command can read full\nresponse buffer from device instead of max CONTROL_BUFFER_SIZE bytes.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "1b63ba8a86c85524a8d7e5953b314ce71ebcb9c9",
      "tree": "fe3dc41cbb47ae12b7c3faf6a88b097349e50d5a",
      "parents": [
        "e35c3269edba151e1c703d87068a28ce2cd65bb0",
        "d420895efb259a78dda50f95289571faa6e10e41"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/iwlwifi/iwl4965-base.c\n"
    },
    {
      "commit": "251a4b320f2352598f84e4452ab538aa8064af52",
      "tree": "8993e1aafe4917c85a12f3ac0e8bb10b37a787e1",
      "parents": [
        "9a375803feaadb6c34e0807bd9325885dcca5c00"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Fri Jun 27 20:09:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 27 20:09:00 2008 -0700"
      },
      "message": "net/inet_lro: remove setting skb-\u003eip_summed when not LRO-able\n\nWhen an SKB cannot be chained to a session, the current code attempts\nto \"restore\" its ip_summed field from lro_mgr-\u003eip_summed. However,\nlro_mgr-\u003eip_summed does not hold the original value; in fact, we\u0027d\nbetter not touch skb-\u003eip_summed since it is not modified by the code\nin the path leading to a failure to chain it.  Also use a cleaer\ncomment to the describe the ip_summed field of struct net_lro_mgr.\n\nIssue raised by Or Gerlitz \u003cogerlitz@voltaire.com\u003e\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c88e6f51c2154c7606f7e281bcca2d1a2c89d7b2",
      "tree": "b26181f438bff08e6f63afe73c1b66ed240dcbec",
      "parents": [
        "ede16af4cdbd21fa15d4178beb7c6fcbcccd07e9"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jun 27 19:54:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 27 19:54:54 2008 -0700"
      },
      "message": "include/linux/netdevice.h: don\u0027t export MAX_HEADER to userspace\n\nDue to the CONFIG_\u0027s the value is anyway not correct in userspace.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b660398101cd0622325480a67ac88bb4d33d553a",
      "tree": "3e527c721c71a948727fcd1ad52ac240ca61f43d",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "david.woodhouse@intel.com",
        "time": "Fri Jun 27 14:39:42 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Fri Jun 27 23:13:54 2008 +0200"
      },
      "message": "kbuild: fix a.out.h export to userspace with O\u003d build.\n\nWe need to check for existence of the a.out.h header in the source tree,\nnot the object tree, if we want it to get the right answer with O\u003d.\n\nSigned-off-by: David Woodhouse \u003cdavid.woodhouse@intel.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "ffd7891dc909b3648e87f7cf8f84a6dc12fc1cc6",
      "tree": "563c41b3bce49effd3544081cb54ba5ab6fdfb15",
      "parents": [
        "61243d8e79de67d703b192fae2c4ab80fc0fac34"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Sat Jun 21 10:02:46 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 27 09:09:17 2008 -0400"
      },
      "message": "mac80211: Let drivers have access to TKIP key offets for TX and RX MIC\n\nSome drivers may want to to use the TKIP key offsets for TX and RX\nMIC so lets move this out. Lets also clear up a bit how this is used\ninternally in mac80211.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f225763a7d6c92c4932dbd528437997078496fcc",
      "tree": "5d787c7c0bdabcf72e98603a85672ebe95a3682e",
      "parents": [
        "316af76f3475bb73dbb11f1c6d549ae589efb3d0"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Jun 20 11:50:29 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 27 09:09:15 2008 -0400"
      },
      "message": "ssb, b43, b43legacy, b44: Rewrite SSB DMA API\n\nThis is a rewrite of the DMA API for SSB devices.\nThis is needed, because the old (non-existing) \"API\" made too many bad\nassumptions on the API of the host-bus (PCI).\nThis introduces an almost complete SSB-DMA-API that maps to the lowlevel\nbus-API based on the bustype.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b662348662f9661f9259c7186c1bdb65620045f1",
      "tree": "3010967b8be537cf0743ed2f0f872140f5f8011a",
      "parents": [
        "f2df38596a81b6c24f4586b0b4befeaebf3e02db"
      ],
      "author": {
        "name": "Assaf Krauss",
        "email": "assaf.krauss@intel.com",
        "time": "Mon Jun 16 16:09:49 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 16:49:14 2008 -0400"
      },
      "message": "mac80211: 11h - Handling measurement request\n\nThis patch handles the 11h measurement request information element.\nThis is minimal requested implementation - refuse measurement.\n\nSigned-off-by: Assaf Krauss \u003cassaf.krauss@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f2df38596a81b6c24f4586b0b4befeaebf3e02db",
      "tree": "3906ec28e75cb84b9644b94a8cec202c61f4f0f6",
      "parents": [
        "b99a017c01bb19b58fd0826e36a1bdacf581c545"
      ],
      "author": {
        "name": "Assaf Krauss",
        "email": "assaf.krauss@intel.com",
        "time": "Sun Jun 15 18:23:29 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 16:49:14 2008 -0400"
      },
      "message": "mac80211: 11h Infrastructure - Parsing\n\nThis patch introduces parsing of 11h and 11d related elements from incoming\nmanagement frames.\n\nSigned-off-by: Assaf Krauss \u003cassaf.krauss@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5005657cbd0fd6f277f807c0612a6b6d4396a02c",
      "tree": "e6ed81f07a1a85ed2c440ac8631ca19cc77907c1",
      "parents": [
        "dc288520a21879c6540f3249e9532c5e032da4e8"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:46:42 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:22 2008 -0400"
      },
      "message": "rfkill: rename the rfkill_state states and add block-locked state\n\nThe current naming of rfkill_state causes a lot of confusion: not only the\n\"kill\" in rfkill suggests negative logic, but also the fact that rfkill cannot\nturn anything on (it can just force something off or stop forcing something\noff) is often forgotten.\n\nRename RFKILL_STATE_OFF to RFKILL_STATE_SOFT_BLOCKED (transmitter is blocked\nand will not operate; state can be changed by a toggle_radio request), and\nRFKILL_STATE_ON to RFKILL_STATE_UNBLOCKED (transmitter is not blocked, and may\noperate).\n\nAlso, add a new third state, RFKILL_STATE_HARD_BLOCKED (transmitter is blocked\nand will not operate; state cannot be changed through a toggle_radio request),\nwhich is used by drivers to indicate a wireless transmiter was blocked by a\nhardware rfkill line that accepts no overrides.\n\nKeep the old names as #defines, but document them as deprecated.  This way,\ndrivers can be converted to the new names *and* verified to actually use rfkill\ncorrectly one by one.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "79399a8d1908f6a406e82d23c5a9937e1722ed3a",
      "tree": "2eb7cfc13959917114b745e4a0bff2810df1c870",
      "parents": [
        "526324b61a9667ed9a71f0a8a8899cf675346c76"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:03 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:21 2008 -0400"
      },
      "message": "rfkill: add notifier chains support\n\nAdd a notifier chain for use by the rfkill class.  This notifier chain\nsignals the following events (more to be added when needed):\n\n  1. rfkill: rfkill device state has changed\n\nA pointer to the rfkill struct will be passed as a parameter.\n\nThe notifier message types have been added to include/linux/rfkill.h\ninstead of to include/linux/notifier.h in order to avoid the madness of\nmodifying a header used globally (and that triggers an almost full tree\nrebuild every time it is touched) with information that is of interest only\nto code that includes the rfkill.h header.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "477576a073699783abb53ae14993d5d41c66301d",
      "tree": "bde28a746ff9ebbc7642f36828a6115bc4bc00e9",
      "parents": [
        "801e49af4c1a9b988ba0d25de2b368c99c3bf2b3"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:01 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:20 2008 -0400"
      },
      "message": "rfkill: add the WWAN radio type\n\nUnfortunately, instead of adding a generic Wireless WAN type, a technology-\nspecific type (WiMAX) was added.  That\u0027s useless for other WWAN devices,\nsuch as EDGE, UMTS, X-RTT and other such radios.\n\nAdd a WWAN rfkill type for generic wireless WAN devices.  No keys are added\nas most devices really want to use KEY_WLAN for WWAN control (in a cycle of\nnone, WLAN, WWAN, WLAN+WWAN) and need no specific keycode added.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Iñaky Pérez-González \u003cinaky.perez-gonzalez@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "801e49af4c1a9b988ba0d25de2b368c99c3bf2b3",
      "tree": "60fbf2b2ce2d9aab3055198853d2a76223b03f71",
      "parents": [
        "e954b0b85b9e737564b8ad9738de5816747b5901"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:00 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:20 2008 -0400"
      },
      "message": "rfkill: add read-write rfkill switch support\n\nCurrently, rfkill support for read/write rfkill switches is hacked through\na round-trip over the input layer and rfkill-input to let a driver sync\nrfkill-\u003estate to hardware changes.\n\nThis is buggy and sub-optimal.  It causes real problems.  It is best to\nthink of the rfkill class as supporting only write-only switches at the\nmoment.\n\nIn order to implement the read/write functionality properly:\n\nAdd a get_state() hook that is called by the class every time it needs to\nfetch the current state of the switch.  Add a call to this hook every time\nthe *current* state of the radio plays a role in a decision.\n\nAlso add a force_state() method that can be used to forcefully syncronize\nthe class\u0027 idea of the current state of the switch.  This allows for a\nfaster implementation of the read/write functionality, as a driver which\nget events on switch changes can avoid the need for a get_state() hook.\n\nIf the get_state() hook is left as NULL, current behaviour is maintained,\nso this change is fully backwards compatible with the current rfkill\ndrivers.\n\nFor hardware that issues events when the rfkill state changes, leave\nget_state() NULL in the rfkill struct, set the initial state properly\nbefore registering with the rfkill class, and use the force_state() method\nin the driver to keep the rfkill interface up-to-date.\n\nget_state() can be called by the class from atomic context. It must not\nsleep.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f3146aff7f283c8699e0c97df6307a705786eeba",
      "tree": "40320f74bf2408f814960d6e2772e6100eed6e7c",
      "parents": [
        "1839cea91e5629756dd4f87c5d70d8a18b89c0b4"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:22:56 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:19 2008 -0400"
      },
      "message": "rfkill: clarify meaning of rfkill states\n\nrfkill really should have been named rfswitch.  As it is, one can get\nconfused whether RFKILL_STATE_ON means the KILL switch is on (and\ntherefore, the radio is being *blocked* from operating), or whether it\nmeans the RADIO rf output is on.\n\nClearly state that RFKILL_STATE_ON means the radio is *unblocked* from\noperating (i.e. there is no rf killing going on).\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "16d752397301b95abaa95cbaf9e785d221872311",
      "tree": "6fa843f38830f7cb62438ec7ccb332ae27ad74cd",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Rene Herman",
        "email": "rene.herman@keyaccess.nl",
        "time": "Tue Jun 24 19:38:56 2008 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jun 25 19:25:42 2008 -0400"
      },
      "message": "thermal: Create CONFIG_THERMAL_HWMON\u003dn\n\nA bug in libsensors \u003c\u003d 2.10.6 is exposed\nwhen this new hwmon I/F is enabled.\nCreate CONFIG_THERMAL_HWMON\u003dn\nuntil some time after libsensors 2.10.7 ships\nso those users can run the latest kernel.\n\nlibsensors 3.x is already fixed -- those users\ncan use CONFIG_THERMAL_HWMON\u003dy now.\n\nSigned-off-by: Rene Herman \u003crene.herman@gmail.com\u003e\nAcked-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "1839cea91e5629756dd4f87c5d70d8a18b89c0b4",
      "tree": "88c6788cab32303570c7558dda5cbf40ed26bfb3",
      "parents": [
        "e35c3269edba151e1c703d87068a28ce2cd65bb0",
        "ccc580571cf0799d0460a085a7632b77753f083e"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 25 15:17:58 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 25 15:17:58 2008 -0400"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/wireless-2.6\n"
    },
    {
      "commit": "d8de72473effd674a3c1fe9621821f406f5587c9",
      "tree": "4b96ac9b82cc156f9ee01da00450f1a97222353f",
      "parents": [
        "9f0aecdd1cd6aacee9aa8f08031f4f2e09e454dc"
      ],
      "author": {
        "name": "Peng Haitao",
        "email": "penght@cn.fujitsu.com",
        "time": "Tue May 20 09:13:02 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 24 23:36:35 2008 -0400"
      },
      "message": "[PATCH] remove useless argument type in audit_filter_user()\n\nThe second argument \"type\" is not used in audit_filter_user(), so I think that type can be removed. If I\u0027m wrong, please tell me.\n\nSigned-off-by: Peng Haitao \u003cpenght@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f8dd0ecbb74d4b220b105d77c0633945ebb5453e",
      "tree": "967cf1edddd83c99f3b579747dd2f70c7f96aadc",
      "parents": [
        "aa1eb452e8d8a97ee65ace0054e7a733ae12cf6d"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Tue Jun 24 22:16:04 2008 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Jun 24 22:58:07 2008 -0400"
      },
      "message": "DM9000: Allow the use of the NSR register to get link status.\n\nThe DM9000\u0027s internal PHY reports a copy of the link status\nin the NSR register of the chip. Reading the status when\npolling for link status is faster as it eliminates the need\nto sleep, but does not print as much information.\n\nAdd an platform flag to force this behaviour, and a Kconfig\noption to allow it to be forced to the faster method always.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "06e05645661211b9eaadaf6344c335d2e80f0ba2",
      "tree": "8846d2a5052aec44141e811c0a76fdb39c2e77ca",
      "parents": [
        "d4acf7e7abe45457e751525a2a4d5b693dfdd597"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Jun 06 16:37:36 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:16:59 2008 +0300"
      },
      "message": "KVM: close timer injection race window in __vcpu_run\n\nIf a timer fires after kvm_inject_pending_timer_irqs() but before\nlocal_irq_disable() the code will enter guest mode and only inject such\ntimer interrupt the next time an unrelated event causes an exit.\n\nIt would be simpler if the timer-\u003epending irq conversion could be done\nwith IRQ\u0027s disabled, so that the above problem cannot happen.\n\nFor now introduce a new vcpu requests bit to cancel guest entry.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "34f80b04f325078ff21123579343d99756ad8d0e",
      "tree": "b24ef6256970da8cfad6124dc698a9e351d46eb1",
      "parents": [
        "e523287e8edad79b4e5753f98dcf8f75cabd3963"
      ],
      "author": {
        "name": "Eilon Greenstein",
        "email": "eilong@broadcom.com",
        "time": "Mon Jun 23 20:33:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 23 20:33:01 2008 -0700"
      },
      "message": "bnx2x: Add support for BCM57711 HW\n\nSupporting the 57711 and 57711E - refers to in the code as E1H. The\n57710 is referred to as E1.\n\nTo support the new members in the family, the bnx2x structure was\ndivided to 3 parts: common, port and function. These changes caused some\nrearrangement in the bnx2x.h file.\n\nA set of accessories macros were added to make access to the bnx2x\nstructure more readable\n\nSigned-off-by: Eilon Greenstein \u003ceilong@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "36c7343b4ecac2432430f5393314f1bdc2c219a5"
}
