)]}'
{
  "log": [
    {
      "commit": "6de0702b5b93da0ef097aa092b4597fbc024ebba",
      "tree": "601d1ac548d2c5e83be23c9a81472665378e0503",
      "parents": [
        "05fc1576dabb1defae3c8c0371fb9d21f7db997a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 03:35:20 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:46:02 2011 -0200"
      },
      "message": "Bluetooth: move __l2cap_sock_close() to l2cap_sock.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "fd83ccdb393e3190633e0240dd73faac8998164b",
      "tree": "a5d0c8c4fd9a99deb6e0aa25940d7b2d7682582e",
      "parents": [
        "dcba0dba54b566a08376f93cab35cdabd6abda20"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 03:20:52 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:31 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_sendmsg() to l2cap_sock.c\n\nAlso moves some L2CAP sending functions declaration to l2cap.h\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "dcba0dba54b566a08376f93cab35cdabd6abda20",
      "tree": "b56d1c1694723e2e7c138cfa763c885b6c14eda2",
      "parents": [
        "6898325923f9571fbede3372dc490faa43b3258a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 03:08:36 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:31 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_shutdown() to l2cap_sock.c\n\nDeclare __l2cap_wait_ack() and  l2cap_sock_clear_timer() in l2cap.h\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "6898325923f9571fbede3372dc490faa43b3258a",
      "tree": "bdfaadcad5862da390747be596d7a9581c414e94",
      "parents": [
        "4e34c50bfe5ba87da1622cc7c6ed10712da255ad"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 03:02:31 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:31 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_recvmsg() to l2cap_sock.c\n\nIt causes the move of the declaration of 3 functions to l2cap.h:\nl2cap_get_ident(), l2cap_send_cmd(), l2cap_build_conf_req()\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "4e34c50bfe5ba87da1622cc7c6ed10712da255ad",
      "tree": "1efef8e2e5f664c144bfcd4eee2f54863c43a152",
      "parents": [
        "99f4808db0c052f3c92a689ec2841618bf2ce14a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 02:56:13 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:31 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_connect() to l2cap_sock.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "99f4808db0c052f3c92a689ec2841618bf2ce14a",
      "tree": "7cac9efa87d13303b978c091cbfd899d7085d2e4",
      "parents": [
        "33575df7be6748292f88453f29319af6d639c5c8"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 02:52:55 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:31 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_getsockopt() to l2cap_sock.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "33575df7be6748292f88453f29319af6d639c5c8",
      "tree": "3f02cd99f9cac2371c8d96aa74a3917952c183b0",
      "parents": [
        "d7175d55255cb0a576844bc6e986000e0d7f8e9d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 02:48:48 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:31 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_setsockopt() to l2cap_sock.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "d7175d55255cb0a576844bc6e986000e0d7f8e9d",
      "tree": "e63d445a79fefab0a17d2b69ab86503450481c13",
      "parents": [
        "c47b7c724bc7106acf602b2ce99922a2d14ea62b"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 02:43:46 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:30 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_getname() to l2cap_sock.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c47b7c724bc7106acf602b2ce99922a2d14ea62b",
      "tree": "28dc23a5a4e3641fa4d55b70bc5d6c8adec30be8",
      "parents": [
        "af6bcd8205ac06fa1de98b2b28303157fb9c3dfc"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 02:42:23 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:30 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_accept() to l2cap_sock.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "af6bcd8205ac06fa1de98b2b28303157fb9c3dfc",
      "tree": "42407e728ed5b3f61dab1c1b338b93d8321930cb",
      "parents": [
        "554f05bb8a0707dcc0ba4ea1dba1fb9970846ab5"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 02:40:28 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:30 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_bind()/listen() to l2cap_sock.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "554f05bb8a0707dcc0ba4ea1dba1fb9970846ab5",
      "tree": "a7aaed5d2bf68fdd5be3a1a8a36d3382e99d109d",
      "parents": [
        "65390587c7bcf8bb60b48387db766d8d7dfea982"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 02:36:42 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:30 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_release() to l2cap_sock.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "65390587c7bcf8bb60b48387db766d8d7dfea982",
      "tree": "51037c1b24f8234f9e8ddc07cf594ce42fed1b91",
      "parents": [
        "bb58f747e519aba07a6f05a78d58cf8a0788e2d5"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Feb 04 02:33:56 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:30 2011 -0200"
      },
      "message": "Bluetooth: move l2cap_sock_ops to l2cap_sock.c\n\nFirst step to move all l2cap_sock_ops function to l2cap_sock.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "bb58f747e519aba07a6f05a78d58cf8a0788e2d5",
      "tree": "d65743650d5f1a164bbb709a8aa7df4b13250623",
      "parents": [
        "0a708f8fc46fde3be2116b8d79f7469a24097c90"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Feb 03 20:50:35 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:43:30 2011 -0200"
      },
      "message": "Bluetooth: Initial work for L2CAP split.\n\nThis patch tries to do the minimal to move l2cap_sock_create() and its\ndependencies to l2cap_sock.c. It create a API to initialize and cleanup\nthe L2CAP sockets from l2cap_core.c through l2cap_init_sockets() and\nl2cap_cleanup_sockets().\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "17fa4b9dff72fb3a1a68cc80caf98fc941d2b8b3",
      "tree": "34febcb1be7bf64995dd94c5db5755c5d9d7754f",
      "parents": [
        "980e1a537fed7dfa53e9a4b6e586b43341f8c2d5"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Tue Jan 25 13:28:33 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:08 2011 -0200"
      },
      "message": "Bluetooth: Add set_io_capability management command\n\nThis patch adds a new set_io_capability management command which is used\nto set the IO capability for Secure Simple Pairing (SSP) as well as the\nSecurity Manager Protocol (SMP). The value is per hci_dev and each\nhci_conn object inherits it upon creation.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "980e1a537fed7dfa53e9a4b6e586b43341f8c2d5",
      "tree": "36d7716d48a71e16f37afb5d8afdb527463826cd",
      "parents": [
        "a38528f1117590169c0bf61cbf874e9fd2d5c5c9"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Sat Jan 22 06:10:07 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:07 2011 -0200"
      },
      "message": "Bluetooth: Add support for PIN code handling in the management interface\n\nThis patch adds the necessary commands and events needed to communicate\nPIN code related actions between the kernel and userspace. This includes\na pin_code_request event as well as pin_code_reply and\npin_code_negative_reply commands.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "2784eb41b1fbb3ff80f4921fe9dbb4c4acb6dc24",
      "tree": "e13ea997be45f3d1abf5f3b4733a9da075a0410f",
      "parents": [
        "17d5c04cb597418a177c3ca18dfde679636dd51c"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Fri Jan 21 13:56:35 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:07 2011 -0200"
      },
      "message": "Bluetooth: Add get_connections managment interface command\n\nThis patch adds a get_connections command to the management interface.\nWith this command userspace can get the current list of connected\ndevices. Typically this command would only be used once when enumerating\nexisting adapters. After that the connected and disconnected events are\nused to track connections.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "17d5c04cb597418a177c3ca18dfde679636dd51c",
      "tree": "8f852ff43fe8a4da609a47a9f6e331d289a64a8c",
      "parents": [
        "8962ee74be48df16027100f657b2b12e8ef3d34d"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Sat Jan 22 06:09:08 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:07 2011 -0200"
      },
      "message": "Bluetooth: Add support for connect failed management event\n\nThis patch add a new connect failed management event to track failures\nin connecting to remote devices. It is particularly useful for security\nmode 3 scenarios when we don\u0027t have a connected state while pairing but\nstill need to detect when the connect attempt failed.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8962ee74be48df16027100f657b2b12e8ef3d34d",
      "tree": "bbafd1e6cf773c4712c57f578c84f44eae012ec0",
      "parents": [
        "f7520543ab40341edbc2aeee7fef68218be19a0a"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Thu Jan 20 12:40:27 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:07 2011 -0200"
      },
      "message": "Bluetooth: Add disconnect managment command\n\nThis patch adds a disconnect command to the managment interface. Using\nthis command user space is able to force the disconnection of connected\ndevices. The command maps directly to the Disconnect HCI command.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "f7520543ab40341edbc2aeee7fef68218be19a0a",
      "tree": "6f116b5215a134bab6b9615f97767eba040f0683",
      "parents": [
        "55ed8ca10f3530de8edbbf138acb50992bf5005b"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Thu Jan 20 12:34:39 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:07 2011 -0200"
      },
      "message": "Bluetooth: Add connected/disconnected management events\n\nThis patch adds connected and disconnected managment events to track the\nconnection status to remote devices. The events map directly to\nsuccessful connection complete and disconnection complete HCI events for\nACL links.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "55ed8ca10f3530de8edbbf138acb50992bf5005b",
      "tree": "3145b2b995758b2cb64493fc8ec29e63d0e9f0b4",
      "parents": [
        "1aff6f09491f454d4cd9f405c783fa5e9d3168a0"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Mon Jan 17 14:41:05 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:07 2011 -0200"
      },
      "message": "Bluetooth: Implement link key handling for the management interface\n\nThis patch adds a management commands to feed the kernel with all stored\nlink keys as well as remove specific ones or all of them. Once the\nload_keys command has been called the kernel takes over link key\nreplies. A new_key event is also added to inform userspace of newly\ncreated link keys that should be stored permanently.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "1aff6f09491f454d4cd9f405c783fa5e9d3168a0",
      "tree": "3c51a386ada638e39bf6fa42dbc35413ede08ddd",
      "parents": [
        "d5859e22cd40b73164b3e5d8d5d796f96edcc6af"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Thu Jan 13 21:56:52 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:06 2011 -0200"
      },
      "message": "Bluetooth: Add class of device control to the management interface\n\nThis patch adds the possibility for user space to fully control the\nClass of Device value of local adapters. To control the service class\nbits each UUID that\u0027s added comes with a service class \"hint\" which acts\nas a mask of bits that the UUID needs to have enabled. The\nset_service_cache management command is used to make sure we queue up\nall UUID changes as user space initializes its drivers and then send a\nsingle HCI_Write_Class_of_Device command when initialization is\ncomplete.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "d5859e22cd40b73164b3e5d8d5d796f96edcc6af",
      "tree": "6a5fa908020f59dd8b6dd94eb042f4a0634d1e20",
      "parents": [
        "d83506003608910d24d5ace9ec06ad1bfd9ad110"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Tue Jan 25 01:19:58 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:06 2011 -0200"
      },
      "message": "Bluetooth: Implement a more complete adapter initialization sequence\n\nUsing the managment interface means that user space doesn\u0027t need to do\nany HCI command sending at all. This patch moves the remaining\ninitialization commands from user space to the kernel side. The patch\nmakes use of the new feature of __hci_request which allows the request\nto be dynamically modified while it is ongoing (something that is needed\nto react appropriately to the local features and the version of the\nadapter).\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "b0916ea0d9e6ea3ed46bb7a61c13a2b357b0248b",
      "tree": "69f7d2ef2a09a9004de49e2203ea82bf644d3fd0",
      "parents": [
        "a5040efa2017f3e4f1b4d5f40fd989567f3994c1"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Mon Jan 10 13:44:55 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:06 2011 -0200"
      },
      "message": "Bluetooth: Add controller side link key clearing to hci_init_req\n\nThe controller may have link keys in its own memory and these keys could\nbe used for secure connections. However, since the interface to access\nthese keys doesn\u0027t provide information about the key types (which would\nbe needed to infer the level of security each key provides) using these\nkeys is rather useless. Therefore, simply clear the controller side list\nin the initialization procedure.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "a5040efa2017f3e4f1b4d5f40fd989567f3994c1",
      "tree": "451984186e4504665bff2ed0b74a9510a0d32d13",
      "parents": [
        "03b555e119de8288a16e086e1fbd223d9b429d3d"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Mon Jan 10 13:28:59 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:06 2011 -0200"
      },
      "message": "Bluetooth: Add special handling with __hci_request and HCI_INIT\n\nTo support a more dynamic HCI initialization sequence the __hci_request\nbehavior requires some more changes. Particularly, the init sequence\nshould be able to have conditionals in it (sending some HCI commands\ndepending on the outcome of a previous command) instead of being a fixed\nlist as it is right now.\n\nThe reasons for these additional requirements are the moving all\npreviously user space driven initialization commands to the kernel side\nas well as the support the Low Energy controllers.\n\nTo fulfull these requirements the init sequence is made the only special\ncase for multi-command requests and req_last_cmd is renamed to\ninit_last_cmd. The hci_send_cmd function is changed to update\ninit_last_cmd as long as the HCI_INIT flag is set.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "03b555e119de8288a16e086e1fbd223d9b429d3d",
      "tree": "5f0dd5efc8439ba4300761bc9ebba22c3d718c06",
      "parents": [
        "930e13363fb0e94db6e8b59c54dfb5c59355113e"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Tue Jan 04 15:40:05 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:06 2011 -0200"
      },
      "message": "Bluetooth: Reject pairing requests when in non-pairable mode\n\nThis patch adds the necessary logic to act accordingly when the\nHCI_PAIRABLE flag is not set. In that case PIN code replies as well as\nSecure Simple Pairing requests without a NoBonding requirement need to\nbe rejected.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "2aeb9a1ae0e34fb46cb78b82f827a6a54ab65111",
      "tree": "3b308a5687cedc350cd562ec0ea7b1bf73e184ff",
      "parents": [
        "c542a06c29acbf4ea0024884a198065a10613147"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Tue Jan 04 12:08:51 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:05 2011 -0200"
      },
      "message": "Bluetooth: Implement UUID handling through the management interface\n\nThis patch adds methods to the management interface for userspace to\nnotify the kernel of which services have been registered for specific\nadapters. This information is needed for setting the appropriate Class\nof Device value as well as the Extended Inquiry Response value. This\npatch doesn\u0027t actually implement setting of these values but just\nprovides the storage of the UUIDs so the needed functionality can be\nbuilt on top of it.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c542a06c29acbf4ea0024884a198065a10613147",
      "tree": "0e680582a90e9384364a9c6f4dc2c475339a472e",
      "parents": [
        "053f0211d3b1a991f06a7b4aec5b762e42d7c6a4"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Wed Jan 26 13:11:03 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:05 2011 -0200"
      },
      "message": "Bluetooth: Implement set_pairable managment command\n\nThis patch implements a new set_pairable management command to control\nthe pairable state of local adapters. The state is represented using a\nnew HCI_PAIRABLE flag in the hci_dev struct.\n\nFor backwards compatibility with older user space versions the\nHCI_PAIRABLE flag gets automatically set when the existence of an\nadapter is reported to user space through legacy methods and the\nHCI_MGMT flag is not set.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "ebc99feba7378349e2bfae7018af062767382f6c",
      "tree": "9b96786754f82be87e562c15c9defc88e46db855",
      "parents": [
        "72a734ec1aca8cd2ef3fc85428c11bde662e149e"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Tue Jan 04 11:54:26 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:05 2011 -0200"
      },
      "message": "Bluetooth: Add flag to track managment controlled adapters\n\nThis patch adds a HCI_MGMT flag to track adapters which are under the\ncontrol of the management interface. This is needed to make sure that\nnew kernels will work with old user space versions. I.e. behaviour which\ncould break old user space versions (but is needed by the management\ninterface) should not be exhibited when the HCI_MGMT flag is not set.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "72a734ec1aca8cd2ef3fc85428c11bde662e149e",
      "tree": "7491e7e980f74b3806955ad8ae061c8ac190de79",
      "parents": [
        "9fbcbb455dd01abfad4f314b618ac51d566114cb"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Thu Dec 30 00:38:22 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:05 2011 -0200"
      },
      "message": "Bluetooth: Unify mode related management messages to a single struct\n\nThe powered, connectable and discoverable messages all have the same\nformat. By using a single struct for all of them a lot of code can be\nsimplified and reused.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "9fbcbb455dd01abfad4f314b618ac51d566114cb",
      "tree": "d82d36ff143611df2a41f4249432420d649d3576",
      "parents": [
        "73f22f62388795c0f6b4f3f97bda7a64f9681aac"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Thu Dec 30 00:18:33 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:05 2011 -0200"
      },
      "message": "Bluetooth: Add set_connectable management command\n\nThis patch adds a set_connectable command as well as a corresponding\nevent to the management interface. It\u0027s mainly useful for setting an\nadapter as connectable from a non-initialized state as well as setting\nan already initialized adapter as non-connectable (mostly useful for\nqualification purposes).\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "73f22f62388795c0f6b4f3f97bda7a64f9681aac",
      "tree": "5e85471cd9411a9f21cd2f7bb722be196a23f7c7",
      "parents": [
        "eec8d2bcc841ae44edcde9660ff21144a2016053"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Wed Dec 29 16:00:25 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:04 2011 -0200"
      },
      "message": "Bluetooth: Add support for set_discoverable management command\n\nThis patch adds a set_discoverable command to the management interface\nas well as the corresponding event. The command is used to control the\ndiscoverable state of adapters.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "eec8d2bcc841ae44edcde9660ff21144a2016053",
      "tree": "32756650c2932b07b4c4fcd7184eadaed766e3b3",
      "parents": [
        "5add6af8fcbce269cac2457584c0ebfda055474a"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Thu Dec 16 10:17:38 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:04 2011 -0200"
      },
      "message": "Bluetooth: Add support for set_powered management command\n\nThis patch adds a set_powered command to the management interface\nthrough which the powered state of local adapters can be controlled.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "5add6af8fcbce269cac2457584c0ebfda055474a",
      "tree": "f27f5eb78f8193f636c576c979391c63bfc50c29",
      "parents": [
        "ab81cbf99c881ca2b9a83682a8722fc84b2483d2"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Thu Dec 16 10:00:37 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:04 2011 -0200"
      },
      "message": "Bluetooth: Add support for management powered event\n\nThis patch adds support for the powered event that\u0027s used to indicate to\nuserspace when the powered state of a local adapter changes.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "ab81cbf99c881ca2b9a83682a8722fc84b2483d2",
      "tree": "7e9478c23bfa7e794fe31be04f317f5776bc80b7",
      "parents": [
        "7990681c409e8a31eac122342e64da6c3b77a249"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Wed Dec 15 13:53:18 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:04 2011 -0200"
      },
      "message": "Bluetooth: Implement automatic setup procedure for local adapters\n\nThis patch implements automatic initialization of basic information\nabout newly registered Bluetooth adapters. E.g. the address and features\nare always needed so it makes sense for the kernel to automatically\npower on adapters and read this information. A new HCI_SETUP flag is\nadded to track this state.\n\nIn order to not consume unnecessary amounts of power if there isn\u0027t a\nuser space available that could switch the adapter back off, a timer is\nadded to do this automatically as long as no Bluetooth user space seems\nto be present. A new HCI_AUTO_OFF flag is added that user space needs to\nclear to avoid the automatic power off.\n\nAdditionally, the management interface index_added event is moved to the\nend of the HCI_SETUP stage so a user space supporting the managment\ninteface has all the necessary information available for fetching when\nit gets notified of a new adapter. The HCI_DEV_REG event is kept in the\nsame place as before since existing HCI raw socket based user space\nversions depend on seeing the kernels initialization sequence\n(hci_init_req) to determine when the adapter is ready for use.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "e702112ff68a554bcac16bb03ddc2b8e5425bcbf",
      "tree": "872f93640d646326167d41b7797d5a7eea75b751",
      "parents": [
        "b2c60d42db0fea1e6c4345739601024863566a13"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Mon Jan 03 11:14:36 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 08 01:40:04 2011 -0200"
      },
      "message": "Bluetooth: Use non-flushable by default L2CAP data packets\n\nModification of Nick Pelly \u003cnpelly@google.com\u003e patch.\n\nWith Bluetooth 2.1 ACL packets can be flushable or non-flushable. This commit\nmakes ACL data packets non-flushable by default on compatible chipsets, and\nadds the BT_FLUSHABLE socket option to explicitly request flushable ACL\ndata packets for a given L2CAP socket. This is useful for A2DP data which can\nbe safely discarded if it can not be delivered within a short time (while\nother ACL data should not be discarded).\n\nNote that making ACL data flushable has no effect unless the automatic flush\ntimeout for that ACL link is changed from its default of 0 (infinite).\n\nDefault packet types (for compatible chipsets):\nFrame 34: 13 bytes on wire (104 bits), 13 bytes captured (104 bits)\nBluetooth HCI H4\nBluetooth HCI ACL Packet\n    .... 0000 0000 0010 \u003d Connection Handle: 0x0002\n    ..00 .... .... .... \u003d PB Flag: First Non-automatically Flushable Packet (0)\n    00.. .... .... .... \u003d BC Flag: Point-To-Point (0)\n    Data Total Length: 8\nBluetooth L2CAP Packet\n\nAfter setting BT_FLUSHABLE\n(sock.setsockopt(274 /*SOL_BLUETOOTH*/, 8 /* BT_FLUSHABLE */, 1 /* flush */))\nFrame 34: 13 bytes on wire (104 bits), 13 bytes captured (104 bits)\nBluetooth HCI H4\nBluetooth HCI ACL Packet\n    .... 0000 0000 0010 \u003d Connection Handle: 0x0002\n    ..10 .... .... .... \u003d PB Flag: First Automatically Flushable Packet (2)\n    00.. .... .... .... \u003d BC Flag: Point-To-Point (0)\n    Data Total Length: 8\nBluetooth L2CAP Packet\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "681d119047761cc59a15c0bb86891f3a878997cf",
      "tree": "b118fdf78870de7eea5a0449e84b4e11b046b5be",
      "parents": [
        "747d753df7fea1d2d29c5c33623f6d2e5d0ed2d6"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Thu Feb 03 18:35:19 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Feb 03 16:45:29 2011 -0500"
      },
      "message": "mac80211: Add testing functionality for TKIP\n\nTKIP countermeasures depend on devices being able to detect Michael\nMIC failures on received frames and for stations to report errors to\nthe AP. In order to test that behavior, it is useful to be able to\nsend out TKIP frames with incorrect Michael MIC. This testing behavior\nhas minimal effect on the TX path, so it can be added to mac80211 for\nconvenient use.\n\nThe interface for using this functionality is a file in mac80211\nnetdev debugfs (tkip_mic_test). Writing a MAC address to the file\nmakes mac80211 generate a dummy data frame that will be sent out using\ninvalid Michael MIC value. In AP mode, the address needs to be for one\nof the associated stations or ff:ff:ff:ff:ff:ff to use a broadcast\nframe. In station mode, the address can be anything, e.g., the current\nBSSID. It should be noted that this functionality works correctly only\nwhen associated and using TKIP.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d057e5a381cbaec5632117bf62ba49438ab16214",
      "tree": "723bd8c982747393b3f390b2c0ea75eb0c6bb62e",
      "parents": [
        "8fd369eeaa81d05969787c9ddf9cf3f1a8c4e084"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Mon Jan 31 22:29:13 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Feb 03 16:44:44 2011 -0500"
      },
      "message": "mac80211: add HW flag for disabling auto link-PS in AP mode\n\nWhen operating in AP mode the wl1271 hardware filters out null-data\npackets as well as management packets. This makes it impossible for\nmac80211 to monitor the PS mode by using the PM bit of incoming frames.\n\nImplement a HW flag to indicate that mac80211 should ignore the PM bit.\nIn addition, expose ieee80211_sta_ps_transition() to make low-level\ndrivers capable of controlling PS-mode.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3e11210d46a4f252f41db6e442b46026aeddbb59",
      "tree": "b258375de649a5e04e8d567c850b47c41f8ceb11",
      "parents": [
        "3bf63e59e577cbecd41334c866f501c4cc5d54c5",
        "c7c1806098752c1f46943d8db2c69aff07f5d4bc"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 16:23:14 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 16:23:14 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/init.c\n"
    },
    {
      "commit": "6d744bacee8195c915c514409a81d470ce7b1177",
      "tree": "5697c3b9211b2ebae666f42a35c174ad15ee73a5",
      "parents": [
        "ebefce3d13f8b5a871337ff7c3821ee140c1ea8a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 27 14:13:17 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 15:44:29 2011 -0500"
      },
      "message": "mac80211: add MCS information to radiotap\n\nThis adds the MCS information we currently get\nfrom the drivers into radiotap.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "59eb21a6504731fc16db4cf9463065dd61093e08",
      "tree": "4a3732d451c85a5949c6d6294db51a56530677d8",
      "parents": [
        "60f2d1d506195803fa6e1dcf3972637b740fdd60"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Mon Jan 17 13:37:28 2011 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 21 15:34:17 2011 -0500"
      },
      "message": "cfg80211: Extend channel to frequency mapping for 802.11j\n\nExtend channel to frequency mapping for 802.11j Japan 4.9GHz band, according to\nIEEE802.11 section 17.3.8.3.2 and Annex J. Because there are now overlapping\nchannel numbers in the 2GHz and 5GHz band we can\u0027t map from channel to\nfrequency without knowing the band. This is no problem as in most contexts we\nknow the band. In places where we don\u0027t know the band (and WEXT compatibility)\nwe assume the 2GHz band for channels below 14.\n\nThis patch does not implement all channel to frequency mappings defined in\n802.11, it\u0027s just an extension for 802.11j 20MHz channels. 5MHz and 10MHz\nchannels as well as 802.11y channels have been omitted.\n\nThe following drivers have been updated to reflect the API changes:\niwl-3945, iwl-agn, iwmc3200wifi, libertas, mwl8k, rt2x00, wl1251, wl12xx.\nThe drivers have been compile-tested only.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: Brian Prodoehl \u003cbprodoehl@gmail.com\u003e\nAcked-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "765c2a964b49bd06b61a52991519281c85d82b67",
      "tree": "e646cb50bd43f9a74583391805529d3397934f42",
      "parents": [
        "d00ef24fc2923b65fdd440dc6445903e965841ac"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Wed Jan 19 12:06:52 2011 +0530"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Jan 19 14:43:11 2011 -0200"
      },
      "message": "Bluetooth: Fix race condition with conn-\u003esec_level\n\nThe conn-\u003esec_level value is supposed to represent the current level of\nsecurity that the connection has. However, by assigning to it before\nrequesting authentication it will have the wrong value during the\nauthentication procedure. To fix this a pending_sec_level variable is\nadded which is used to track the desired security level while making\nsure that sec_level always represents the current level of security.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "5dd36bc933e8be84f8369ac64505a2938f9ce036",
      "tree": "11538bafde53b6189da2af10d2f8a21c1b57565e",
      "parents": [
        "0b01f030d38e00650e2db42da083d8647aad40a5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 18 13:52:23 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:12 2011 -0500"
      },
      "message": "mac80211: allow advertising correct maximum aggregate size\n\nCurrently, mac80211 always advertises that it may send\nup to 64 subframes in an aggregate. This is fine, since\nit\u0027s the max, but might as well be set to zero instead\nsince it doesn\u0027t have any information.\n\nHowever, drivers might have that information, so allow\nthem to set a variable giving it, which will then be\nused. The default of zero will be fine since to the\npeer that means we don\u0027t know and it will just use its\nown limit for the buffer size.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0b01f030d38e00650e2db42da083d8647aad40a5",
      "tree": "14519750d9b6cdb046624dd87d5323a4826821e2",
      "parents": [
        "ac1bd8464f161ed1475ef73c431b926256c6b5bb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 18 13:51:05 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:11 2011 -0500"
      },
      "message": "mac80211: track receiver\u0027s aggregation reorder buffer size\n\nThe aggregation code currently doesn\u0027t implement the\nbuffer size negotiation. It will always request a max\nbuffer size (which is fine, if a little pointless, as\nthe mac80211 code doesn\u0027t know and might just use 0\ninstead), but if the peer requests a smaller size it\nisn\u0027t possible to honour this request.\n\nIn order to fix this, look at the buffer size in the\naddBA response frame, keep track of it and pass it to\nthe driver in the ampdu_action callback when called\nwith the IEEE80211_AMPDU_TX_OPERATIONAL action. That\nway the driver can limit the number of subframes in\naggregates appropriately.\n\nNote that this doesn\u0027t fix any drivers apart from the\naddition of the new argument -- they all need to be\nupdated separately to use this variable!\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "df6ba5d80d6c9b51471d5fa046c3c06988e5f62a",
      "tree": "9321170ce223172318ff6e6fa34bd3b30559cf44",
      "parents": [
        "dcac908babcd8ce21057e476c8df609b28ad2cd8"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Wed Jan 12 15:26:30 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:09 2011 -0500"
      },
      "message": "mac80211: add hw configuration for max ampdu buffer size\n\nSome devices don\u0027t support the maximum AMDPU buffer size of 64, so we\nneed to add an option to configure this in the hardware configuration.\nThis value will be used in the ADDBA response instead of the value\nsuggested in the request, if the latter is greater than the max\nsupported.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nTested-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b7c15e4a1cbf19be3d3063819b472806902fb525",
      "tree": "802103cb642b9e7fb76677de544289a754cf4c57",
      "parents": [
        "6a7f6ec9512970874fa9fc883ea44d77d0f287c2",
        "27de094f54a4d96bae2cd3121eb157bb8a34f729"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 08:05:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 08:05:50 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: hda - Fix initialization for HP 2011 notebooks\n  ALSA: hda - Add support for VMware controller\n  ALSA: hda - consitify string arrays\n  ALSA: hda - Add add multi-streaming playback for AD1988\n  ASoC: EP93xx: fixed LRCLK rate and DMA oper. in I2S code\n  ASoC: WM8990: msleep() takes milliseconds not jiffies\n  ALSA : au88x0 - Limit number of channels to fix Oops via OSS emu\n  ALSA: constify functions in ac97\n  ASoC: WL1273 FM radio: Fix breakage with MFD API changes\n  ALSA: hda - More coverage for odd-number channels elimination for HDMI\n  ALSA: hda - Store PCM parameters properly in HDMI open callback\n  ALSA: hda - Rearrange fixup struct in patch_realtek.c\n  ALSA: oxygen: Xonar DG: fix CS4245 register writes\n  ALSA: hda - Suppress the odd number of channels for HDMI\n  ALSA: hda - Add fixup-call in init callback\n  ALSA: hda - Reorganize fixup structure for Realtek\n  ALSA: hda - Apply Sony VAIO hweq fixup only once\n  ALSA: hda - Apply mario fixup only once\n  ALSA: hda - Remove unused fixup entry for ALC262\n"
    },
    {
      "commit": "6845a44a314c0c626549de373131bf108f9cc1f1",
      "tree": "9152a5c557434515dd7306d288e8f55ecc64652e",
      "parents": [
        "eee2a817df7c5a6e569f353f8be78cc1b3604bb6",
        "4790f4dc5f4326dab5d81ed8fb8c9473e620bdbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 14:45:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 14:45:48 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA: Update workqueue usage\n  RDMA/nes: Fix incorrect SFP+ link status detection on driver init\n  RDMA/nes: Fix SFP+ link down detection issue with switch port disable\n  RDMA/nes: Generate IB_EVENT_PORT_ERR/PORT_ACTIVE events\n  RDMA/nes: Fix bonding on iw_nes\n  IB/srp: Test only once whether iu allocation succeeded\n  IB/mlx4: Handle protocol field in multicast table\n  RDMA: Use vzalloc() to replace vmalloc()+memset(0)\n  mlx4_{core, ib, en}: Fix driver when sizeof (phys_addr_t) \u003e sizeof (long)\n  IB/mthca: Fix driver when sizeof (phys_addr_t) \u003e sizeof (long)\n"
    },
    {
      "commit": "9e8a462a0141b12e22c4a2f0c12e0542770401f0",
      "tree": "c0e32e5877f099b43e75afc5faecc944207dd51c",
      "parents": [
        "cf78859f520f8275318f47d7864f4459d940cb6b",
        "24562486be76cf223b8d911f45e1d26eb3364b13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 12:39:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 12:39:57 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  ecryptfs: remove unnecessary decrypt when extending a file\n  ecryptfs: Fix ecryptfs_printk() size_t warnings\n  fs/ecryptfs: Add printf format/argument verification and fix fallout\n  ecryptfs: fixed testing of file descriptor flags\n  ecryptfs: test lower_file pointer when lower_file_mutex is locked\n  ecryptfs: missing initialization of the superblock \u0027magic\u0027 field\n  ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h\n  ecryptfs: fix truncation error in ecryptfs_read_update_atime\n"
    },
    {
      "commit": "8c34482c17d8fd07966328c7b1cfc35ee290bd1c",
      "tree": "324f7535ae561dcc430764fd2c7531ff67d9780b",
      "parents": [
        "1a47f7a84ef386c1f7f55f669598bd9894ceb73a",
        "d95defaca7994ffff1ceb52f3011eb644dfe3274"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:18:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:18:40 2011 -0800"
      },
      "message": "Merge branch \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi/spi_sh_msiof: fix a wrong free_irq() parameter\n  dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()\n"
    },
    {
      "commit": "ab2020f2f11fc7fb81e6c71298b0830d85412011",
      "tree": "c9a6342063461dcf31278d65585bca73bdda4a84",
      "parents": [
        "235646a486d10891bd86af28d8eac75d9f22bd2d",
        "154bf89f5e3e3dc59666926f27ca4a0866f39157"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (59 commits)\n  mtd: mtdpart: disallow reading OOB past the end of the partition\n  mtd: pxa3xx_nand: NULL dereference in pxa3xx_nand_probe\n  UBI: use mtd-\u003ewritebufsize to set minimal I/O unit size\n  mtd: initialize writebufsize in the MTD object of a partition\n  mtd: onenand: add mtd-\u003ewritebufsize initialization\n  mtd: nand: add mtd-\u003ewritebufsize initialization\n  mtd: cfi: add writebufsize initialization\n  mtd: add writebufsize field to mtd_info struct\n  mtd: OneNAND: OMAP2/3: prevent regulator sleeping while OneNAND is in use\n  mtd: OneNAND: add enable / disable methods to onenand_chip\n  mtd: m25p80: Fix JEDEC ID for AT26DF321\n  mtd: txx9ndfmc: limit transfer bytes to 512 (ECC provides 6 bytes max)\n  mtd: cfi_cmdset_0002: add support for Samsung K8D3x16UxC NOR chips\n  mtd: cfi_cmdset_0002: add support for Samsung K8D6x16UxM NOR chips\n  mtd: nand: ams-delta: drop omap_read/write, use ioremap\n  mtd: m25p80: add debugging trace in sst_write\n  mtd: nand: ams-delta: select for built-in by default\n  mtd: OneNAND: lighten scary initial bad block messages\n  mtd: OneNAND: OMAP2/3: add support for command line partitioning\n  mtd: nand: rearrange ONFI revision checking, add ONFI 2.3\n  ...\n\nFix up trivial conflict in drivers/mtd/Kconfig as per DavidW.\n"
    },
    {
      "commit": "235646a486d10891bd86af28d8eac75d9f22bd2d",
      "tree": "72308e6d2d7c936d00907689a2749715873d5f1b",
      "parents": [
        "af575e2d2e09517a8190f1b425453cc3e0102f6c",
        "ecf5632dd189ab4c366cef853d6e5fe7adfe52e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:00:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:00:09 2011 -0800"
      },
      "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  fs: fix address space warnings in ioctl_fiemap()\n  aio: check return value of create_workqueue()\n  hpfs_setattr error case avoids unlock_kernel\n  compat: copy missing fields in compat_statfs64 to user\n  compat: update comment of compat statfs syscalls\n  compat: remove unnecessary assignment in compat_rw_copy_check_uvector()\n  fs: FS_POSIX_ACL does not depend on BLOCK\n  fs: Remove unlikely() from fget_light()\n  fs: Remove unlikely() from fput_light()\n  fallocate should be a file operation\n  make the feature checks in -\u003efallocate future proof\n  staging: smbfs building fix\n  tidy up around finish_automount()\n  don\u0027t drop newmnt on error in do_add_mount()\n  Take the completion of automount into new helper\n"
    },
    {
      "commit": "e1288cd72f54e7fc16ae9ebb4d0647537ef848d4",
      "tree": "b4fd87b9307d8041fb680cb9b8fbf787ec968df7",
      "parents": [
        "e78bf5e6cbe837daa6ab628a5f679548742994d3",
        "94ae85220a07d357d4937086c490854f63344de4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 10:54:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 10:54:41 2011 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (63 commits)\n  ARM: PL08x: cleanup comments\n  Update CONFIG_MD_RAID6_PQ to CONFIG_RAID6_PQ in drivers/dma/iop-adma.c\n  ARM: PL08x: fix a warning\n  Fix dmaengine_submit() return type\n  dmaengine: at_hdmac: fix race while monitoring channel status\n  dmaengine: at_hdmac: flags located in first descriptor\n  dmaengine: at_hdmac: use subsys_initcall instead of module_init\n  dmaengine: at_hdmac: no need set ACK in new descriptor\n  dmaengine: at_hdmac: trivial add precision to unmapping comment\n  dmaengine: at_hdmac: use dma_address to program DMA hardware\n  pch_dma: support new device ML7213 IOH\n  ARM: PL08x: prevent dma_set_runtime_config() reconfiguring memcpy channels\n  ARM: PL08x: allow dma_set_runtime_config() to return errors\n  ARM: PL08x: fix locking between prepare function and submit function\n  ARM: PL08x: introduce \u0027phychan_hold\u0027 to hold on to physical channels\n  ARM: PL08x: put txd\u0027s on the pending list in pl08x_tx_submit()\n  ARM: PL08x: rename \u0027desc_list\u0027 as \u0027pend_list\u0027\n  ARM: PL08x: implement unmapping of memcpy buffers\n  ARM: PL08x: store prep_* flags in async_tx structure\n  ARM: PL08x: shrink srcbus/dstbus in txd structure\n  ...\n"
    },
    {
      "commit": "2a8652f4e0d11ee27b1d2870c600fd1300661a6e",
      "tree": "f7ee0d8614b60a8733bcf0cfba8ac94776925ed5",
      "parents": [
        "38a708d7759476318d0eec64af174513032ec67a"
      ],
      "author": {
        "name": "Roberto Sassu",
        "email": "roberto.sassu@polito.it",
        "time": "Wed Nov 03 11:11:15 2010 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Jan 17 10:44:31 2011 -0600"
      },
      "message": "ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h\n\nThe definition of ECRYPTFS_SUPER_MAGIC has been moved to the include\nfile \u0027linux/magic.h\u0027 to become available to other kernel subsystems.\n\nSigned-off-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ecf5632dd189ab4c366cef853d6e5fe7adfe52e5",
      "tree": "947ae7edf45415753e960d53957ae3a4121fb3b8",
      "parents": [
        "27eaa1c90c608aa907336c2743d5ecf35c469440"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sun Jan 16 23:28:17 2011 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 08:21:42 2011 -0500"
      },
      "message": "fs: fix address space warnings in ioctl_fiemap()\n\nThe fi_extents_start field of struct fiemap_extent_info is a\nuser pointer but was not marked as __user. This makes sparse\nemit following warnings:\n\n  CHECK   fs/ioctl.c\nfs/ioctl.c:114:26: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:114:26:    expected void [noderef] \u003casn:1\u003e*dst\nfs/ioctl.c:114:26:    got struct fiemap_extent *[assigned] dest\nfs/ioctl.c:202:14: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:202:14:    expected void const volatile [noderef] \u003casn:1\u003e*\u003cnoident\u003e\nfs/ioctl.c:202:14:    got struct fiemap_extent *[assigned] fi_extents_start\nfs/ioctl.c:212:27: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:212:27:    expected void [noderef] \u003casn:1\u003e*dst\nfs/ioctl.c:212:27:    got char *\u003cnoident\u003e\n\nAlso add \u0027ufiemap\u0027 variable to eliminate unnecessary casts.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2b3e74b78b24cb367289a75a2bd30e569e56e0e",
      "tree": "1ae2e53e0aa3831486afd2ec8c71a8cd32535b1b",
      "parents": [
        "2fe17c1075836b66678ed2a305fd09b6773883aa"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 13 19:38:08 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 03:26:26 2011 -0500"
      },
      "message": "fs: Remove unlikely() from fput_light()\n\nIn fput_light(), there\u0027s an unlikely(fput_needed), which running on\nmy normal desktop doing firefox, xchat, evolution and part of my distcc farm,\nand running the annotate branch profiler shows that the unlikely is not\nvery unlikely.\n\n correct incorrect  %        Function             File              Line\n ------- ---------  -        --------             ----              ----\n       0       48 100 fput_light                file.h               26\n115828710 897415279  88 fput_light              file.h               26\n865271179 5286128445  85 fput_light             file.h               26\n19568539  8923664  31 fput_light                file.h               26\n12353677  3562279  22 fput_light                file.h               26\n  267691    67062  20 fput_light                file.h               26\n15014853   348172   2 fput_light                file.h               26\n  209258      205   0 fput_light                file.h               26\n 1364164        0   0 fput_light                file.h               26\n\nWhich gives 1032903812 times it was correct and 6203351846 times it was\nincorrect, or 85% incorrect.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2fe17c1075836b66678ed2a305fd09b6773883aa",
      "tree": "eb5287be8138686682eef9622872cfc7657e0664",
      "parents": [
        "64c23e86873ee410554d6d1c76b60da47025e96f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jan 14 13:07:43 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 02:25:31 2011 -0500"
      },
      "message": "fallocate should be a file operation\n\nCurrently all filesystems except XFS implement fallocate asynchronously,\nwhile XFS forced a commit.  Both of these are suboptimal - in case of O_SYNC\nI/O we really want our allocation on disk, especially for the !KEEP_SIZE\ncase where we actually grow the file with user-visible zeroes.  On the\nother hand always commiting the transaction is a bad idea for fast-path\nuses of fallocate like for example in recent Samba versions.   Given\nthat block allocation is a data plane operation anyway change it from\nan inode operation to a file operation so that we have the file structure\navailable that lets us check for O_SYNC.\n\nThis also includes moving the code around for a few of the filesystems,\nand remove the already unnedded S_ISDIR checks given that we only wire\nup fallocate for regular files.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4790f4dc5f4326dab5d81ed8fb8c9473e620bdbb",
      "tree": "72d5bbcdc8aa72c4e48a81ce33be5ed797093224",
      "parents": [
        "f06267104dd9112f11586830d22501d0e26245ea",
        "da995a8aee044bc5d0847e19e351cd48a2cb8bcc",
        "eb4a7cbf27082bea34764bab3bc85595683f967b",
        "843276ad985cb59212ceb70d989474521ff516f6",
        "695b83495e2fba9d3a883193cfc9d5eefa96a911"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Jan 16 21:22:41 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Jan 16 21:22:41 2011 -0800"
      },
      "message": "Merge branches \u0027misc\u0027, \u0027mlx4\u0027, \u0027mthca\u0027, \u0027nes\u0027 and \u0027srp\u0027 into for-next\n"
    },
    {
      "commit": "f06267104dd9112f11586830d22501d0e26245ea",
      "tree": "8f7c364abc84a5f69269974eaa2b955b24d8f421",
      "parents": [
        "948579cd8c6ea7c8c98c52b79f4470952e182ebd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Oct 19 15:24:36 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Jan 16 21:16:31 2011 -0800"
      },
      "message": "RDMA: Update workqueue usage\n\n* ib_wq is added, which is used as the common workqueue for infiniband\n  instead of the system workqueue.  All system workqueue usages\n  including flush_scheduled_work() callers are converted to use and\n  flush ib_wq.\n\n* cancel_delayed_work() + flush_scheduled_work() converted to\n  cancel_delayed_work_sync().\n\n* qib_wq is removed and ib_wq is used instead.\n\nThis is to prepare for deprecation of flush_scheduled_work().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "94ae85220a07d357d4937086c490854f63344de4",
      "tree": "8dda364dc7cbae73a30bbe5ef47ac8d674d998c6",
      "parents": [
        "0261f7416362f6affc2d4fe7fea9320a6bdaaee6"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sun Jan 16 20:18:05 2011 +0000"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Jan 16 16:55:43 2011 -0800"
      },
      "message": "ARM: PL08x: cleanup comments\n\nCleanup the formatting of comments, remove some which don\u0027t make sense\nanymore.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n[fix conflict with 96a608a4]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "b3697c0255d9d73eaaa4deb4512e3f0ff97b3b71",
      "tree": "59f7c5aa4c6ac509381071997f0888e2687cebd5",
      "parents": [
        "7e3d0eb0b028ed9e9384e6afcae2f22993bbdf25"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Sun Jan 16 13:10:39 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 15:05:44 2011 -0800"
      },
      "message": "fix non-x86 build failure in pmdp_get_and_clear\n\npmdp_get_and_clear/pmdp_clear_flush/pmdp_splitting_flush were trapped as\nBUG() and they were defined only to diminish the risk of build issues on\nnot-x86 archs and to be consistent with the generic pte methods previously\ndefined in include/asm-generic/pgtable.h.\n\nBut they are causing more trouble than they were supposed to solve, so\nit\u0027s simpler not to define them when THP is off.\n\nThis is also correcting the export of pmdp_splitting_flush which is\ncurrently unused (x86 isn\u0027t using the generic implementation in\nmm/pgtable-generic.c and no other arch needs that [yet]).\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc8fe1e992ae0326a88edbe4d6793e840bbdd4ff",
      "tree": "40eb3f1660898b9261219c0c256f569f0258a953",
      "parents": [
        "f8206b925fb0eba3a11839419be118b09105d7b1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 16 20:42:43 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:56:26 2011 -0800"
      },
      "message": "PCI / ACPI: Fix build of the AER driver for CONFIG_ACPI unset\n\nAfter commit 415e12b23792 (\"PCI/ACPI: Request _OSC control once for each\nroot bridge (v3)\") include/linux/pci-acpi.h is included by\ndrivers/pci/pcie/aer/aerdrv.c and if CONFIG_ACPI is unset, the bogus and\nunnecessary alternative definition of acpi_find_root_bridge_handle()\ncauses a build error to occur.\n\nRemove the offending piece of garbage.\n\nReported-and-tested-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8206b925fb0eba3a11839419be118b09105d7b1",
      "tree": "5d41b356a043da09c816ed80bd79d1ea8b2b47e5",
      "parents": [
        "1b59be2a6cdcb5a12e18d8315c07c94a624de48f",
        "f03c65993b98eeb909a4012ce7833c5857d74755"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:31:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:31:50 2011 -0800"
      },
      "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: (23 commits)\n  sanitize vfsmount refcounting changes\n  fix old umount_tree() breakage\n  autofs4: Merge the remaining dentry ops tables\n  Unexport do_add_mount() and add in follow_automount(), not -\u003ed_automount()\n  Allow d_manage() to be used in RCU-walk mode\n  Remove a further kludge from __do_follow_link()\n  autofs4: Bump version\n  autofs4: Add v4 pseudo direct mount support\n  autofs4: Fix wait validation\n  autofs4: Clean up autofs4_free_ino()\n  autofs4: Clean up dentry operations\n  autofs4: Clean up inode operations\n  autofs4: Remove unused code\n  autofs4: Add d_manage() dentry operation\n  autofs4: Add d_automount() dentry operation\n  Remove the automount through follow_link() kludge code from pathwalk\n  CIFS: Use d_automount() rather than abusing follow_link()\n  NFS: Use d_automount() rather than abusing follow_link()\n  AFS: Use d_automount() rather than abusing follow_link()\n  Add an AT_NO_AUTOMOUNT flag to suppress terminal automount\n  ...\n"
    },
    {
      "commit": "f03c65993b98eeb909a4012ce7833c5857d74755",
      "tree": "a6dd5e353889b7fe4ab87c54170d09443d788fec",
      "parents": [
        "7b8a53fd815deb39542085897743fa0063f9fe06"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 14 22:30:21 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 13:47:07 2011 -0500"
      },
      "message": "sanitize vfsmount refcounting changes\n\nInstead of splitting refcount between (per-cpu) mnt_count\nand (SMP-only) mnt_longrefs, make all references contribute\nto mnt_count again and keep track of how many are longterm\nones.\n\nAccounting rules for longterm count:\n\t* 1 for each fs_struct.root.mnt\n\t* 1 for each fs_struct.pwd.mnt\n\t* 1 for having non-NULL -\u003emnt_ns\n\t* decrement to 0 happens only under vfsmount lock exclusive\n\nThat allows nice common case for mntput() - since we can\u0027t drop the\nfinal reference until after mnt_longterm has reached 0 due to the rules\nabove, mntput() can grab vfsmount lock shared and check mnt_longterm.\nIf it turns out to be non-zero (which is the common case), we know\nthat this is not the final mntput() and can just blindly decrement\npercpu mnt_count.  Otherwise we grab vfsmount lock exclusive and\ndo usual decrement-and-check of percpu mnt_count.\n\nFor fs_struct.c we have mnt_make_longterm() and mnt_make_shortterm();\nnamespace.c uses the latter in places where we don\u0027t already hold\nvfsmount lock exclusive and opencodes a few remaining spots where\nwe need to manipulate mnt_longterm.\n\nNote that we mostly revert the code outside of fs/namespace.c back\nto what we used to have; in particular, normal code doesn\u0027t need\nto care about two kinds of references, etc.  And we get to keep\nthe optimization Nick\u0027s variant had bought us...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "672c54466d24994eb9633f993862c89539504a42",
      "tree": "e08f17e5fa260676912eb9b7d2263d47d667fdec",
      "parents": [
        "1b59be2a6cdcb5a12e18d8315c07c94a624de48f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jan 13 15:36:09 2011 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Jan 15 22:01:58 2011 -0700"
      },
      "message": "dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()\n\nThe physical address is never used by the device tree code when\nallocating memory for unflattening.  Change the architecture\u0027s alloc\nhook to return the virutal address instead.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "ea5b778a8b98c85a87d66bf844904f9c3802b869",
      "tree": "baa56cbe1a907d76341f2cad53e16569cc1d3288",
      "parents": [
        "ab90911ff90cdab59b31c045c3f0ae480d14f29d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 19:10:03 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:48 2011 -0500"
      },
      "message": "Unexport do_add_mount() and add in follow_automount(), not -\u003ed_automount()\n\nUnexport do_add_mount() and make -\u003ed_automount() return the vfsmount to be\nadded rather than calling do_add_mount() itself.  follow_automount() will then\ndo the addition.\n\nThis slightly complicates things as -\u003ed_automount() normally wants to add the\nnew vfsmount to an expiration list and start an expiration timer.  The problem\nwith that is that the vfsmount will be deleted if it has a refcount of 1 and\nthe timer will not repeat if the expiration list is empty.\n\nTo this end, we require the vfsmount to be returned from d_automount() with a\nrefcount of (at least) 2.  One of these refs will be dropped unconditionally.\nIn addition, follow_automount() must get a 3rd ref around the call to\ndo_add_mount() lest it eat a ref and return an error, leaving the mount we\nhave open to being expired as we would otherwise have only 1 ref on it.\n\nd_automount() should also add the the vfsmount to the expiration list (by\ncalling mnt_set_expiry()) and start the expiration timer before returning, if\nthis mechanism is to be used.  The vfsmount will be unlinked from the\nexpiration list by follow_automount() if do_add_mount() fails.\n\nThis patch also fixes the call to do_add_mount() for AFS to propagate the mount\nflags from the parent vfsmount.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ab90911ff90cdab59b31c045c3f0ae480d14f29d",
      "tree": "683450a66eb9dc6bf053e38d63f4740bb53a7b6e",
      "parents": [
        "87556ef19926e97464e0163a7840140527ae6615"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:46:51 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:47 2011 -0500"
      },
      "message": "Allow d_manage() to be used in RCU-walk mode\n\nAllow d_manage() to be called from pathwalk when it is in RCU-walk mode as well\nas when it is in Ref-walk mode.  This permits __follow_mount_rcu() to call\nd_manage() directly.  d_manage() needs a parameter to indicate that it is in\nRCU-walk mode as it isn\u0027t allowed to sleep if in that mode (but should return\n-ECHILD instead).\n\nautofs4_d_manage() can then be set to retain RCU-walk mode if the daemon\naccesses it and otherwise request dropping back to ref-walk mode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1972580bb4edea3ed6fe273b2ca72f44f10f8c86",
      "tree": "9c8e34448ed30e040dcdb18b5b92ec663baa0750",
      "parents": [
        "dd89f90d2deb9aa5bc8e1b15d726ff5c0bb2b623"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Fri Jan 14 18:46:40 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:45 2011 -0500"
      },
      "message": "autofs4: Bump version\n\nIncrease the autofs module sub-version so we can tell what kernel\nimplementation is being used from user space debug logging.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "36d43a43761b004ad1879ac21471d8fc5f3157ec",
      "tree": "6cb6c6d978f4e58de7f9bf901707d6929f098345",
      "parents": [
        "d18610b0ce9eb48c60649d8fcbf68374c84349d3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:42 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:34 2011 -0500"
      },
      "message": "NFS: Use d_automount() rather than abusing follow_link()\n\nMake NFS use the new d_automount() dentry operation rather than abusing\nfollow_link() on directories.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6f45b65672c8017d5e210e338bb5858a938ef445",
      "tree": "b62877c489fb682033c37d30d91c53e4d0c3833a",
      "parents": [
        "cc53ce53c86924bfe98a12ea20b7465038a08792"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:31 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:33 2011 -0500"
      },
      "message": "Add an AT_NO_AUTOMOUNT flag to suppress terminal automount\n\nAdd an AT_NO_AUTOMOUNT flag to suppress terminal automounting of automount\npoint directories.  This can be used by fstatat() users to permit the\ngathering of attributes on an automount point and also prevent\nmass-automounting of a directory of automount points by ls.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cc53ce53c86924bfe98a12ea20b7465038a08792",
      "tree": "3c9a4923dd9f413c46bfa83a20cb579446df6deb",
      "parents": [
        "9875cf806403fae66b2410a3c2cc820d97731e04"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:26 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:31 2011 -0500"
      },
      "message": "Add a dentry op to allow processes to be held during pathwalk transit\n\nAdd a dentry op (d_manage) to permit a filesystem to hold a process and make it\nsleep when it tries to transit away from one of that filesystem\u0027s directories\nduring a pathwalk.  The operation is keyed off a new dentry flag\n(DCACHE_MANAGE_TRANSIT).\n\nThe filesystem is allowed to be selective about which processes it holds and\nwhich it permits to continue on or prohibits from transiting from each flagged\ndirectory.  This will allow autofs to hold up client processes whilst letting\nits userspace daemon through to maintain the directory or the stuff behind it\nor mounted upon it.\n\nThe -\u003ed_manage() dentry operation:\n\n\tint (*d_manage)(struct path *path, bool mounting_here);\n\ntakes a pointer to the directory about to be transited away from and a flag\nindicating whether the transit is undertaken by do_add_mount() or\ndo_move_mount() skipping through a pile of filesystems mounted on a mountpoint.\n\nIt should return 0 if successful and to let the process continue on its way;\n-EISDIR to prohibit the caller from skipping to overmounted filesystems or\nautomounting, and to use this directory; or some other error code to return to\nthe user.\n\n-\u003ed_manage() is called with namespace_sem writelocked if mounting_here is true\nand no other locks held, so it may sleep.  However, if mounting_here is true,\nit may not initiate or wait for a mount or unmount upon the parameter\ndirectory, even if the act is actually performed by userspace.\n\nWithin fs/namei.c, follow_managed() is extended to check with d_manage() first\non each managed directory, before transiting away from it or attempting to\nautomount upon it.\n\nfollow_down() is renamed follow_down_one() and should only be used where the\nfilesystem deliberately intends to avoid management steps (e.g. autofs).\n\nA new follow_down() is added that incorporates the loop done by all other\ncallers of follow_down() (do_add/move_mount(), autofs and NFSD; whilst AFS, NFS\nand CIFS do use it, their use is removed by converting them to use\nd_automount()).  The new follow_down() calls d_manage() as appropriate.  It\nalso takes an extra parameter to indicate if it is being called from mount code\n(with namespace_sem writelocked) which it passes to d_manage().  follow_down()\nignores automount points so that it can be used to mount on them.\n\n__follow_mount_rcu() is made to abort rcu-walk mode if it hits a directory with\nDCACHE_MANAGE_TRANSIT set on the basis that we\u0027re probably going to have to\nsleep.  It would be possible to enter d_manage() in rcu-walk mode too, and have\nthat determine whether to abort or not itself.  That would allow the autofs\ndaemon to continue on in rcu-walk mode.\n\nNote that DCACHE_MANAGE_TRANSIT on a directory should be cleared when it isn\u0027t\nrequired as every tranist from that directory will cause d_manage() to be\ninvoked.  It can always be set again when necessary.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWHAT THIS MEANS FOR AUTOFS\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAutofs currently uses the lookup() inode op and the d_revalidate() dentry op to\ntrigger the automounting of indirect mounts, and both of these can be called\nwith i_mutex held.\n\nautofs knows that the i_mutex will be held by the caller in lookup(), and so\ncan drop it before invoking the daemon - but this isn\u0027t so for d_revalidate(),\nsince the lock is only held on _some_ of the code paths that call it.  This\nmeans that autofs can\u0027t risk dropping i_mutex from its d_revalidate() function\nbefore it calls the daemon.\n\nThe bug could manifest itself as, for example, a process that\u0027s trying to\nvalidate an automount dentry that gets made to wait because that dentry is\nexpired and needs cleaning up:\n\n\tmkdir         S ffffffff8014e05a     0 32580  24956\n\tCall Trace:\n\t [\u003cffffffff885371fd\u003e] :autofs4:autofs4_wait+0x674/0x897\n\t [\u003cffffffff80127f7d\u003e] avc_has_perm+0x46/0x58\n\t [\u003cffffffff8009fdcf\u003e] autoremove_wake_function+0x0/0x2e\n\t [\u003cffffffff88537be6\u003e] :autofs4:autofs4_expire_wait+0x41/0x6b\n\t [\u003cffffffff88535cfc\u003e] :autofs4:autofs4_revalidate+0x91/0x149\n\t [\u003cffffffff80036d96\u003e] __lookup_hash+0xa0/0x12f\n\t [\u003cffffffff80057a2f\u003e] lookup_create+0x46/0x80\n\t [\u003cffffffff800e6e31\u003e] sys_mkdirat+0x56/0xe4\n\nversus the automount daemon which wants to remove that dentry, but can\u0027t\nbecause the normal process is holding the i_mutex lock:\n\n\tautomount     D ffffffff8014e05a     0 32581      1              32561\n\tCall Trace:\n\t [\u003cffffffff80063c3f\u003e] __mutex_lock_slowpath+0x60/0x9b\n\t [\u003cffffffff8000ccf1\u003e] do_path_lookup+0x2ca/0x2f1\n\t [\u003cffffffff80063c89\u003e] .text.lock.mutex+0xf/0x14\n\t [\u003cffffffff800e6d55\u003e] do_rmdir+0x77/0xde\n\t [\u003cffffffff8005d229\u003e] tracesys+0x71/0xe0\n\t [\u003cffffffff8005d28d\u003e] tracesys+0xd5/0xe0\n\nwhich means that the system is deadlocked.\n\nThis patch allows autofs to hold up normal processes whilst the daemon goes\nahead and does things to the dentry tree behind the automouter point without\nrisking a deadlock as almost no locks are held in d_manage() and none in\nd_automount().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nWas-Acked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9875cf806403fae66b2410a3c2cc820d97731e04",
      "tree": "6f9546b400716766af95e0f78e3d600e765b2b51",
      "parents": [
        "1a8edf40e7c3eee955e0dd0316a7c9d85e36f597"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:21 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:05:03 2011 -0500"
      },
      "message": "Add a dentry op to handle automounting rather than abusing follow_link()\n\nAdd a dentry op (d_automount) to handle automounting directories rather than\nabusing the follow_link() inode operation.  The operation is keyed off a new\ndentry flag (DCACHE_NEED_AUTOMOUNT).\n\nThis also makes it easier to add an AT_ flag to suppress terminal segment\nautomount during pathwalk and removes the need for the kludge code in the\npathwalk algorithm to handle directories with follow_link() semantics.\n\nThe -\u003ed_automount() dentry operation:\n\n\tstruct vfsmount *(*d_automount)(struct path *mountpoint);\n\ntakes a pointer to the directory to be mounted upon, which is expected to\nprovide sufficient data to determine what should be mounted.  If successful, it\nshould return the vfsmount struct it creates (which it should also have added\nto the namespace using do_add_mount() or similar).  If there\u0027s a collision with\nanother automount attempt, NULL should be returned.  If the directory specified\nby the parameter should be used directly rather than being mounted upon,\n-EISDIR should be returned.  In any other case, an error code should be\nreturned.\n\nThe -\u003ed_automount() operation is called with no locks held and may sleep.  At\nthis point the pathwalk algorithm will be in ref-walk mode.\n\nWithin fs/namei.c itself, a new pathwalk subroutine (follow_automount()) is\nadded to handle mountpoints.  It will return -EREMOTE if the automount flag was\nset, but no d_automount() op was supplied, -ELOOP if we\u0027ve encountered too many\nsymlinks or mountpoints, -EISDIR if the walk point should be used without\nmounting and 0 if successful.  The path will be updated to point to the mounted\nfilesystem if a successful automount took place.\n\n__follow_mount() is replaced by follow_managed() which is more generic\n(especially with the patch that adds -\u003ed_manage()).  This handles transits from\ndirectories during pathwalk, including automounting and skipping over\nmountpoints (and holding processes with the next patch).\n\n__follow_mount_rcu() will jump out of RCU-walk mode if it encounters an\nautomount point with nothing mounted on it.\n\nfollow_dotdot*() does not handle automounts as you don\u0027t want to trigger them\nwhilst following \"..\".\n\nI\u0027ve also extracted the mount/don\u0027t-mount logic from autofs4 and included it\nhere.  It makes the mount go ahead anyway if someone calls open() or creat(),\ntries to traverse the directory, tries to chdir/chroot/etc. into the directory,\nor sticks a \u0027/\u0027 on the end of the pathname.  If they do a stat(), however,\nthey\u0027ll only trigger the automount if they didn\u0027t also say O_NOFOLLOW.\n\nI\u0027ve also added an inode flag (S_AUTOMOUNT) so that filesystems can mark their\ninodes as automount points.  This flag is automatically propagated to the\ndentry as DCACHE_NEED_AUTOMOUNT by __d_instantiate().  This saves NFS and could\nsave AFS a private flag bit apiece, but is not strictly necessary.  It would be\npreferable to do the propagation in d_set_d_op(), but that doesn\u0027t normally\nhave access to the inode.\n\n[AV: fixed breakage in case if __follow_mount_rcu() fails and nameidata_drop_rcu()\nsucceeds in RCU case of do_lookup(); we need to fall through to non-RCU case after\nthat, rather than just returning with ungrabbed *path]\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nWas-Acked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1b59be2a6cdcb5a12e18d8315c07c94a624de48f",
      "tree": "5cf48d9f94d85e9b1f984610b6868ad100ca1916",
      "parents": [
        "f9ee7f60d6f37ae0184812b4c59b3869f875768b",
        "2ed1c5257b5d669df2a64bd53e61dc19c7d936cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 13:01:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 13:01:14 2011 -0800"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  Update Pekka\u0027s email address in MAINTAINERS\n  mm/slab.c: make local symbols static\n  slub: Avoid use of slub_lock in show_slab_objects()\n  memory hotplug: one more lock on memory hotplug\n"
    },
    {
      "commit": "f9ee7f60d6f37ae0184812b4c59b3869f875768b",
      "tree": "6c30a7e94b90cfa3a43cda45f4bdb2f254f3ba10",
      "parents": [
        "16c1020362083b320868c0deef492249089c3cd3",
        "1161ec944916069ceec21c487e30247d9ff22857",
        "76d1f7bfcd5872056902c5a88b5fcd5d4d00a7a9",
        "afa14e7c553ebe45844d76208f66017a43abd0e2",
        "7c46d8da09df22361d1d43465c4f1b06cecaf25f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027x86-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: avoid pointless blocked-task warnings\n  rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status\n  rtmutex: Fix comment about why new_owner can be NULL in wake_futex_pi()\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, olpc: Add missing Kconfig dependencies\n  x86, mrst: Set correct APB timer IRQ affinity for secondary cpu\n  x86: tsc: Fix calibration refinement conditionals to avoid divide by zero\n  x86, ia64, acpi: Clean up x86-ism in drivers/acpi/numa.c\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timekeeping: Make local variables static\n  time: Rename misnamed minsec argument of clocks_calc_mult_shift()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove syscall_exit_fields\n  tracing: Only process module tracepoints once\n  perf record: Add \"nodelay\" mode, disabled by default\n  perf sched: Fix list of events, dropping unsupported \u0027:r\u0027 modifier\n  Revert \"perf tools: Emit clearer message for sys_perf_event_open ENOENT return\"\n  perf top: Fix annotate segv\n  perf evsel: Fix order of event list deletion\n"
    },
    {
      "commit": "597fb188cbee2d371246e1669bbc6051bb666aa9",
      "tree": "fd9cb605050ca15274cf391dc6bd4073d04808df",
      "parents": [
        "38567333a6dabd0f2b4150e9fb6dd8e3ba2985e5",
        "04d94879c8a4973b5499dc26b9d38acee8928791"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Jan 15 13:28:17 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Jan 15 13:28:17 2011 +0200"
      },
      "message": "Merge branch \u0027slub/hotplug\u0027 into slab/urgent\n"
    },
    {
      "commit": "96a608a4bfd8468c21881b3f92024923886eb015",
      "tree": "5c1cac2a320f8ba019ccd3d45730ac8d0ecbaa5d",
      "parents": [
        "98d530fe246b65fbd3cdeeeca319a80c46cb4793"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:51:11 2011 -0800"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:51:11 2011 -0800"
      },
      "message": "ARM: PL08x: fix a warning\n\ndrivers/dma/amba-pl08x.c: In function \u0027pl08x_start_txd\u0027:\ndrivers/dma/amba-pl08x.c:205: warning: dereferencing \u0027void *\u0027 pointer\n\nWe never dereference llis_va aside from assigning it to a struct\npl08x_lli pointer or calculating the address of array element 0.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "98d530fe246b65fbd3cdeeeca319a80c46cb4793",
      "tree": "f5b6d711fd6d24ae6a042e91c4bc9108914fb382",
      "parents": [
        "dda36f9821321edf65d69da5c0807df7e73d26fc"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sat Jan 01 23:00:23 2011 +0000"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:07:49 2011 -0800"
      },
      "message": "Fix dmaengine_submit() return type\n\ndesc-\u003etx_submit\u0027s return type is dma_cookie_t, not int.  Therefore,\ndmaengine_submit() should match this return type as it\u0027s just\nwrapping this detail.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "38567333a6dabd0f2b4150e9fb6dd8e3ba2985e5",
      "tree": "1101e3df845ce804035335f80ef3467397bd5373",
      "parents": [
        "de23be5f3580f7b9b52cad6633bb3a3cd13abafe",
        "c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 16:29:49 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 16:29:49 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-post-merge-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-post-merge-2.6:\n  [SCSI] target: Add LIO target core v4.0.0-rc6\n  [SCSI] sd,sr: kill compat SDEV_MEDIA_CHANGE event\n  [SCSI] sd: implement sd_check_events()\n"
    },
    {
      "commit": "3632ef8909118db9584e1bed9538dc180adb32f8",
      "tree": "033925e11aef3c700492b4da0a1332f710de1299",
      "parents": [
        "8473dbb43db92fa8de7c24d1973aaf1e0276a89f"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sat Jan 15 09:27:00 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 16:10:28 2011 -0800"
      },
      "message": "Revert \"drm: Update fbdev fb_fix_screeninfo\"\n\nThis reverts commit dfe63bb0ad9810db13aab0058caba97866e0a681.\n\nThis commit was causing nouveau not to work properly, for -rc1 I\u0027d\nprefer it worked and we can look if this is useful for 2.6.39.\n\nCc: James Simmons \u003cjsimmons@infradead.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab0724ffee24409a7f81afb539b2ac29090bff3e",
      "tree": "8d0611d921494af2477d517f4f8a331150bf328d",
      "parents": [
        "9a1fe2f27f71dd275caf2be5be2fa59bd2a3f8d4"
      ],
      "author": {
        "name": "Markus Trippelsdorf",
        "email": "markus@trippelsdorf.de",
        "time": "Sat Jan 15 00:07:22 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 15:23:25 2011 -0800"
      },
      "message": "PCI / ACPI: Fix build issue in pci_root.c for !CONFIG_PCIEPORTBUS\n\nThe compilation of drivers/acpi/pci_root.c fails if\nCONFIG_PCIEPORTBUS is unset.  Fix the problem.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ab82196492a0b6968a654a06aae923b28afef0d",
      "tree": "8affe1097bba194fe677d5399f47693dc0363dd8",
      "parents": [
        "6f7f7caab259026234277b659485d22c1dcb1ab4",
        "49731baa41df404c2c3f44555869ab387363af43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:32:07 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:32:07 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: restore multiple bd_link_disk_holder() support\n  block cfq: compensate preempted queue even if it has no slice assigned\n  block cfq: make queue preempt work for queues from different workload\n"
    },
    {
      "commit": "d018b6f4f1539f3679fbdc2d02d58d09e76be84a",
      "tree": "317b9e04d8e7a73a4d07c69a5cb5455ec34f47e5",
      "parents": [
        "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
        "0f73f2c5a3ebb957ee66718c903c17ed71a4fc2e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:25:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:25:30 2011 -0800"
      },
      "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: (47 commits)\n  GRETH: resolve SMP issues and other problems\n  GRETH: handle frame error interrupts\n  GRETH: avoid writing bad speed/duplex when setting transfer mode\n  GRETH: fixed skb buffer memory leak on frame errors\n  GRETH: GBit transmit descriptor handling optimization\n  GRETH: fix opening/closing\n  GRETH: added raw AMBA vendor/device number to match against.\n  cassini: Fix build bustage on x86.\n  e1000e: consistent use of Rx/Tx vs. RX/TX/rx/tx in comments/logs\n  e1000e: update Copyright for 2011\n  e1000: Avoid unhandled IRQ\n  r8169: keep firmware in memory.\n  netdev: tilepro: Use is_unicast_ether_addr helper\n  etherdevice.h: Add is_unicast_ether_addr function\n  ks8695net: Use default implementation of ethtool_ops::get_link\n  ks8695net: Disable non-working ethtool operations\n  USB CDC NCM: Don\u0027t deref NULL in cdc_ncm_rx_fixup() and don\u0027t use uninitialized variable.\n  vxge: Remember to release firmware after upgrading firmware\n  netdev: bfin_mac: Remove is_multicast_ether_addr use in netdev_for_each_mc_addr\n  ipsec: update MAX_AH_AUTH_LEN to support sha512\n  ...\n"
    },
    {
      "commit": "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
      "tree": "f3467fafd8e49392e3f6efef7b88a7b4dd3b7b06",
      "parents": [
        "ec08bdb148767f1193f5f3028749ed865ac27181",
        "a8f2800b4f7b76cecb7209cb6a7d2b14904fc711"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux: (62 commits)\n  nfsd4: fix callback restarting\n  nfsd: break lease on unlink, link, and rename\n  nfsd4: break lease on nfsd setattr\n  nfsd: don\u0027t support msnfs export option\n  nfsd4: initialize cb_per_client\n  nfsd4: allow restarting callbacks\n  nfsd4: simplify nfsd4_cb_prepare\n  nfsd4: give out delegations more quickly in 4.1 case\n  nfsd4: add helper function to run callbacks\n  nfsd4: make sure sequence flags are set after destroy_session\n  nfsd4: re-probe callback on connection loss\n  nfsd4: set sequence flag when backchannel is down\n  nfsd4: keep finer-grained callback status\n  rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n  rpc: keep backchannel xprt as long as server connection\n  rpc: move sk_bc_xprt to svc_xprt\n  nfsd4: allow backchannel recovery\n  nfsd4: support BIND_CONN_TO_SESSION\n  nfsd4: modify session list under cl_lock\n  Documentation: fl_mylease no longer exists\n  ...\n\nFix up conflicts in fs/nfsd/vfs.c with the vfs-scale work.  The\nvfs-scale work touched some msnfs cases, and this merge removes support\nfor that entirely, so the conflict was trivial to resolve.\n"
    },
    {
      "commit": "3e8b3b90fecedcf20d895c4e6ad01a379fe252bf",
      "tree": "44c94a9fc098303fbd47e0d10b40ec258e9f816f",
      "parents": [
        "f8fe80e4383bf5f542beb80bf2abe9fc1505c366"
      ],
      "author": {
        "name": "Hanno Boeck",
        "email": "hanno@hboeck.de",
        "time": "Fri Jan 14 19:14:47 2011 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jan 14 19:14:47 2011 +0100"
      },
      "message": "ALSA: constify functions in ac97\n\nSigned-off-by: Hanno Boeck \u003channo@hboeck.de\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "49731baa41df404c2c3f44555869ab387363af43",
      "tree": "5d3476368fa546aebb1c223e9cf1bab5ad80f698",
      "parents": [
        "c553f8e335c00a7cff3ab3f13e793b13d3f2207f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 14 18:43:57 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Jan 14 18:44:22 2011 +0100"
      },
      "message": "block: restore multiple bd_link_disk_holder() support\n\nCommit e09b457b (block: simplify holder symlink handling) incorrectly\nassumed that there is only one link at maximum.  dm may use multiple\nlinks and expects block layer to track reference count for each link,\nwhich is different from and unrelated to the exclusive device holder\nidentified by @holder when the device is opened.\n\nRemove the single holder assumption and automatic removal of the link\nand revive the per-link reference count tracking.  The code\nessentially behaves the same as before commit e09b457b sans the\nunnecessary kobject reference count dancing.\n\nWhile at it, note that this facility should not be used by anyone else\nthan the current ones.  Sysfs symlinks shouldn\u0027t be abused like this\nand the whole thing doesn\u0027t belong in the block layer at all.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Milan Broz \u003cmbroz@redhat.com\u003e\nCc: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: linux-raid@vger.kernel.org\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d73b388459b1ee2e80f8ff9c1916d75640d7d920",
      "tree": "3e4061226f817c5728009f0bcc1d810d0c4a7b37",
      "parents": [
        "5957e33d6aec266659a71cfabcf7cf2c593ad0d2",
        "0f953bf6b4efa0daddb7c418130a9bd3ee97f7ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:29:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:29:05 2011 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI/PM: Report wakeup events before resuming devices\n  PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events\n  PCI: sysfs: Update ROM to include default owner write access\n  x86/PCI: make Broadcom CNB20LE driver EMBEDDED and EXPERIMENTAL\n  x86/PCI: don\u0027t use native Broadcom CNB20LE driver when ACPI is available\n  PCI/ACPI: Request _OSC control once for each root bridge (v3)\n  PCI: enable pci\u003dbfsort by default on future Dell systems\n  PCI/PCIe: Clear Root PME Status bits early during system resume\n  PCI: pci-stub: ignore zero-length id parameters\n  x86/PCI: irq and pci_ids patch for Intel Patsburg\n  PCI: Skip id checking if no id is passed\n  PCI: fix __pci_device_probe kernel-doc warning\n  PCI: make pci_restore_state return void\n  PCI: Disable ASPM if BIOS asks us to\n  PCI: Add mask bit definition for MSI-X table\n  PCI: MSI: Move MSI-X entry definition to pci_regs.h\n\nFix up trivial conflicts in drivers/net/{skge.c,sky2.c} that had in the\nmeantime been converted to not use legacy PCI power management, and thus\nno longer use pci_restore_state() at all (and that caused trivial\nconflicts with the \"make pci_restore_state return void\" patch)\n"
    },
    {
      "commit": "5957e33d6aec266659a71cfabcf7cf2c593ad0d2",
      "tree": "6397dec8d71e4ed4f5982792c57d7c0ddb525d1e",
      "parents": [
        "0ad53eeefcbb2620b6a71ffdaad4add20b450b8b",
        "359ab9f5b154cbd807a11e22792235f0f36b0cd5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:25:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:25:59 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6: (21 commits)\n  power_supply: Add MAX17042 Fuel Gauge Driver\n  olpc_battery: Fix up XO-1.5 properties list\n  olpc_battery: Add support for CURRENT_NOW and VOLTAGE_NOW\n  olpc_battery: Add support for CHARGE_NOW\n  olpc_battery: Add support for CHARGE_FULL_DESIGN\n  olpc_battery: Ambient temperature is not available on XO-1.5\n  jz4740-battery: Should include linux/io.h\n  s3c_adc_battery: Add gpio_inverted field to pdata\n  power_supply: Don\u0027t use flush_scheduled_work()\n  power_supply: Fix use after free and memory leak\n  gpio-charger: Fix potential race between irq handler and probe/remove\n  gpio-charger: Provide default name for the power_supply\n  gpio-charger: Check result of kzalloc\n  jz4740-battery: Check if platform_data is supplied\n  isp1704_charger: Detect charger after probe\n  isp1704_charger: Set isp-\u003edev before anything needs it\n  isp1704_charger: Detect HUB/Host chargers\n  isp1704_charger: Correct length for storing model\n  power_supply: Add gpio charger driver\n  jz4740-battery: Protect against concurrent battery readings\n  ...\n"
    },
    {
      "commit": "acda4721ae876dedab3fef04bbd8020bfa67ff0a",
      "tree": "ec48d554fe48b3915912e2ae62bc962ade0553bd",
      "parents": [
        "822e5215f9eef86c1dd56d5696bf55a212b0e3f0",
        "32385c7cf60a78375b63afc4f02001df84dfd1a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin:\n  kernel: fix hlist_bl again\n  cgroups: Fix a lockdep warning at cgroup removal\n  fs: namei fix -\u003eput_link on wrong inode in do_filp_open\n"
    },
    {
      "commit": "822e5215f9eef86c1dd56d5696bf55a212b0e3f0",
      "tree": "661de9888a0edef872e7366df09831bf7a5bc067",
      "parents": [
        "c1e0d97d3d63d5173baf8c39a13dc5c25b031bd4",
        "92d50a4132977b932ed830fa58c05deeb5c524f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:00 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (59 commits)\n  mfd: ab8500-core chip version cut 2.0 support\n  mfd: Flag WM831x /IRQ as a wake source\n  mfd: Convert WM831x away from legacy I2C PM operations\n  regulator: Support MAX8998/LP3974 DVS-GPIO\n  mfd: Support LP3974 RTC\n  i2c: Convert SCx200 driver from using raw PCI to platform device\n  x86: OLPC: convert olpc-xo1 driver from pci device to platform device\n  mfd: MAX8998/LP3974 hibernation support\n  mfd/ab8500: remove spi support\n  mfd: Remove ARCH_U8500 dependency from AB8500\n  misc: Make AB8500_PWM driver depend on U8500 due to PWM breakage\n  mfd: Add __devexit annotation for vx855_remove\n  mfd: twl6030 irq_data conversion.\n  gpio: Fix cs5535 printk warnings\n  misc: Fix cs5535 printk warnings\n  mfd: Convert Wolfson MFD drivers to use irq_data accessor function\n  mfd: Convert TWL4030 to new irq_ APIs\n  mfd: Convert tps6586x driver to new irq_ API\n  mfd: Convert tc6393xb driver to new irq_ APIs\n  mfd: Convert t7166xb driver to new irq_ API\n  ...\n"
    },
    {
      "commit": "b6e335aeeb114dccb07eaa09e8b62ff9510cf745",
      "tree": "f4292a579e594b6c0312e9c34467649cb978aea5",
      "parents": [
        "ff29530e651a3449aea6b0ef4c7048db9e22ef27"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 29 13:21:23 2010 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 14 08:55:43 2011 -0800"
      },
      "message": "PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events\n\nAfter recent changes related to wakeup events pm_wakeup_event()\nautomatically checks if the given device is configured to signal wakeup,\nso pci_wakeup_event() may be a static inline function calling\npm_wakeup_event() directly.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "415e12b2379239973feab91850b0dce985c6058a",
      "tree": "aa79c7a87fd30ac13ae3fd146aad5a44e854c4bc",
      "parents": [
        "6e8af08dfa40b747002207d3ce8e8b43a050d99f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 07 00:55:09 2011 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 14 08:55:41 2011 -0800"
      },
      "message": "PCI/ACPI: Request _OSC control once for each root bridge (v3)\n\nMove the evaluation of acpi_pci_osc_control_set() (to request control of\nPCI Express native features) into acpi_pci_root_add() to avoid calling\nit many times for the same root complex with the same arguments.\nAdditionally, check if all of the requisite _OSC support bits are set\nbefore calling acpi_pci_osc_control_set() for a given root complex.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d20232\nReported-by: Ozan Caglayan \u003cozan@pardus.org.tr\u003e\nTested-by: Ozan Caglayan \u003cozan@pardus.org.tr\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c94fbe1d9e1e9b1a1f82eb0b53b1cf53bcf9712b",
      "tree": "0191c752be8ea739136106f6cca95df61cffc676",
      "parents": [
        "4ad9f594d7199c99f6b1b3ef88c64bd5920a4592"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jan 14 11:25:58 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 14 11:25:58 2011 -0500"
      },
      "message": "tracing: Only process module tracepoints once\n\nThe commit:\n\n 9f987b3141f086de27832514aad9f50a53f754\n tracing: Include module.h in define_trace.h\n\nonly solved half the problem. If the trace/events/module.h header is\nincluded at the time of define_trace.h (or in ftrace.h within it),\nthe module.h TRACE_SYSTEM will override the current TRACE_SYSTEM\nmacro.\n\nSince define_trace.h is included when CREATE_TRACE_POINTS is set,\nand the first thing it does is to #undef CREATE_TRACE_POINTS,\nby placing the module.h TRACE_SYSTEM inside a\n #ifdef CREATE_TRACE_POINTS\nwe can prevent it from overriding the TRACE_SYSTEM that is\nbeing processed, and still process the module.h tracepoints\nwhen the module code defines CREATE_TRACE_POINTS and includes\nthe trace/events/module.h header.\n\nAs with commit 9f987b3141, this is only an issue if module.h\nis not included before the trace/events/\u003cevent\u003e.h file is\nincluded, which (luckily) has not happened yet.\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5",
      "tree": "71c6344688bf56ea6aaf18c586ab69ff4f077ade",
      "parents": [
        "f4013c3879d1bbd9f3ab8351185decd049502368"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Dec 17 11:11:26 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Jan 14 10:12:29 2011 -0600"
      },
      "message": "[SCSI] target: Add LIO target core v4.0.0-rc6\n\nLIO target is a full featured in-kernel target framework with the\nfollowing feature set:\n\nHigh-performance, non-blocking, multithreaded architecture with SIMD\nsupport.\n\nAdvanced SCSI feature set:\n\n    * Persistent Reservations (PRs)\n    * Asymmetric Logical Unit Assignment (ALUA)\n    * Protocol and intra-nexus multiplexing, load-balancing and failover (MC/S)\n    * Full Error Recovery (ERL\u003d0,1,2)\n    * Active/active task migration and session continuation (ERL\u003d2)\n    * Thin LUN provisioning (UNMAP and WRITE_SAMExx)\n\nMultiprotocol target plugins\n\nStorage media independence:\n\n    * Virtualization of all storage media; transparent mapping of IO to LUNs\n    * No hard limits on number of LUNs per Target; maximum LUN size ~750 TB\n    * Backstores: SATA, SAS, SCSI, BluRay, DVD, FLASH, USB, ramdisk, etc.\n\nStandards compliance:\n\n    * Full compliance with IETF (RFC 3720)\n    * Full implementation of SPC-4 PRs and ALUA\n\nSignificant code cleanups done by Christoph Hellwig.\n\n[jejb: fix up for new block bdev exclusive interface. Minor fixes from\n Randy Dunlap and Dan Carpenter.]\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "323b7fe8f8f6d5ac6214382cf30e8b3a80b265c9",
      "tree": "537e4b8a2c528f8bd2a71f954e01b71e26ff231c",
      "parents": [
        "836cb711ad7960e52625b24195d6e70b79ab0816"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Fri Jan 14 09:34:29 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 08:06:39 2011 -0800"
      },
      "message": "include/gpio.h: remove remaining __must_check-annotiations\n\nCommit 5f829e405ec4e96f711165a4a7b55c271d4363e2 (gpiolib: add missing functions\nto generic fallback) also introduced two.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "836cb711ad7960e52625b24195d6e70b79ab0816",
      "tree": "b2e9d2060c24f7c68bc82c8e6add25180fe8eaca",
      "parents": [
        "11ff26c884ec957bed87b49e3a38908f37d0d3e4"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa@bluextal.(none)",
        "time": "Fri Jan 14 14:56:53 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 07:52:02 2011 -0800"
      },
      "message": "Revert update for dirty_ratio for memcg.\n\nThe flags added by commit db16d5ec1f87f17511599bc77857dd1662b5a22f\nhas no user now. We believe we\u0027ll use it soon but considering\npatch reviewing, the change itself should be folded into incoming\nset of \"dirty ratio for memcg\" patches.\n\nSo, it\u0027s better to drop this change from current mainline tree.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Greg Thelen \u003cgthelen@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "359ab9f5b154cbd807a11e22792235f0f36b0cd5",
      "tree": "3500652809c242b75deb5139ded7052c389e0bb4",
      "parents": [
        "bf542a4e7b634c2adcba4241a29082f69b0f45dc"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Fri Jan 14 14:46:11 2011 +0900"
      },
      "committer": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Fri Jan 14 18:11:59 2011 +0300"
      },
      "message": "power_supply: Add MAX17042 Fuel Gauge Driver\n\nThe MAX17042 is a fuel gauge with an I2C interface for lithium-ion\nbetteries. Unlike its predecessor MAX17040, MAX17042 uses 16bit\nregisters. Besides, MAX17042 has much more features than MAX17040; e.g.,\na thermistor, current and current accumulation measurement, battery\ninternal resistance estimate, average values of measurement, and others.\n\nThis patch implements a driver for MAX17042.\nIn this initial release, we have implemented the most basic features of\na fuel gauge: measure the battery capacity and voltage.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\n"
    },
    {
      "commit": "32385c7cf60a78375b63afc4f02001df84dfd1a0",
      "tree": "6419ac3c77cb38bac389e5efc59928e01780a2ae",
      "parents": [
        "3ec762ad8be364c2fadfe0d6b2cc6d4d3b5e1b54"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jan 14 13:12:45 2011 +0000"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 14 13:12:45 2011 +0000"
      },
      "message": "kernel: fix hlist_bl again\n\n__d_rehash is dereferencing an almost-NULL pointer on my ARM926.\nCONFIG_SMP\u003dn and CONFIG_DEBUG_SPINLOCK\u003dy.\n\nThe faulting instruction is:    strne   r3, [r2, #4]\nand as can be seen from the register dump below, r2 is 0x00000001, hence\nthe faulting 0x00000005 address.\n\n__d_rehash is essentially:\n\n       spin_lock_bucket(b);\n       entry-\u003ed_flags \u0026\u003d ~DCACHE_UNHASHED;\n       hlist_bl_add_head_rcu(\u0026entry-\u003ed_hash, \u0026b-\u003ehead);\n       spin_unlock_bucket(b);\n\nwhich is:\n\n       bit_spin_lock(0, (unsigned long *)\u0026b-\u003ehead.first);\n       entry-\u003ed_flags \u0026\u003d ~DCACHE_UNHASHED;\n       hlist_bl_add_head_rcu(\u0026entry-\u003ed_hash, \u0026b-\u003ehead);\n       __bit_spin_unlock(0, (unsigned long *)\u0026b-\u003ehead.first);\n\nbit_spin_lock(0, ptr) sets bit 0 of *ptr, in this case b-\u003ehead.first if\nCONFIG_SMP or CONFIG_DEBUG_SPINLOCK is set:\n\n#if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_SPINLOCK)\n       while (unlikely(test_and_set_bit_lock(bitnum, addr))) {\n               while (test_bit(bitnum, addr)) {\n                       preempt_enable();\n                       cpu_relax();\n                       preempt_disable();\n               }\n       }\n#endif\n\nSo, b-\u003ehead.first starts off NULL, and becomes a non-NULL (address 1).\nhlist_bl_add_head_rcu() does this:\n\nstatic inline void hlist_bl_add_head_rcu(struct hlist_bl_node *n,\n                                       struct hlist_bl_head *h)\n{\n       first \u003d hlist_bl_first(h);\n       n-\u003enext \u003d first;\n       if (first)\n               first-\u003epprev \u003d \u0026n-\u003enext;\n\nIt is the store to first-\u003epprev which is faulting.\n\nhlist_bl_first():\n\nstatic inline struct hlist_bl_node *hlist_bl_first(struct hlist_bl_head *h)\n{\n       return (struct hlist_bl_node *)\n               ((unsigned long)h-\u003efirst \u0026 ~LIST_BL_LOCKMASK);\n}\n\nbut:\n#if defined(CONFIG_SMP)\n#define LIST_BL_LOCKMASK        1UL\n#else\n#define LIST_BL_LOCKMASK        0UL\n#endif\n\nSo, we have one piece of code which sets bit 0 of addresses, and another\nbit of code which doesn\u0027t clear it before dereferencing the pointer if\n!CONFIG_SMP \u0026\u0026 CONFIG_DEBUG_SPINLOCK.  With the patch below, I can again\nsucessfully boot the kernel on my Versatile PB/926 platform.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "92d50a4132977b932ed830fa58c05deeb5c524f0",
      "tree": "1ee4ca4b6126861e30d5ac79ad61b0884b4d8627",
      "parents": [
        "180e4f5f20ef2b03ce2b38634274dde5ccbd8951"
      ],
      "author": {
        "name": "Mattias Wallin",
        "email": "mattias.wallin@stericsson.com",
        "time": "Tue Dec 07 11:20:47 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:18 2011 +0100"
      },
      "message": "mfd: ab8500-core chip version cut 2.0 support\n\nThis patch adds support for chip version 2.0 or cut 2.0.\nOne new interrupt latch register - latch 12 - is introduced.\n\nSigned-off-by: Mattias Wallin \u003cmattias.wallin@stericsson.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "735a3d9efdc5aeebe201008e6655b235c7f02aeb",
      "tree": "a1083cec498505b1dbd28dd09a73d477965d2d61",
      "parents": [
        "337ce5d1c5759644cea6c47220ce7e84f0398362"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Tue Jan 11 12:20:05 2011 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:16 2011 +0100"
      },
      "message": "regulator: Support MAX8998/LP3974 DVS-GPIO\n\nThe previous driver did not support BUCK1-DVS3, BUCK1-DVS4, and\nBUCK2-DVS2 modes. This patch adds such modes and an option to block\nsetting buck1/2 voltages out of the preset values.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "337ce5d1c5759644cea6c47220ce7e84f0398362",
      "tree": "0436dbc242425226202476d6181fa6ae89e3a206",
      "parents": [
        "de8255ccd219267cfd34139022b197c1ef8f032f"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Tue Jan 04 14:17:39 2011 +0900"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:16 2011 +0100"
      },
      "message": "mfd: Support LP3974 RTC\n\nThe first releases of LP3974 have a large delay in RTC registers,\nwhich requires 2 seconds of delay after writing to a rtc register\n(recommended by National Semiconductor\u0027s engineers)\nbefore reading it.\n\nIf \"rtc_delay\" field of the platform data is true, the rtc driver\nassumes that such delays are required. Although we have not seen\nLP3974s without requiring such delays, we assume that such LP3974s\nwill be released soon (or they have done so already) and they are\nsupported by \"lp3974\" without setting \"rtc_delay\" at the platform\ndata.\n\nThis patch adds delays with msleep when writing values to RTC registers\nif the platform data has rtc_delay set.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "cdd137c9c86c201ddb7f42ec978d2da45e7b7a17",
      "tree": "1fe9850f283a3952b139d2fc113759fbb4fed88c",
      "parents": [
        "6680d940b80dbb0617226c5b76b071a3977feb1c"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Thu Dec 23 17:53:36 2010 +0900"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:14 2011 +0100"
      },
      "message": "mfd: MAX8998/LP3974 hibernation support\n\nThis patch makes the driver to save and restore register values\nfor hibernation.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "e098aded79f24e2024139e82f778ff9db6dc142a",
      "tree": "9a8e55da30e25ddf10f1476dfc4c4c9467efe800",
      "parents": [
        "4f079985b2caacfda5103dd85fb028a2848c84ab"
      ],
      "author": {
        "name": "Mattias Wallin",
        "email": "mattias.wallin@stericsson.com",
        "time": "Thu Dec 02 15:40:31 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:37:47 2011 +0100"
      },
      "message": "mfd: ab8500-core ioresources irq for subdrivers added\n\nThis patch adds the ioresources used by subdrivers to\nretrieve their interrupt.\n\nSigned-off-by: Mattias Wallin \u003cmattias.wallin@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    }
  ],
  "next": "4c90aa94f6b3e33f57faaf19ef9819195dff61d3"
}
