)]}'
{
  "log": [
    {
      "commit": "4061fde2fa80f40cb27114f60500d38d0afcf350",
      "tree": "c507d9488c2f23fb54599e251aadc846531a07bd",
      "parents": [
        "3898115896c7f18cb7009de691c43cb3d92bb82a"
      ],
      "author": {
        "name": "Toby Gray",
        "email": "toby.gray@realvnc.com",
        "time": "Mon Jun 06 14:52:48 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 06 15:59:41 2011 -0700"
      },
      "message": "USB: cdc-acm: Adding second ACM channel support for Nokia E7 and C7\n\nThis adds the Nokia E7 and C7 to the list of devices in cdc-acm, allowing\nthe secondary ACM channel on the device to be exposed. Without this patch\nthe ACM driver won\u0027t claim this secondary channel as it\u0027s marked as\nhaving a vendor-specific protocol.\n\nSigned-off-by: Toby Gray \u003ctoby.gray@realvnc.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fd5054c169d29747a44b4e1419ff47f57ae82dbc",
      "tree": "aa352fe27998b7f1e9bced69d4e46e0990ff891c",
      "parents": [
        "a9df304cf78d76108196da1ff1dad4d9a5737c2e"
      ],
      "author": {
        "name": "Erik Slagter",
        "email": "erik@slagter.name",
        "time": "Wed May 11 12:06:55 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 11 15:14:28 2011 -0700"
      },
      "message": "USB: cdc_acm: Fix oops when Droids MuIn LCD is connected\n\nThe Droids MuIn LCD operates like a serial remote terminal.\nData received are displayed directly on the LCD. This patch\nfixes the kernel null pointer oops when it is plugged in.\n\nAdd NO_DATA_INTERFACE quirk to tell the driver that \"control\"\nand \"data\" interfaces are not separated for this device, which\nprevents dereferencing a null pointer in the device probe code.\n\nSigned-off-by: Erik Slagter \u003cerik@slagter.name\u003e\nSigned-off-by: Maxin B. John \u003cmaxin.john@gmail.com\u003e\nTested-by: Erik Slagter \u003cerik@slagter.name\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d771d8aa37805f5bf75808b12b737f39ee97f5d4",
      "tree": "bd491a31ffc2803d78b45fa23b7c347a35af717f",
      "parents": [
        "b4026c4584cd70858d4d3450abfb1cd0714d4f32"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Fri Apr 29 14:12:21 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 29 17:04:40 2011 -0700"
      },
      "message": "USB: cdc-wdm: reset handling according to new requirements\n\nThis patch\n- ensures no IO takes place during resets\n- reports resets to user space\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "088c64f812847b3623b03d167ed329f90f3e38a4",
      "tree": "2c76790cf12fddf227b4ab21d43002713837c948",
      "parents": [
        "74f5e1babde76149c2bb35ca5dbf4d0b9b38f161"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Fri Mar 25 11:06:02 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:34 2011 -0700"
      },
      "message": "USB: cdc-acm: re-write read processing\n\nKill rx tasklet, which is no longer needed, and re-write read processing.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "74f5e1babde76149c2bb35ca5dbf4d0b9b38f161",
      "tree": "e1decdeda369dd635e8a1c4def9c7582c623560c",
      "parents": [
        "94d4c8919de3ae9e2e029ed121adfed43803bb5d"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:23 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:33 2011 -0700"
      },
      "message": "USB: cdc-acm: clean up read urb allocation\n\nAllocate read urbs and read buffers in the same loop during probe.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "94d4c8919de3ae9e2e029ed121adfed43803bb5d",
      "tree": "7d2f63fb259b8a38c3f059ad265715c2435f66d2",
      "parents": [
        "dab54c9f1e26f47a3313300bc1f4dc0eecb47375"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:22 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:33 2011 -0700"
      },
      "message": "USB: cdc-acm: clean up open error handling\n\nNo need to kill ctrl urb on errors as this is done later during close.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "dab54c9f1e26f47a3313300bc1f4dc0eecb47375",
      "tree": "c14b03918f85d1979853227975ec53d0fe9f3132",
      "parents": [
        "6fb6b8846458afb7b5689f86cf35705c40eb70e5"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:21 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:31 2011 -0700"
      },
      "message": "USB: cdc-acm: clean up rx_buflimit references\n\nClean up references to rx_buflimit.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6fb6b8846458afb7b5689f86cf35705c40eb70e5",
      "tree": "3f1ac0d7be1f927849154ec19d7fe21bedf44951",
      "parents": [
        "3a42610812c55e8a60e2660e01c6cb6eb01d4171"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:20 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:30 2011 -0700"
      },
      "message": "USB: cdc-acm: remove unused drain-delay code\n\nThe drain-delay code is no longer used, so remove it.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3a42610812c55e8a60e2660e01c6cb6eb01d4171",
      "tree": "81ceba7d5c63c54f2a338f48c39fc85e2695e619",
      "parents": [
        "a2c7b9353e8f782590852052fe2948692020147e"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:19 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:29 2011 -0700"
      },
      "message": "USB: cdc-acm: remove superfluous prototype\n\nRemove unnecessary acm_tty_chars_in_buffer prototype.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a2c7b9353e8f782590852052fe2948692020147e",
      "tree": "5ee63ea099162b5be0cafdf2a5b2fa5a7905e271",
      "parents": [
        "5e9e75f8bd97864d552ec2b8d1a00e2b3012a6b3"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:18 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:29 2011 -0700"
      },
      "message": "USB: cdc-acm: remove version information and changelog\n\nRemove driver version and changelog which can be retrieved from git\nhistory.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5e9e75f8bd97864d552ec2b8d1a00e2b3012a6b3",
      "tree": "65f397c9b1711c435419bfef2dfe02708fb1a87a",
      "parents": [
        "4fa4626cd43679dc62a73ee3e347665e761abc9c"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:17 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:28 2011 -0700"
      },
      "message": "USB: cdc-acm: use dev_vdbg in read/write paths\n\nReplace dev_dbg with verbose dev_vdbg in read/write paths where\nappropriate.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4fa4626cd43679dc62a73ee3e347665e761abc9c",
      "tree": "a6b264bbc5d9db144e419de96a8c5f06898123c6",
      "parents": [
        "a5cc7ef92f69a88a1984cc3e09f6c19656efeb2e"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:16 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:28 2011 -0700"
      },
      "message": "USB: cdc-acm: clean up verbose debug\n\nClean up use of verbose debug.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a5cc7ef92f69a88a1984cc3e09f6c19656efeb2e",
      "tree": "5c617b2012c7431061926b1f3620c284a52f5daf",
      "parents": [
        "1d9846e505febb71255b098910ace741433312b7"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:15 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:28 2011 -0700"
      },
      "message": "USB: cdc-acm: replace dbg macros with dev_dbg\n\nReplace all remaining instances of dbg with dev_dbg.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1d9846e505febb71255b098910ace741433312b7",
      "tree": "64b843da6085051dd0a0451decc51738d97065ed",
      "parents": [
        "255ab56c5ae30165d506b837f6576944a02ecdf0"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:14 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:27 2011 -0700"
      },
      "message": "USB: cdc-acm: clean up dev_err and dev_dbg\n\nClean up some dev_err and dev_dbg messages and make sure that the\nappropriate interface device is used for reporting consistently\nthroughout.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "255ab56c5ae30165d506b837f6576944a02ecdf0",
      "tree": "9cd76ee827bf290a229ed576de3c7af8008c65ac",
      "parents": [
        "59d7fec7c6908604862658a3679ac44c2c3eea44"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:13 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:27 2011 -0700"
      },
      "message": "USB: cdc-acm: use dev_err to report failed allocations\n\nUpgrade out-of-memory dev_dbg to dev_err.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "59d7fec7c6908604862658a3679ac44c2c3eea44",
      "tree": "95f5b126567d78931f13ce1172bf42b3dd3def0c",
      "parents": [
        "bce1a702ed9bd9aa3549352b3134e110bf076586"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:12 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 13 16:18:26 2011 -0700"
      },
      "message": "USB: cdc-acm: add missing newlines to dev_dbg and dev_err\n\nAdd missing newline to two dev_dbg and dev_err messages.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "7e7797e7f6f7bfab73fca02c65e40eaa5bb9000c",
      "tree": "3e34252eeb70e4480953a3282ae3e137efc42418",
      "parents": [
        "15e5bee33ffc11d0e5c6f819a65e7881c5c407be"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:11 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 23 13:22:02 2011 -0700"
      },
      "message": "USB: cdc-acm: fix potential null-pointer dereference on disconnect\n\nFix potential null-pointer exception on disconnect introduced by commit\n11ea859d64b69a747d6b060b9ed1520eab1161fe (USB: additional power savings\nfor cdc-acm devices that support remote wakeup).\n\nOnly access acm-\u003edev after making sure it is non-null in control urb\ncompletion handler.\n\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "15e5bee33ffc11d0e5c6f819a65e7881c5c407be",
      "tree": "364c0fa67bc8684ee7d329762ef870738ec0f91a",
      "parents": [
        "23b80550e2aa61d0ba3af98b831b9195be0db9ee"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:10 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 23 13:21:59 2011 -0700"
      },
      "message": "USB: cdc-acm: fix potential null-pointer dereference\n\nMust check return value of tty_port_tty_get.\n\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "23b80550e2aa61d0ba3af98b831b9195be0db9ee",
      "tree": "07ace0822d76b6843cb8d4111cf89b00e4fff26b",
      "parents": [
        "878b753e32ca765cd346a5d3038d630178ec78ff"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue Mar 22 11:12:09 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 23 13:21:56 2011 -0700"
      },
      "message": "USB: cdc-acm: fix memory corruption / panic\n\nPrevent read urbs from being resubmitted from tasklet after port close.\n\nThe receive tasklet was not disabled on port close, which could lead to\ncorruption of receive lists on consecutive port open. In particular,\nread urbs could be re-submitted before port open, added to free list in\nopen, and then added a second time to the free list in the completion\nhandler.\n\ncdc-acm.c: Entering acm_tty_open.\ncdc-acm.c: acm_control_msg: rq: 0x22 val: 0x3 len: 0x0 result: 0\ncdc-acm.c: Entering acm_rx_tasklet\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da280, rcv 0xf57fbc24, buf 0xf57fbd64\ncdc-acm.c: set line: 115200 0 0 8\ncdc-acm.c: acm_control_msg: rq: 0x20 val: 0x0 len: 0x7 result: 7\ncdc-acm.c: acm_tty_close\ncdc-acm.c: acm_port_down\ncdc-acm.c: acm_control_msg: rq: 0x22 val: 0x0 len: 0x0 result: 0\ncdc-acm.c: acm_ctrl_irq - urb shutting down with status: -2\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da300, rcv 0xf57fbc10, buf 0xf57fbd50\ncdc-acm.c: Entering acm_read_bulk with status -2\ncdc_acm 4-1:1.1: Aborting, acm not ready\ncdc-acm.c: Entering acm_read_bulk with status -2\ncdc_acm 4-1:1.1: Aborting, acm not ready\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da380, rcv 0xf57fbbfc, buf 0xf57fbd3c\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da400, rcv 0xf57fbbe8, buf 0xf57fbd28\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da480, rcv 0xf57fbbd4, buf 0xf57fbd14\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da900, rcv 0xf57fbbc0, buf 0xf57fbd00\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da980, rcv 0xf57fbbac, buf 0xf57fbcec\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50daa00, rcv 0xf57fbb98, buf 0xf57fbcd8\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50daa80, rcv 0xf57fbb84, buf 0xf57fbcc4\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50dab00, rcv 0xf57fbb70, buf 0xf57fbcb0\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50dab80, rcv 0xf57fbb5c, buf 0xf57fbc9c\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50dac00, rcv 0xf57fbb48, buf 0xf57fbc88\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50dac80, rcv 0xf57fbb34, buf 0xf57fbc74\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50dad00, rcv 0xf57fbb20, buf 0xf57fbc60\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50dad80, rcv 0xf57fbb0c, buf 0xf57fbc4c\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da880, rcv 0xf57fbaf8, buf 0xf57fbc38\ncdc-acm.c: Entering acm_tty_open.\ncdc-acm.c: acm_control_msg: rq: 0x22 val: 0x3 len: 0x0 result: 0\ncdc-acm.c: Entering acm_rx_tasklet\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da280, rcv 0xf57fbc24, buf 0xf57fbd64\ncdc-acm.c: Entering acm_tty_write to write 3 bytes,\ncdc-acm.c: Get 3 bytes...\ncdc-acm.c: acm_write_start susp_count: 0\ncdc-acm.c: Entering acm_read_bulk with status 0\n------------[ cut here ]------------\nWARNING: at /home/johan/src/linux/linux-2.6/lib/list_debug.c:57 list_del+0x10c/0x120()\nHardware name: Vostro 1520\nlist_del corruption. next-\u003eprev should be f57fbc10, but was f57fbaf8\nModules linked in: cdc_acm\nPid: 3, comm: ksoftirqd/0 Not tainted 2.6.37+ #39\nCall Trace:\n [\u003cc103c7e2\u003e] warn_slowpath_common+0x72/0xa0\n [\u003cc11dd8ac\u003e] ? list_del+0x10c/0x120\n [\u003cc11dd8ac\u003e] ? list_del+0x10c/0x120\n [\u003cc103c8b3\u003e] warn_slowpath_fmt+0x33/0x40\n [\u003cc11dd8ac\u003e] list_del+0x10c/0x120\n [\u003cf8051dbf\u003e] acm_rx_tasklet+0xef/0x3e0 [cdc_acm]\n [\u003cc135465d\u003e] ? net_rps_action_and_irq_enable+0x6d/0x80\n [\u003cc1042bb6\u003e] tasklet_action+0xe6/0x140\n [\u003cc104342f\u003e] __do_softirq+0xaf/0x210\n [\u003cc1043380\u003e] ? __do_softirq+0x0/0x210\n \u003cIRQ\u003e  [\u003cc1042c9a\u003e] ? run_ksoftirqd+0x8a/0x1c0\n [\u003cc1042c10\u003e] ? run_ksoftirqd+0x0/0x1c0\n [\u003cc105ac24\u003e] ? kthread+0x74/0x80\n [\u003cc105abb0\u003e] ? kthread+0x0/0x80\n [\u003cc100337a\u003e] ? kernel_thread_helper+0x6/0x10\n---[ end trace efd9a11434f0082e ]---\n------------[ cut here ]------------\nWARNING: at /home/johan/src/linux/linux-2.6/lib/list_debug.c:57 list_del+0x10c/0x120()\nHardware name: Vostro 1520\nlist_del corruption. next-\u003eprev should be f57fbd50, but was f57fbdb0\nModules linked in: cdc_acm\nPid: 3, comm: ksoftirqd/0 Tainted: G        W   2.6.37+ #39\nCall Trace:\n [\u003cc103c7e2\u003e] warn_slowpath_common+0x72/0xa0\n [\u003cc11dd8ac\u003e] ? list_del+0x10c/0x120\n [\u003cc11dd8ac\u003e] ? list_del+0x10c/0x120\n [\u003cc103c8b3\u003e] warn_slowpath_fmt+0x33/0x40\n [\u003cc11dd8ac\u003e] list_del+0x10c/0x120\n [\u003cf8051dd6\u003e] acm_rx_tasklet+0x106/0x3e0 [cdc_acm]\n [\u003cc135465d\u003e] ? net_rps_action_and_irq_enable+0x6d/0x80\n [\u003cc1042bb6\u003e] tasklet_action+0xe6/0x140\n [\u003cc104342f\u003e] __do_softirq+0xaf/0x210\n [\u003cc1043380\u003e] ? __do_softirq+0x0/0x210\n \u003cIRQ\u003e  [\u003cc1042c9a\u003e] ? run_ksoftirqd+0x8a/0x1c0\n [\u003cc1042c10\u003e] ? run_ksoftirqd+0x0/0x1c0\n [\u003cc105ac24\u003e] ? kthread+0x74/0x80\n [\u003cc105abb0\u003e] ? kthread+0x0/0x80\n [\u003cc100337a\u003e] ? kernel_thread_helper+0x6/0x10\n---[ end trace efd9a11434f0082f ]---\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da300, rcv 0xf57fbc10, buf 0xf57fbd50\ncdc-acm.c: disconnected from network\ncdc-acm.c: acm_rx_tasklet: sending urb 0xf50da380, rcv 0xf57fbbfc, buf 0xf57fbd3c\ncdc-acm.c: Entering acm_rx_tasklet\n------------[ cut here ]------------\nWARNING: at /home/johan/src/linux/linux-2.6/lib/list_debug.c:48 list_del+0xd5/0x120()\nHardware name: Vostro 1520\nlist_del corruption, next is LIST_POISON1 (00100100)\nModules linked in: cdc_acm\nPid: 3, comm: ksoftirqd/0 Tainted: G        W   2.6.37+ #39\nCall Trace:\n [\u003cc103c7e2\u003e] warn_slowpath_common+0x72/0xa0\n [\u003cc11dd875\u003e] ? list_del+0xd5/0x120\n [\u003cc11dd875\u003e] ? list_del+0xd5/0x120\n [\u003cc103c8b3\u003e] warn_slowpath_fmt+0x33/0x40\n [\u003cc11dd875\u003e] list_del+0xd5/0x120\n [\u003cf8051fac\u003e] acm_rx_tasklet+0x2dc/0x3e0 [cdc_acm]\n [\u003cc106dbab\u003e] ? trace_hardirqs_on+0xb/0x10\n [\u003cc1042b30\u003e] ? tasklet_action+0x60/0x140\n [\u003cc1042bb6\u003e] tasklet_action+0xe6/0x140\n [\u003cc104342f\u003e] __do_softirq+0xaf/0x210\n [\u003cc1043380\u003e] ? __do_softirq+0x0/0x210\n \u003cIRQ\u003e  [\u003cc1042c9a\u003e] ? run_ksoftirqd+0x8a/0x1c0\n [\u003cc1042c10\u003e] ? run_ksoftirqd+0x0/0x1c0\n [\u003cc105ac24\u003e] ? kthread+0x74/0x80\n [\u003cc105abb0\u003e] ? kthread+0x0/0x80\n [\u003cc100337a\u003e] ? kernel_thread_helper+0x6/0x10\n---[ end trace efd9a11434f00830 ]---\nBUG: unable to handle kernel paging request at 00200200\nIP: [\u003cc11dd7bd\u003e] list_del+0x1d/0x120\n*pde \u003d 00000000\nOops: 0000 [#1] PREEMPT SMP\nlast sysfs file: /sys/devices/pci0000:00/0000:00:1a.1/usb4/4-1/4-1:1.0/tty/ttyACM0/uevent\nModules linked in: cdc_acm\nPid: 3, comm: ksoftirqd/0 Tainted: G        W   2.6.37+ #39 0T816J/Vostro 1520\nEIP: 0060:[\u003cc11dd7bd\u003e] EFLAGS: 00010046 CPU: 0\nEIP is at list_del+0x1d/0x120\nEAX: f57fbd3c EBX: f57fb800 ECX: ffff8000 EDX: 00200200\nESI: f57fbe90 EDI: f57fbd3c EBP: f600bf54 ESP: f600bf3c\n DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\nProcess ksoftirqd/0 (pid: 3, ti\u003df600a000 task\u003df60791c0 task.ti\u003df6082000)\nStack:\n c1527e84 00000030 c1527e54 00100100 f57fb800 f57fbd3c f600bf98 f8051fac\n f8053104 f8052b94 f600bf6c c106dbab f600bf80 00000286 f60791c0 c1042b30\n f57fbda8 f57f5800 f57fbdb0 f57fbd80 f57fbe7c c1656b04 00000000 f600bfb0\nCall Trace:\n [\u003cf8051fac\u003e] ? acm_rx_tasklet+0x2dc/0x3e0 [cdc_acm]\n [\u003cc106dbab\u003e] ? trace_hardirqs_on+0xb/0x10\n [\u003cc1042b30\u003e] ? tasklet_action+0x60/0x140\n [\u003cc1042bb6\u003e] ? tasklet_action+0xe6/0x140\n [\u003cc104342f\u003e] ? __do_softirq+0xaf/0x210\n [\u003cc1043380\u003e] ? __do_softirq+0x0/0x210\n \u003cIRQ\u003e\n [\u003cc1042c9a\u003e] ? run_ksoftirqd+0x8a/0x1c0\n [\u003cc1042c10\u003e] ? run_ksoftirqd+0x0/0x1c0\n [\u003cc105ac24\u003e] ? kthread+0x74/0x80\n [\u003cc105abb0\u003e] ? kthread+0x0/0x80\n [\u003cc100337a\u003e] ? kernel_thread_helper+0x6/0x10\nCode: ff 48 14 e9 57 ff ff ff 90 90 90 90 90 90 55 89 e5 83 ec 18 81 38 00 01 10 00 0f 84 9c 00 00 00 8b 50 04 81 fa 00 02 20 00 74 33 \u003c8b\u003e 12 39 d0 75 5c 8b 10 8b 4a 04 39 c8 0f 85 b5 00 00 00 8b 48\nEIP: [\u003cc11dd7bd\u003e] list_del+0x1d/0x120 SS:ESP 0068:f600bf3c\nCR2: 0000000000200200\n---[ end trace efd9a11434f00831 ]---\nKernel panic - not syncing: Fatal exception in interrupt\nPid: 3, comm: ksoftirqd/0 Tainted: G      D W   2.6.37+ #39\nCall Trace:\n [\u003cc13fede1\u003e] ? printk+0x1d/0x24\n [\u003cc13fecce\u003e] panic+0x66/0x15c\n [\u003cc10067df\u003e] oops_end+0x8f/0x90\n [\u003cc1025476\u003e] no_context+0xc6/0x160\n [\u003cc10255a8\u003e] __bad_area_nosemaphore+0x98/0x140\n [\u003cc103cf68\u003e] ? release_console_sem+0x1d8/0x210\n [\u003cc1025667\u003e] bad_area_nosemaphore+0x17/0x20\n [\u003cc1025a49\u003e] do_page_fault+0x279/0x420\n [\u003cc1006a8f\u003e] ? show_trace+0x1f/0x30\n [\u003cc13fede1\u003e] ? printk+0x1d/0x24\n [\u003cc10257d0\u003e] ? do_page_fault+0x0/0x420\n [\u003cc140333b\u003e] error_code+0x5f/0x64\n [\u003cc103007b\u003e] ? select_task_rq_fair+0x37b/0x6a0\n [\u003cc10257d0\u003e] ? do_page_fault+0x0/0x420\n [\u003cc11dd7bd\u003e] ? list_del+0x1d/0x120\n [\u003cf8051fac\u003e] acm_rx_tasklet+0x2dc/0x3e0 [cdc_acm]\n [\u003cc106dbab\u003e] ? trace_hardirqs_on+0xb/0x10\n [\u003cc1042b30\u003e] ? tasklet_action+0x60/0x140\n [\u003cc1042bb6\u003e] tasklet_action+0xe6/0x140\n [\u003cc104342f\u003e] __do_softirq+0xaf/0x210\n [\u003cc1043380\u003e] ? __do_softirq+0x0/0x210\n \u003cIRQ\u003e  [\u003cc1042c9a\u003e] ? run_ksoftirqd+0x8a/0x1c0\n [\u003cc1042c10\u003e] ? run_ksoftirqd+0x0/0x1c0\n [\u003cc105ac24\u003e] ? kthread+0x74/0x80\n [\u003cc105abb0\u003e] ? kthread+0x0/0x80\n [\u003cc100337a\u003e] ? kernel_thread_helper+0x6/0x10\npanic occurred, switching back to text console\n------------[ cut here ]------------\n\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "878b753e32ca765cd346a5d3038d630178ec78ff",
      "tree": "0b72c2d333471c292d7b30ef675302f1205022df",
      "parents": [
        "97ac01d8f1b8d1c9e5af32c2813ba771835961f9"
      ],
      "author": {
        "name": "Robert Lukassen",
        "email": "Robert.Lukassen@tomtom.com",
        "time": "Wed Mar 16 12:13:34 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 23 13:21:02 2011 -0700"
      },
      "message": "USB: Fix \u0027bad dma\u0027 problem on WDM device disconnect\n\nIn the WDM class driver a disconnect event leads to calls to\nusb_free_coherent to put back two USB DMA buffers allocated earlier.\nThe call to usb_free_coherent uses a different size parameter\n(desc-\u003ewMaxCommand) than the corresponding call to usb_alloc_coherent\n(desc-\u003ebMaxPacketSize0).\n\nWhen a disconnect event occurs, this leads to \u0027bad dma\u0027 complaints\nfrom usb core because the USB DMA buffer is being pushed back to the\n\u0027buffer-2048\u0027 pool from which it has not been allocated.\n\nThis patch against the most recent linux-2.6 kernel ensures that the\nparameters used by usb_alloc_coherent \u0026 usb_free_coherent calls in\ncdc-wdm.c match.\n\nSigned-off-by: Robert Lukassen \u003crobert.lukassen@tomtom.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f227e08b71b9c273eaa29a57370a3a5b833aa382",
      "tree": "9f1483776a2bde3bb1a6bd744e69acf19f6f3428",
      "parents": [
        "fec38d1752c01ad72789bac9f1a128f7e933735d",
        "f5412be599602124d2bdd49947b231dd77c0bf99"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 24 11:36:31 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 24 11:36:31 2011 -0800"
      },
      "message": "Merge 2.6.38-rc6 into tty-next\n\nThis was to resolve a merge issue with drivers/char/Makefile and\ndrivers/tty/serial/68328serial.c\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6caa76b7786891b42b66a0e61e2c2fff2c884620",
      "tree": "eb6e387e080a44680d6d8686999336e69ec97e71",
      "parents": [
        "00a0d0d65b61241a718d0aee96f46b9a2d93bf26"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:27:22 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:59:56 2011 -0800"
      },
      "message": "tty: now phase out the ioctl file pointer for good\n\nOnly oddities here are a couple of drivers that bogusly called the ldisc\nhelpers instead of returning -ENOIOCTLCMD. Fix the bug and the rest goes\naway.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "20b9d17715017ae4dd4ec87fabc36d33b9de708e",
      "tree": "64e9c4ff845844298f9056357d9f4914802207f8",
      "parents": [
        "60b33c133ca0b7c0b6072c87234b63fee6e80558"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:26:50 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:52:43 2011 -0800"
      },
      "message": "tiocmset: kill the file pointer argument\n\nDoing tiocmget was such fun we should do tiocmset as well for the same\nreasons\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "60b33c133ca0b7c0b6072c87234b63fee6e80558",
      "tree": "379340a7ab563df42ddb2907be6f282202244077",
      "parents": [
        "adf9251fe9b87b5a50deebe489db2df8df4715fc"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:26:14 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:47:33 2011 -0800"
      },
      "message": "tiocmget: kill off the passing of the struct file\n\nWe don\u0027t actually need this and it causes problems for internal use of\nthis functionality. Currently there is a single use of the FILE * pointer.\nThat is the serial core which uses it to check tty_hung_up_p. However if\nthat is true then IO_ERROR is also already set so the check may be removed.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "721d92fc6373dee15846216f9d178ec240ec0fd7",
      "tree": "83806b196de99f05b939343a6042859c65e79edc",
      "parents": [
        "a283c03a3a7a8cd3f8836ffd1b1d6cc8f778492c"
      ],
      "author": {
        "name": "Arvid Ephraim Picciani",
        "email": "arvid.picciani@nokia.com",
        "time": "Tue Jan 25 15:58:40 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 04 12:38:14 2011 -0800"
      },
      "message": "USB: cdc-acm: Adding second ACM channel support for Nokia N8\n\nThis adds the N8 to the list of devices in cdc-acm, in order to get the\nsecondary ACM device exposed.\n\nIn the spirit of:\nhttp://kerneltrap.org/mailarchive/linux-usb/2010/9/4/6264554\n\nSigned-off-by: Arvid Ephraim Picciani \u003carvid.picciani@nokia.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0cdfb819b6a97e79c7a0aa0c471cd7000367103b",
      "tree": "2e2044d2fa36bc29d1ad3a5b58430b932923b6d3",
      "parents": [
        "952eca0a95e27660f7a56a7186b9bd09d791ced4"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Dec 27 18:49:58 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Jan 22 18:32:55 2011 -0800"
      },
      "message": "USB: cdc-wdm: fix misuse of logical operation in place of bitop\n\nCC: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCC: Oliver Neukum \u003coliver@neukum.org\u003e\nCC: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5cc103506289de7ee0a0b526ae0381541990cad4",
      "tree": "ae8a4958e70c6d1295030b40e333dcc007b3c074",
      "parents": [
        "73ecf3a6e3f0206bf56a0fefe3b3eda042fb7034",
        "92ca0dc5ee022e4c0e488177e1d8865a0778c6c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 20:30:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 20:30:48 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (141 commits)\n  USB: mct_u232: fix broken close\n  USB: gadget: amd5536udc.c: fix error path\n  USB: imx21-hcd - fix off by one resource size calculation\n  usb: gadget: fix Kconfig warning\n  usb: r8a66597-udc: Add processing when USB was removed.\n  mxc_udc: add workaround for ENGcm09152 for i.MX35\n  USB: ftdi_sio: add device ids for ScienceScope\n  USB: musb: AM35x: Workaround for fifo read issue\n  USB: musb: add musb support for AM35x\n  USB: AM35x: Add musb support\n  usb: Fix linker errors with CONFIG_PM\u003dn\n  USB: ohci-sh - use resource_size instead of defining its own resource_len macro\n  USB: isp1362-hcd - use resource_size instead of defining its own resource_len macro\n  USB: isp116x-hcd - use resource_size instead of defining its own resource_len macro\n  USB: xhci: Fix compile error when CONFIG_PM\u003dn\n  USB: accept some invalid ep0-maxpacket values\n  USB: xHCI: PCI power management implementation\n  USB: xHCI: bus power management implementation\n  USB: xHCI: port remote wakeup implementation\n  USB: xHCI: port power management implementation\n  ...\n\nManually fix up (non-data) conflict: the SCSI merge gad renamed the\n\u0027hw_sector_size\u0027 member to \u0027physical_block_size\u0027, and the USB tree\nbrought a new use of it.\n"
    },
    {
      "commit": "7893afc035590383a14b176c1497cba984276ef4",
      "tree": "4f60733d54c7290e86919ad77d22886a7c18cae9",
      "parents": [
        "25013315678c78091a7826be7097fa2b60e30aac"
      ],
      "author": {
        "name": "Otavio Salvador",
        "email": "otavio@ossystems.com.br",
        "time": "Sun Sep 26 23:35:05 2010 -0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:21:57 2010 -0700"
      },
      "message": "USB: cdc-acm: fix code indentation\n\nSigned-off-by: Otavio Salvador \u003cotavio@ossystems.com.br\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "577045c0a76e34294f902a7d5d60e90b04d094d0",
      "tree": "d52f624fd527a12b6b7e644b6f0c4fb54e78c67b",
      "parents": [
        "5b239f0aebd4dd6f85b13decf5e18e86e35d57f0"
      ],
      "author": {
        "name": "Toby Gray",
        "email": "toby.gray@realvnc.com",
        "time": "Thu Sep 02 10:46:20 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 03 17:33:41 2010 -0700"
      },
      "message": "USB: cdc-acm: Fixing crash when ACM probing interfaces with no endpoint descriptors.\n\nCertain USB devices, such as the Nokia X6 mobile phone, don\u0027t expose any\nendpoint descriptors on some of their interfaces. If the ACM driver is forced\nto probe all interfaces on a device the a NULL pointer dereference will occur\nwhen the ACM driver attempts to use the endpoint of the alternative settings.\nOne way to get the ACM driver to probe all the interfaces is by using the\n/sys/bus/usb/drivers/cdc_acm/new_id interface.\n\nThis patch checks that the endpoint pointer for the current alternate settings\nis non-NULL before using it.\n\nSigned-off-by: Toby Gray \u003ctoby.gray@realvnc.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.name\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5b239f0aebd4dd6f85b13decf5e18e86e35d57f0",
      "tree": "5a1f5fd9bfddb755ed417afc6defe7fa7a1af966",
      "parents": [
        "902ffc3c707c1d459ea57428a619a807cbe412f9"
      ],
      "author": {
        "name": "Philippe Corbes",
        "email": "philippe.corbes@gmail.com",
        "time": "Tue Aug 31 19:31:32 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 03 17:33:41 2010 -0700"
      },
      "message": "USB: cdc-acm: Add pseudo modem without AT command capabilities\n\ncdc-acm.c : Manage pseudo-modem without AT commands capabilities\n  Enable to drive electronic simple gadgets based on microcontrolers.\n  The Interface descriptor is like this:\n    bInterfaceClass         2 Communications\n    bInterfaceSubClass      2 Abstract (modem)\n    bInterfaceProtocol      0 None\n\nSigned-off-by: Philippe Corbes \u003cphilippe.corbes@gmail.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4035e45632c2a8bb4edae83c20447051bd9a9604",
      "tree": "cf850583ea5b945fcfabb42f8cd3052cd883065c",
      "parents": [
        "caf3a636a9f809fdca5fa746e6687096457accb1"
      ],
      "author": {
        "name": "Toby Gray",
        "email": "toby.gray@realvnc.com",
        "time": "Wed Sep 01 16:01:19 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 03 17:33:41 2010 -0700"
      },
      "message": "USB: cdc-acm: Adding second ACM channel support for various Nokia and one Samsung phones\n\nS60 phones from Nokia and Samsung expose two ACM channels. The first is a modem\nwith a standard AT-command interface, which is picked up correctly by CDC-ACM.\n\nThe second ACM port is marked as having a vendor-specific protocol. This means\nthat the ACM driver will not claim the second channel by default.\n\nThis adds support for the second ACM channel for the following devices:\n    Nokia E63\n    Nokia E75\n    Nokia 6760 Slide\n    Nokia E52\n    Nokia E55\n    Nokia E72\n    Nokia X6\n    Nokia N97 Mini\n    Nokia 5800 Xpressmusic\n    Nokia E90\n    Samsung GTi8510 (INNOV8)\n\nSigned-off-by: Toby Gray \u003ctoby.gray@realvnc.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.name\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9895850b23886e030cd1e7241d5529a57e969c3d",
      "tree": "1061626db450aeb72dcfcd247c24b33e5238c8c4",
      "parents": [
        "fc385c313275b114bc6ad36e60c5177d63250548",
        "b58af4066d240b18b43f202e07b9ec7461d90b17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:05:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:05:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (148 commits)\n  USB: serial: fix stalled writes\n  USB: remove fake \"address-of\" expressions\n  USB: fix thread-unsafe anchor utiliy routines\n  USB: usbtest: support test device with only one iso-in or iso-out endpoint\n  USB: usbtest: avoid to free coherent buffer in atomic context\n  USB: xhci: Set DMA mask for host.\n  USB: xhci: Don\u0027t flush doorbell writes.\n  USB: xhci: Reduce reads and writes of interrupter registers.\n  USB: xhci: Make xhci_set_hc_event_deq() static.\n  USB: xhci: Minimize HW event ring dequeue pointer writes.\n  USB: xhci: Make xhci_handle_event() static.\n  USB: xhci: Remove unnecessary reads of IRQ_PENDING register.\n  USB: xhci: Performance - move xhci_work() into xhci_irq()\n  USB: xhci: Performance - move interrupt handlers into xhci-ring.c\n  USB: xhci: Performance - move functions that find ep ring.\n  USB:: fix linux/usb.h kernel-doc warnings\n  USB: add USB serial ssu100 driver\n  USB: usb-storage: implement autosuspend\n  USB: ehci: fix remove of ehci debugfs dir\n  USB: Add USB 2.0 to ssb ohci driver\n  ...\n"
    },
    {
      "commit": "916de0272018482c35402d410869353003051eb9",
      "tree": "599a4a595558114ae0abe2dbe2da415c1bb5400a",
      "parents": [
        "3da7cff4e79e4a7137b0dac1aaf6841b91bbff63"
      ],
      "author": {
        "name": "Nicolas Kaiser",
        "email": "nikai@nikai.net",
        "time": "Fri Jun 25 20:25:37 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:38 2010 -0700"
      },
      "message": "USB: usblp: fixed switch, brace, whitespace and spacing coding style issues\n\nFixed switch, brace, whitespace and spacing coding style issues.\n\nSigned-off-by: Nicolas Kaiser \u003cnikai@nikai.net\u003e\nAcked-by: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4e608671674b62e97166f903830d5553e37970e8",
      "tree": "cd7c1a0005084e72f78d47e387262d5f6cd484a0",
      "parents": [
        "83ceb67d7dfe6aedf0e47dd6887b7b3c753542b2"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:04 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:43 2010 -0700"
      },
      "message": "cdc-acm: remove dead code\n\nThe wait_event_interruptible_timeout in acm_port_down is\nnever reached. Remove it to avoid possible deadlocks\nwith the big tty mutex if someone were to start using\nthe blocking version of acm_port_down.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f",
      "tree": "854ab394486288d40fa8179cbfaf66e8bdc44b0f",
      "parents": [
        "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "83a4eae9aeed4a69e89e323a105e653ae06e7c1f",
      "tree": "9faf8a6c4476be82ff799aeaa9d1910ce19374ec",
      "parents": [
        "9d72c81d657340e54a260a3b621f4a9f5b33829c"
      ],
      "author": {
        "name": "Przemo Firszt",
        "email": "przemo@firszt.eu",
        "time": "Mon Jun 28 21:29:34 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 26 12:00:57 2010 -0700"
      },
      "message": "USB: Expose vendor-specific ACM channel on Nokia 5230\n\nNokia S60 phones expose two ACM channels. The first is\na modem, the second is \u0027vendor-specific\u0027 but is treated\nas a serial device at the S60 end, so we want to expose\nit on Linux too.\n\nSigned-off-by: Przemo Firszt \u003cprzemo@firszt.eu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a2531293dbb7608fa672ff28efe3ab4027917a2f",
      "tree": "017d5a38fa33838ebdca1a332db6887096885d2d",
      "parents": [
        "7a53cd16d4d9968d1962e378b14eec2d99aa43e0"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sun Jul 18 14:27:13 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jul 19 10:56:54 2010 +0200"
      },
      "message": "update email address\n\npavel@suse.cz no longer works, replace it with working address.\n\nSigned-off-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "c2572b78aa0447244a38e555ebb1b3b48a0088a5",
      "tree": "c495c12926b27afdc8698a27fca5b17c7d0a9cda",
      "parents": [
        "6a1a82df91fa0eb1cc76069a9efe5714d087eccd"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Mon May 31 08:04:47 2010 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jun 04 13:16:19 2010 -0700"
      },
      "message": "USB: cdc-acm: fix resource reclaim in error path of acm_probe\n\nThis patch fixes resource reclaim in error path of acm_probe:\n\n1. In the case of \"out of memory (read urbs usb_alloc_urb)\\n\")\", there\n   is no need to call acm_read_buffers_free(acm) here.  Fix it by goto\n   alloc_fail6 instead of alloc_fail7.\n2. In the case of \"out of memory (write urbs usb_alloc_urb)\",\n   usb_alloc_urb may fail in any iteration of the for loop.  Current\n   implementation does not properly free allocated snd-\u003eurb.  Fix it by\n   goto alloc_fail8 instead of alloc_fail7.\n3. In the case of device_create_file(\u0026intf-\u003edev,\u0026dev_attr_iCountryCodeRelDate)\n   fail, acm-\u003ecountry_codes is kfreed. As a result, device_remove_file\n   for dev_attr_wCountryCodes will not be executed in acm_disconnect.\n   Fix it by calling device_remove_file for dev_attr_wCountryCodes\n   before goto skip_countries.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Oliver Neukum \u003coneukum@suse.de\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "997ea58eb92f9970b8af7aae48800d0ef43b9423",
      "tree": "65e021973e5a48ad7290d5be1f441940566468ad",
      "parents": [
        "48679c6d772b1459a2945729e3a1256ac78fcabf"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Apr 12 13:17:25 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:38 2010 -0700"
      },
      "message": "USB: rename usb_buffer_alloc() and usb_buffer_free() users\n\nFor more clearance what the functions actually do,\n\n  usb_buffer_alloc() is renamed to usb_alloc_coherent()\n  usb_buffer_free()  is renamed to usb_free_coherent()\n\nThey should only be used in code which really needs DMA coherency.\n\nAll call sites have been changed accordingly, except for staging\ndrivers.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Pedro Ribeiro \u003cpedrib@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fa4dc36482a5236c92c589cdbc0a42ff5c945b6b",
      "tree": "a15b58a5295dd51bc23fa2d6d40d7fcd77fb4222",
      "parents": [
        "41f2c6e89cf4d412e4b20803f5feb2b9b1560476"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Mar 02 14:52:33 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:31 2010 -0700"
      },
      "message": "USB: cdc-acm: make bitfields unsigned\n\nFix usb/class sparse warnings:\n\ndrivers/usb/class/cdc-acm.h:128:34: error: dubious one-bit signed bitfield\ndrivers/usb/class/cdc-acm.h:129:24: error: dubious one-bit signed bitfield\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c3baa19b0a9b711b02cec81d9fea33b7b9628957",
      "tree": "2cf93e3394706c14e6e114b534ffaecbb9b0e663",
      "parents": [
        "fa7fe7af146a7b613e36a311eefbbfb5555325d1"
      ],
      "author": {
        "name": "Russ Nelson",
        "email": "nelson@crynwr.com",
        "time": "Wed Apr 21 23:07:03 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 30 09:25:10 2010 -0700"
      },
      "message": "USB: cdc-acm: add another device quirk\n\nThe Maretron USB100 needs this quirk in order to work properly.\n\nSigned-off-by: Russ Nelson \u003cnelson@crynwr.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "338124c1f18c2c737656ac58735f040d90b23d8c",
      "tree": "b763f5a797062130e481ffe4adcf6c32fdd4feb5",
      "parents": [
        "d93d16e9aa58887feadd999ea26b7b8139e98b56"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Sat Feb 27 20:57:12 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:24:17 2010 -0700"
      },
      "message": "usb: cdc-wdm: Fix deadlock between write and resume\n\nThe new runtime PM scheme allows resume() to have no locks.\nThis fixes the deadlock.\n\nSigned-off-by: Oliver Neukum \u003cneukum@b1-systems.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d93d16e9aa58887feadd999ea26b7b8139e98b56",
      "tree": "47cd5e95bee9ccd52aa5ccfff4c87af78d605ad7",
      "parents": [
        "62e6685470fb04fb7688ecef96c39160498721d5"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Sat Feb 27 20:56:47 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:24:17 2010 -0700"
      },
      "message": "usb: cdc-wdm: Fix order in disconnect and fix locking\n\n- as the callback can schedule work, URBs must be killed first\n- if the driver causes an autoresume, the caller must handle locking\n\nSigned-off-by: Oliver Neukum \u003cneukum@b1-systems.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "62e6685470fb04fb7688ecef96c39160498721d5",
      "tree": "2350c3c979dad7cbc73a7edbc22e9bfef188a867",
      "parents": [
        "beb1d35f1690fe27694472a010a8e4a9ae11cc50"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Sat Feb 27 20:56:22 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:24:16 2010 -0700"
      },
      "message": "usb: cdc-wdm:Fix loss of data due to autosuspend\n\nThe guarding flag must be set and tested under spinlock\nand cleared before the URBs are resubmitted in resume.\n\nSigned-off-by: Oliver Neukum \u003cneukum@b1-systems.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "beb1d35f1690fe27694472a010a8e4a9ae11cc50",
      "tree": "645a2a6845e0a89d18f9dcd7373adf24ad89f95f",
      "parents": [
        "d855fe2e9c19edaa47baba0e7f95e17f7a24dba8"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Sat Feb 27 20:55:52 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:24:16 2010 -0700"
      },
      "message": "usb: cdc-wdm: Fix submission of URB after suspension\n\nThere\u0027s a window under which cdc-wdm may submit\nan URB to a device about to be suspended. This\nintroduces a flag to prevent it.\n\nSigned-off-by: Oliver Neukum \u003cneukum@b1-systems.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d855fe2e9c19edaa47baba0e7f95e17f7a24dba8",
      "tree": "fc6ac6e1c0a74ff70f1fbf67cb6bb85a1453f694",
      "parents": [
        "922a5eadd5a3aa0b806be0c18694b618d41d0784"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Sat Feb 27 20:55:26 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:24:15 2010 -0700"
      },
      "message": "usb: cdc-wdm: Fix race between disconnect and debug messages\n\ndev_dbg() and dev_err() cannot be used to report failures\nthat may have been caused by a device\u0027s removal\n\nSigned-off-by: Oliver Neukum \u003cneukum@b1-systems.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "922a5eadd5a3aa0b806be0c18694b618d41d0784",
      "tree": "25d6a630e5bd92ff0c900d94125481f53e9b377a",
      "parents": [
        "860e41a71c1731e79e1920dc42676bafc925af5e"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Sat Feb 27 20:54:59 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:24:15 2010 -0700"
      },
      "message": "usb: cdc-wdm: Fix race between autosuspend and reading from the device\n\nWhile an available response is read the device must not\nbe autosuspended. This requires a flag dedicated to that\npurpose.\n\nSigned-off-by: Oliver Neukum \u003cneukum@b1-systems.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "860e41a71c1731e79e1920dc42676bafc925af5e",
      "tree": "3374857a0a3da76cf37ccde54c3fe3230223a034",
      "parents": [
        "aa4714560b4ea359bb7830188ebd06bce71bcdea"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Sat Feb 27 20:54:24 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:24:14 2010 -0700"
      },
      "message": "usb: cdc-wdm: Fix race between write and disconnect\n\nUnify mutexes to fix a race between write and disconnect\nand shift the test for disconnection to always report it.\n\nSigned-off-by: Oliver Neukum \u003cneukum@b1-systems.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f0730924e9e32bb8935c60040a26d94179355088",
      "tree": "7e540978195273921f55ec087be792f87079de6b",
      "parents": [
        "1082f57abfa26590b60c43f503afb24102a37016"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Mar 03 00:37:56 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:24:06 2010 -0700"
      },
      "message": "USB: cdc-acm: Fix stupid NULL pointer in resume()\n\nStupid logic bug passing a just nulled pointer\n\nSigned-off-by: Oliver Neukum \u003cneukum@b1-systems.de\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b6a2f10ca045c9b0a4732c38485ad6ca1b663bf4",
      "tree": "9d40e350e521a6686bfe44cf24eac33dbe2e5cf5",
      "parents": [
        "67ccbd6f1af3025af3224be5c4f992aaf8811334"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Feb 17 13:07:05 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:55:09 2010 -0800"
      },
      "message": "USB: tty: kill request_room for USB ACM class\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2b626dc134d38d0001b98acf8c7293b6bc5ee86d",
      "tree": "7ebdb76b970f985c210d78dbd25f71ea9d957250",
      "parents": [
        "d7e18a9f2c506467ec7a9c066da45a0f60c6f5a6"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Feb 03 17:10:22 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:54:54 2010 -0800"
      },
      "message": "USB: cdc-acm: fix possible deadlock with multiple openers\n\nThe lock must be dropped before usb_autopm_interface_put() is called\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "94015f6e6ba11040f75f4b42aada8de23965290e",
      "tree": "782ec8343589b37ed41dafca06e5fdd1dc54cdc1",
      "parents": [
        "0022457a5469d328219dfb1ea5bd89d076e28372"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Jan 14 16:09:26 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:54:27 2010 -0800"
      },
      "message": "USB: BKL removal: cdc-wdm\n\nBKL not needed at all. Removed without replacement.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0022457a5469d328219dfb1ea5bd89d076e28372",
      "tree": "7194fe86bcfda0f74bf17513837b333587c2ca07",
      "parents": [
        "b92a97efe00cf4e3555585f40dbe96512bba8f95"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Jan 14 16:08:42 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:54:27 2010 -0800"
      },
      "message": "USB: BKL removal: usbtmc\n\nBKL not needed at all. Removed without replacement.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c8b492a86d71d43fb32e29282e6405663177b9e4",
      "tree": "afa4104aa17ec15235e47ea8540dbc6c962ad05d",
      "parents": [
        "4e0961d53020b0fed83168d469ce44e1b3f25898"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Jan 14 16:07:37 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:54:26 2010 -0800"
      },
      "message": "usb: BKL removal: usblp\n\nBKL was not needed at all. Removed without replacement.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nAcked-by: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "86266452f80545285c14e20a8024f79c4fb88a86",
      "tree": "ebb0a287f9bf189737d4924536d18b36492fd330",
      "parents": [
        "f9de332ebf9df71892d52f7eb64af101a647349f"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Jan 13 15:33:15 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:54:23 2010 -0800"
      },
      "message": "USB: Push BKL on open down into the drivers\n\nStraightforward push into the drivers to allow\nauditing individual drivers separately\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6ef4852b1326301f6e9657e99b2c3221be1a3a44",
      "tree": "40dd9a837e70edc21faa3fcaea3555ae9536ce24",
      "parents": [
        "1bd4f29d0af5b4b1c022d8fded14665dd5932905"
      ],
      "author": {
        "name": "Németh Márton",
        "email": "nm127@freemail.hu",
        "time": "Sun Jan 10 15:33:45 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:54:15 2010 -0800"
      },
      "message": "USB class: make USB device id constant\n\nThe id_table field of the struct usb_device_id is constant in \u003clinux/usb.h\u003e\nso it is worth to make the initialization data also constant.\n\nThe semantic match that finds this kind of pattern is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r@\ndisable decl_init,const_decl_init;\nidentifier I1, I2, x;\n@@\n\tstruct I1 {\n\t  ...\n\t  const struct I2 *x;\n\t  ...\n\t};\n@s@\nidentifier r.I1, y;\nidentifier r.x, E;\n@@\n\tstruct I1 y \u003d {\n\t  .x \u003d E,\n\t};\n@c@\nidentifier r.I2;\nidentifier s.E;\n@@\n\tconst struct I2 E[] \u003d ... ;\n@depends on !c@\nidentifier r.I2;\nidentifier s.E;\n@@\n+\tconst\n\tstruct I2 E[] \u003d ...;\n// \u003c/smpl\u003e\n\nSigned-off-by: Németh Márton \u003cnm127@freemail.hu\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: cocci@diku.dk\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3a90f81872b00a7526c2bb1ed7664fe5af727f39",
      "tree": "e4c998177f53e374ceecb15fb549db654920d212",
      "parents": [
        "c1284d7726c57c9d2bbc65cd08173fe7f9e637df"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Mon Dec 28 00:52:17 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:53:39 2010 -0800"
      },
      "message": "USB: usblp: Remove checks no longer needed with the new runtime PM system\n\nUnder the new system a device cannot be suspended against\nthe driver\u0027s wish. Therefore this condition no longer needs\nto be checked for.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ce126644aa10bf1d8f1c1929b65adab026095761",
      "tree": "186e24b9655716e4bf387acf89bfc65e301a9b88",
      "parents": [
        "7c5d8c394a077a686cfa646cd85dc159a2a940cc"
      ],
      "author": {
        "name": "Julian Calaby",
        "email": "julian.calaby@gmail.com",
        "time": "Tue Jan 05 23:58:20 2010 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:53:32 2010 -0800"
      },
      "message": "USB: cdc_acm: Silence \"It is not a modem.\" error for pbLua devices\n\nThe pbLua console port is known to not be a modem, so it is\nunnecessary to be told this when it is plugged in.\n\nAdd NOT_A_MODEM quirk to tell the driver that we know this already\nand hence not to warn us, and mark the pbLua console port.\n\nSigned-off-by: Julian Calaby \u003cjulian.calaby@gmail.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7c5d8c394a077a686cfa646cd85dc159a2a940cc",
      "tree": "5b3d3ff225bd99bd408af0230adfbcaa65e0715b",
      "parents": [
        "2bc0d109326e9f2b25fa1dfcc9de2489e1e00e36"
      ],
      "author": {
        "name": "Julian Calaby",
        "email": "julian.calaby@gmail.com",
        "time": "Tue Jan 05 23:57:46 2010 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:53:31 2010 -0800"
      },
      "message": "USB: cdc_acm: Add support for pbLua console port\n\nThe pbLua firmware (http://pblua.com/) for the Lego Mindstorms NXT\nprovides a CDC ACM port for it\u0027s serial console.\n\nThis used to be detected automatically, but this support has been\ndropped, probably for sensible reasons.\n\nExplicitly add support for this device by adding an item to the\ndevice ID table.\n\nSigned-off-by: Julian Calaby \u003cjulian.calaby@gmail.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "97d35f95552c9a0ee4777a7f04431a9fd1260478",
      "tree": "bb5a2c5244b0ae17a2dd07d65e0f1637c7babb1e",
      "parents": [
        "1f141ca2b1f40088203fba061cc7b1f8da7c38ab"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Dec 16 17:05:57 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:53:19 2010 -0800"
      },
      "message": "USB: cdc-acm: Update to new autopm API\n\nUpdate cdc-acm to the async methods eliminating the workqueue\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a91b0c502285fd0c569fae1222fdd945ef739233",
      "tree": "b8aa93dca7ff9f2c7a7764cd6c9820e1570ed8d7",
      "parents": [
        "af2ac1a091bc8bee73d7837b73ebfb00b917aece"
      ],
      "author": {
        "name": "Francesco Lavra",
        "email": "francescolavra@interfree.it",
        "time": "Tue Dec 08 09:54:11 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:53:07 2010 -0800"
      },
      "message": "cdc_acm: add reset_resume method\n\nAdd reset resume logic to the cdc acm driver\n\nSigned-off-by: Francesco Lavra \u003cfrancescolavra@interfree.it\u003e\nAcked-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3342ecda3ffb059f2ffd765a71d9579f0aa036eb",
      "tree": "c7c30e7609d1217d0a4fe982777b42813f5b3ba7",
      "parents": [
        "36d0344c254a7b333272757f858c403ea3a2d29f"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 03 11:35:59 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:27 2009 -0800"
      },
      "message": "USB: usbtmc: Use usb_clear_halt() instead of custom code.\n\nMake the USB Test \u0026 Measurement driver use usb_clear_halt() instead of\nusb_control_msg() to clear a stalled endpoint.  This will allow devices to\nbe tested under an xHCI host controller.  The endpoint stall will not be\ncleared in the internal xHCI hardware state unless usb_clear_halt() is\nused.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Steve Holland \u003csdh4@iastate.edu\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Jouni Ryno \u003cJouni.Ryno@fmi.fi\u003e\nCc: Gergely Imreh \u003cimrehg@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ec412b92dbe3ea839716853eea058d1bcc5e6ca4",
      "tree": "1a06573fea556fb6b45132b4130306b741bf3fce",
      "parents": [
        "7723de7e19b744144975a09c81777ec0f14ac5b3"
      ],
      "author": {
        "name": "Andre Herms",
        "email": "andre.herms@tec-venture.de",
        "time": "Thu Nov 19 18:14:49 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:25 2009 -0800"
      },
      "message": "USB: usbtmc: repeat usb_bulk_msg until whole message is transfered\n\nusb_bulk_msg() transfers only bytes up to the maximum packet size.\nIt must be repeated by the usbtmc driver until all bytes of a TMC message\nare transfered.\n\nWithout this patch, ETIMEDOUT is reported when writing TMC messages\nlarger than the maximum USB bulk size and the transfer remains incomplete.\nThe user will notice that the device hangs and must be reset by either closing\nthe application or pulling the plug.\n\nSigned-off-by: Andre Herms \u003candre.herms@tec-venture.de\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c1479a92cf0a7792298d364e44a781550621cb58",
      "tree": "9d315b860c0476722af199715da700d10bc13b37",
      "parents": [
        "85e034fdff2af6befc55904f3ab9cc5aa31be8fe"
      ],
      "author": {
        "name": "Adrian Taylor",
        "email": "aat@realvnc.com",
        "time": "Thu Nov 19 10:35:33 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:20 2009 -0800"
      },
      "message": "USB: Exposing second ACM channel as tty for Nokia S60 phones.\n\nNokia S60 phones expose two ACM channels. The first is a modem and is picked\nup by the standard AT-command interface information in the CDC-ACM driver. The\nsecond is marked as having a vendor-specific protocol. Normally, we don\u0027t\nexpose those as ttys. (On some other devices, they may be claimed by the\nrndis_host driver and used as a network interface).\n\nBut on S60 this second ACM channel is the way that third-party S60 application\ndevelopers are expected to communicate over USB. It acts as a serial device\nat the S60 end, and so it should on Linux too.\n\nThe list of devices is largely derived from:\nhttp://wiki.forum.nokia.com/index.php/S60_Platform_and_device_identification_codes\nhttp://wiki.forum.nokia.com/index.php/Nokia_USB_Product_IDs\nand includes only the S60 3rd Edition+ devices documented there.\n\nThere are many devices for which the USB device ID is not documented,\nincluding:\n    Nokia 6290\n    Nokia E63\n    Nokia 5630 XpressMusic\n    Nokia 5730 XpressMusic\n    Nokia 6710 Navigator\n    Nokia 6720 classic\n    Nokia 6730 Classic\n    Nokia 6760 slide\n    Nokia 6790 slide\n    Nokia 6790 Surge\n    Nokia E52\n    Nokia E55\n    Nokia E71x (AT\u0026T)\n    Nokia E72\n    Nokia E75\n    Nokia E75 US+LTA variant\n    Nokia N79\n    Nokia N86 8MP\n    Nokia 5230 (RM-588)\n    Nokia 5230 (RM-594)\n    Nokia 5530 XpressMusic\n    Nokia 5530 XpressMusic (china)\n    Nokia 5800 XM\n    Nokia N97 (RM-506)\n    Nokia N97 mini\n    Nokia X6\nIt would be good to add those subsequently.\n\nSigned-off-by: Adrian Taylor \u003caat@realvnc.com\u003e\nAcked-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dca8cd04dfa4a421511ad0505e4f8a0973f7e38c",
      "tree": "29f335877d5f2ae19d498447533ed8820800a29c",
      "parents": [
        "23f6d914c338626a7216c46ed35b653f4070accf"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Sep 24 00:33:45 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:16 2009 -0800"
      },
      "message": "USB: usbtmc: minor formatting cleanups\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d014d043869cdc591f3a33243d3481fa4479c2d0",
      "tree": "63626829498e647ba058a1ce06419fe7e4d5f97d",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "6070d81eb5f2d4943223c96e7609a53cdc984364"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\n\tkernel/irq/chip.c\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "051522bb47797f7168a617a0752d7ddc1a2f6f24",
      "tree": "18a2a4eb01300be10f09f671adbb98df2f5323a0",
      "parents": [
        "18a77b5d237a67d2c621a46f5271a3b51da1b380"
      ],
      "author": {
        "name": "Francesco Lavra",
        "email": "francescolavra@interfree.it",
        "time": "Tue Nov 03 10:53:07 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 17 16:46:33 2009 -0800"
      },
      "message": "USB: cdc_acm: Fix memory leak after hangup\n\nAm Donnerstag, 10. September 2009 15:43:53 schrieb Dietmar Hilbrich:\n\u003e Hello,\n\u003e\n\u003e i have the following problem with the cdc-acm - driver:\n\u003e\n\u003e I\u0027m using the driver with an \"Ericsson F3507G\" on a Thinkpad T400.\n\u003e\n\u003e If a disable the device (with the RFKill-Switch) while it is used by a\n\u003e programm like ppp, the driver doesn\u0027t seem to correctly clean up the tty,\n\u003e even after the program has been closed)\n\u003e\n\u003e The tty is still active (e.g. there still exists an entry in\n\u003e /sys/dev/char/166:0 if ttyACM0 was used) and if a reacticate the device,\n\u003e this device entry will be skipped and the Device-Nodes ttyACM1, ttyACM2\n\u003e and ttyACM3 will be used.\n\u003e\n\u003e This problem was introduced with the commit\n\u003e 10077d4a6674f535abdbe25cdecb1202af7948f1 (before 2.6.31-rc1) and still\n\u003e exists in 2.6.31.\n\u003e\n\u003e I was able the fix this problem with the following patch:\n\u003e\n\u003e diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c\n\u003e index 2bfc41e..0970d2f 100644\n\u003e --- a/drivers/usb/class/cdc-acm.c\n\u003e +++ b/drivers/usb/class/cdc-acm.c\n\u003e @@ -676,6 +676,7 @@ static void acm_tty_hangup(struct tty_struct *tty)\n\u003e         struct acm *acm \u003d tty-\u003edriver_data;\n\u003e         tty_port_hangup(\u0026acm-\u003eport);\n\u003e         acm_port_down(acm, 0);\n\u003e +       acm_tty_unregister(acm);\n\u003e  }\n\nI have the same problem with cdc-acm (I\u0027m using a Samsung SGH-U900): when I\nunplug it from the USB port during a PPP connection, the ppp daemon gets the\nhangup correctly (and closes the device), but the struct acm corresponding to\nthe device disconnected is not freed. Hence reconnecting the device results in\ncreation of /dev/ttyACM(x+1). The same happens when the system is hibernated\nduring a PPP connection.\n\nThis memory leak is due to the fact that when the tty is hung up,\ntty_port_close_start() returns always zero, and acm_tty_close() never reaches\nthe point where acm_tty_unregister() is called.\n\nHere is a fix for this.\n\nSigned-off-by: Francesco Lavra \u003cfrancescolavra@interfree.it\u003e\nAcked-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "18a77b5d237a67d2c621a46f5271a3b51da1b380",
      "tree": "c3b359ae9c655a65ab96e68205fd8d5bf4c6bddb",
      "parents": [
        "a1f17a872bc7b1cb7efdd5486a2963e88a536e61"
      ],
      "author": {
        "name": "Henry Gebhardt",
        "email": "gebhardt@astro.uni-tuebingen.de",
        "time": "Wed Nov 04 11:19:28 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 17 16:46:33 2009 -0800"
      },
      "message": "USB: cdc_acm: Fix race condition when opening tty\n\nIf acm_rx_tasklet() gets called before tty_port_block_til_ready()\nreturns, then bulk IN urbs may not be sent. This fixes it.\n\nSigned-off-by: Henry Gebhardt \u003cgebhardt@astro.uni-tuebingen.de\u003e\nAcked-by: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "35f76e897d67fb62b4ec0be01fc0caaeb7f90108",
      "tree": "77ee722a2130cae09a32502e4a2e37630734f12a",
      "parents": [
        "0ee3a33a0481c8f5c9edb7a5a02f3c76496d9551"
      ],
      "author": {
        "name": "Gergely Imreh",
        "email": "imrehg@gmail.com",
        "time": "Tue Sep 15 16:03:31 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 09 13:52:06 2009 -0700"
      },
      "message": "USB: usbtmc: fix timeout increase\n\nThe current 10ms timeout is too short for some normal USBTMC device\noperation, increase it to a value which was tested with previously\naffected Tektronix oscilloscopes.\n\nSigned-off-by: Gergely Imreh \u003cimrehg@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "828c09509b9695271bcbdc53e9fc9a6a737148d2",
      "tree": "072ffad6f02db7bf4095e07e2b90247cfa042998",
      "parents": [
        "1c4115e595dec42aa0e81ba47ef46e35b34ed428"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 01 15:43:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:11 2009 -0700"
      },
      "message": "const: constify remaining file_operations\n\n[akpm@linux-foundation.org: fix KVM]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0a38365d9585bf3fb71f7c57fd532441a14f3e8",
      "tree": "d15d498bbfb4071f1fc6a2f1c92fcb162340a6b2",
      "parents": [
        "1e5ea5e32043094d96ca1e501110c1fbb631f693"
      ],
      "author": {
        "name": "Gergely Imreh",
        "email": "imrehg@gmail.com",
        "time": "Mon Sep 07 10:47:01 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:39 2009 -0700"
      },
      "message": "USB: fix USBTMC get_capabilities success handling\n\nIn order:\nAdd reference to relevant section of USBTMC usb488 subclass specs.\nPrint debug output of capabilities only when it was retrieved successfully.\nClear return value on success, otherwise driver always reports failure.\n\nSigned-off-by: Gergely Imreh \u003cimrehg@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4143d178e7b39c00d5277040c69a1522c4d98871",
      "tree": "38f372250370761786701b5c93fa8a41699a43c1",
      "parents": [
        "92d07e422df3cc5370d0d9b95a671abb69d50ef1"
      ],
      "author": {
        "name": "Steve Holland",
        "email": "sdh4@iastate.edu",
        "time": "Thu Jun 18 17:37:49 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:35 2009 -0700"
      },
      "message": "USB: usbtmc: correct termination condition for reads.\n\nFollow T\u0026M convention of obeying EOM flag.  Avoid exception cases where\ninstrument response size matches a buffer size.\n\nSigned-off-by: Steve Holland \u003csdh4@iastate.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "92d07e422df3cc5370d0d9b95a671abb69d50ef1",
      "tree": "497f5e7e185c98405d4966d895e37b9edcbba52d",
      "parents": [
        "c2cd26e15b84b964c489f2aff278cdaf03840c93"
      ],
      "author": {
        "name": "Steve Holland",
        "email": "sdh4@iastate.edu",
        "time": "Thu Jun 18 17:37:49 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:35 2009 -0700"
      },
      "message": "USB: usbtmc: inhibit corruption\n\nLimit data copied to userspace to amount requested.  Prevents a faulty\ninstrument from overwriting user memory.\n\nSigned-off-by: Steve Holland \u003csdh4@iastate.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c2cd26e15b84b964c489f2aff278cdaf03840c93",
      "tree": "64a51e7f5da2e03d316d2ad1b607b35f2b36ccc4",
      "parents": [
        "492896f011a411d17d02e696adbc4a9b4ff68e7f"
      ],
      "author": {
        "name": "Steve Holland",
        "email": "sdh4@iastate.edu",
        "time": "Thu Jun 18 17:37:49 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:35 2009 -0700"
      },
      "message": "USB: usbtmc: Fix short reads in usbtmc_read()\n\nThe header size should not be included in the number of bytes requested of the\ninstrument\n\nSigned-off-by: Steve Holland \u003csdh4@iastate.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a2fbf10eba3a38407e3984bc9503342de2b5e399",
      "tree": "9d3200cf03046e64df6a0863f0267fd12afb0491",
      "parents": [
        "665d7662d15441b4b3e54131a9418a1a198d0d31"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jul 28 11:22:41 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:30 2009 -0700"
      },
      "message": "USB: usbtmc: fix printk format warnings\n\nFix printk format warnings:\ndrivers/usb/class/usbtmc.c:466: warning: format \u0027%zu\u0027 expects type \u0027size_t\u0027, but argument 4 has type \u0027u32\u0027\ndrivers/usb/class/usbtmc.c:466: warning: format \u0027%zu\u0027 expects type \u0027size_t\u0027, but argument 5 has type \u0027int\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "665d7662d15441b4b3e54131a9418a1a198d0d31",
      "tree": "029c210e11d5f9befee6a51457a9dcd79b7934b6",
      "parents": [
        "a9d43091c5be1e7a60d5abe84be4f3050236b26a"
      ],
      "author": {
        "name": "Guus Sliepen",
        "email": "guus@sliepen.org",
        "time": "Wed Jul 22 17:39:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:30 2009 -0700"
      },
      "message": "USB: usbtmc: sanity checks for DEV_DEP_MSG_IN urbs\n\nAccording to the specifications, an instrument should not return more data in a\nDEV_DEP_MSG_IN urb than requested.  However, some instruments can send more\nthan requested. This could cause the kernel to write the extra data past the\nend of the buffer provided by read().\n\nFix this by checking that the value of the TranserSize field is not larger than\nthe urb itself and not larger than the size of the userspace buffer. Also\ncorrectly decrement the remaining size of the buffer when userspace read()s\nmore than USBTMC_SIZE_IOBUFFER.\n\nSigned-off-by: Guus Sliepen \u003cguus@sliepen.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a4708103adeaf5731c329b37b0a2b397f814c55c",
      "tree": "24c3fb1c0f54058eed87dd3cbff2e690d7313e15",
      "parents": [
        "86286883fc8218c81cc1deb04cd1b4a8464bba6f"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Jul 02 11:44:33 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:28 2009 -0700"
      },
      "message": "USB: suspend/resume support for usbtmc\n\na class driver should have suspend/resume. This makes sure we\ndon\u0027t see a virtual disconnect unnecessarily.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "86286883fc8218c81cc1deb04cd1b4a8464bba6f",
      "tree": "3db8bad50d4e3b1e16227914e057b7376ef3ad31",
      "parents": [
        "75b48f09e577cbb91d9f2a36bede9a2507929714"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Jul 02 11:36:30 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:28 2009 -0700"
      },
      "message": "USB: usbtmc can do IO to device after disconnect\n\nusbtmc will happily complete read/write requests even after disconnect\nhas returned. The fix is to introduce a flag.\n\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7af25b4b34a2439020d78da765a3bed0ff73f25c",
      "tree": "2a4a62760bf8e233f421e0b724a277e6391c5038",
      "parents": [
        "7f1dc313d01f5f0f84c06051343a3b8623932d3c"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Sep 08 23:51:28 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:16 2009 -0700"
      },
      "message": "USB: fix cdc-acm regression in open\n\ncdc-acm needs to set a flag during open to tell the\ntty layer that the device is initialized\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: Paul Martin \u003cpm@debian.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "7f1dc313d01f5f0f84c06051343a3b8623932d3c",
      "tree": "762ae2c12f103f039a8215161172b0b52101c1c9",
      "parents": [
        "ce60c48871d2b3a15ab3fa2450e783bebb4ae407"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Sep 09 10:12:48 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:16 2009 -0700"
      },
      "message": "USB: CDC WDM driver doesn\u0027t support non-blocking reads\n\nsupport for O_NONBLOCK in read and write path\nby simply not waiting for data in read or availability\nof the write urb in write but returning -EAGAIN\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nTested-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a419aef8b858a2bdb98df60336063d28df4b272f",
      "tree": "1736f6650ec0bfc01074c489fc47396114099c5e",
      "parents": [
        "2944fcbe03d65a704f07e43efe14adb0d226fd09"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Aug 18 11:18:35 2009 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Sep 21 15:14:58 2009 +0200"
      },
      "message": "trivial: remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a57c21c7159e07c27e317ea3513dfb382be3f153",
      "tree": "d70427d2d2f44b9d973aa21e7eef93f30f17515d",
      "parents": [
        "e11c675ede0d42a405ae595528bf0b29ce1ae56f",
        "e454cea20bdcff10ee698d11b8882662a0153a47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 15:55:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 15:55:39 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  Driver-Core: extend devnode callbacks to provide permissions\n"
    },
    {
      "commit": "9b80fee149a875a6292b2556ab2c64dc7ab7d6f5",
      "tree": "7d28ad66b6705637e9974ebd22af1555b03b1893",
      "parents": [
        "b50989dc444599c8b21edc23536fc305f4e9b7d5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:23 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:23 2009 -0700"
      },
      "message": "cdc_acm: Fix to use modern speed interfaces\n\nThis changed in 2006 so its about time the ACM driver caught up\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e454cea20bdcff10ee698d11b8882662a0153a47",
      "tree": "f44581fe57787aef0a4f4dc00993a90ea8e688f6",
      "parents": [
        "78f28b7c555359c67c2a0d23f7436e915329421e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Sep 18 23:01:12 2009 +0200"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 12:50:38 2009 -0700"
      },
      "message": "Driver-Core: extend devnode callbacks to provide permissions\n\nThis allows subsytems to provide devtmpfs with non-default permissions\nfor the device node. Instead of the default mode of 0600, null, zero,\nrandom, urandom, full, tty, ptmx now have a mode of 0666, which allows\nnon-privileged processes to access standard device nodes in case no\nother userspace process applies the expected permissions.\n\nThis also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cf7fdd57f978d40ceb9a0f58a25f5cf9c84d6f33",
      "tree": "17de519a492c4353dc65111bec683bd4f038a311",
      "parents": [
        "c15e3ca1d822abba78c00b1ffc3e7b382a50396e"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Aug 04 23:52:09 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Aug 07 16:05:14 2009 -0700"
      },
      "message": "USB: fix oops on disconnect in cdc-acm\n\nThis patch fixes an oops caused when during an unplug a device\u0027s table\nof endpoints is zeroed before the driver is notified. A pointer to\nthe endpoint must be cached.\n\nthis fixes a regression caused by commit\n5186ffee2320942c3dc9745f7930e0eb15329ca6\nTherefore it should go into 2.6.31\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "23198fda7182969b619613a555f8645fdc3dc334",
      "tree": "d6c322a36d955958ab89ffb0a1a7327dc84e180c",
      "parents": [
        "254702568da63ce6f5ad68e77d83b427da693654"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Jul 20 16:05:27 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 20 16:38:43 2009 -0700"
      },
      "message": "tty: fix chars_in_buffers\n\nThis function does not have an error return and returning an error is\ninstead interpreted as having a lot of pending bytes.\n\nReported by Jeff Harris who provided a list of some of the remaining\noffenders.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51feb98d2547a389be2f666514f5bcd658f79eab",
      "tree": "bd3d3eb486a0008340afd5807d9d2db12ec3b7b3",
      "parents": [
        "8f8f013478133eb98e35e1d669c98c5e39d769c7",
        "dc7520c17982ca4232233d2781e5cde29e58fbad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 13 10:23:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 13 10:23:03 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (48 commits)\n  USB: otg: fix module reinsert issue\n  USB: handle zero-length usbfs submissions correctly\n  USB: EHCI: report actual_length for iso transfers\n  USB: option: remove unnecessary and erroneous code\n  USB: cypress_m8: remove invalid Clear-Halt\n  USB: musb_host: undo incorrect change in musb_advance_schedule()\n  USB: fix LANGID\u003d0 regression\n  USB: serial: sierra driver id_table additions\n  USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.\n  USB: fix race leading to a write after kfree in usbfs\n  USB: Sierra: fix oops upon device close\n  USB: option.c: add A-Link 3GU device id\n  USB: Serial: Add support for Arkham Technology adapters\n  USB: Fix option_ms regression in 2.6.31-rc2\n  USB: gadget audio: select SND_PCM\n  USB: ftdi: support NDI devices\n  Revert USB: usbfs: deprecate and hide option for !embedded\n  USB: usb.h: fix kernel-doc notation\n  USB: RNDIS gadget, fix issues talking from PXA\n  USB: serial: FTDI with product code FB80 and vendor id 0403\n  ...\n"
    },
    {
      "commit": "5186ffee2320942c3dc9745f7930e0eb15329ca6",
      "tree": "e6f63661516ad845b58d9db0eaa38ad1afdda867",
      "parents": [
        "89368d3d11a5b2eff83ad8e752be67f77a372bad"
      ],
      "author": {
        "name": "Arseniy Lartsev",
        "email": "ars3n@yandex.ru",
        "time": "Wed Jul 01 16:27:26 2009 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: cdc-acm: work around some broken devices\n\nThis patch introduces a work around for cdc-acm devices which are\nlow speed contrary to the specification, which requires bulk endpoints\nwhich are banned in low speed and converted by usbcore to virtual\ninterrupt endpoints if they are used nevertheless.\n\nSigned-off-by: Arseniy Lartsev \u003cars3n@yandex.ru\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ca157c4a51fa6209f28c316f4a63d594adb79518",
      "tree": "68308852497bbf4154c2726a371531855db46842",
      "parents": [
        "45e83889eb291714d3a4727e98e2488074affbf8"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Jul 02 16:41:39 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: fix memory leak in usbtmc\n\nIf an error is returned kfree must also be called.\n\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "922b13565b6a826a925f9f91f053dc9cb0d6210e",
      "tree": "4c5680f084b62afd5d0f2e6247fd500277610c65",
      "parents": [
        "42dd2aa6496a2e87e496aac5494d2e1d6096c85b"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Thu Jun 25 14:41:30 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 25 11:24:26 2009 -0700"
      },
      "message": "acm: Fix oops when closing ACM tty device right after open has failed.\n\nThis commit 10077d4a6674f535abdbe25cdecb1202af7948f1 has stopped\nchecking if there was a valid acm device associated to the tty, which is\nnot true right after open fails and tty subsystem tries to close the\ndevice.\n\nAs an example, open fails with a non-existing device, when probe has\nnever been called, because the device has never been plugged. This is\ncommon in systems with static modules and no udev.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42dd2aa6496a2e87e496aac5494d2e1d6096c85b",
      "tree": "81ef166b1155f557574972d6452dfb2d7a1943ba",
      "parents": [
        "a37f6b84c4f3d3ca61634a7b36bf64c6ea452271"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Thu Jun 25 14:41:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 25 11:24:26 2009 -0700"
      },
      "message": "acm: Return ENODEV instead of EINVAL when trying to open ACM device.\n\nThis is required, otherwise a user will get a EINVAL while opening a\nnon-existing device, instead of ENODEV.\n\nThis is what I get with this patch applied now instead of an \"Invalid\nargument\".\n\n  cascardo@vespa:~$ cat /dev/ttyACM0\n  cat: /dev/ttyACM0: No such device\n  cascardo@vespa:~$\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1f5b94fd0c93c3e27ede88b7ab652d086dc960f",
      "tree": "e8de7a132eb88521dd1c19e128eba2d5349bdf4f",
      "parents": [
        "6fd03301d76bc439382710e449f58efbb233df1b",
        "1b6ed69f974f6f32c8be0d9a7fc952822eb83b6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits)\n  USB: xhci depends on PCI.\n  USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.\n  USB: xhci: Respect critical sections.\n  USB: xHCI: Fix interrupt moderation.\n  USB: xhci: Remove packed attribute from structures.\n  usb; xhci: Fix TRB offset calculations.\n  USB: xhci: replace if-elseif-else with switch-case\n  USB: xhci: Make xhci-mem.c include linux/dmapool.h\n  USB: xhci: drop spinlock in xhci_urb_enqueue() error path.\n  USB: Change names of SuperSpeed ep companion descriptor structs.\n  USB: xhci: Avoid compiler reordering in Link TRB giveback.\n  USB: xhci: Clean up xhci_irq() function.\n  USB: xhci: Avoid global namespace pollution.\n  USB: xhci: Fix Link TRB handoff bit twiddling.\n  USB: xhci: Fix register write order.\n  USB: xhci: fix some compiler warnings in xhci.h\n  USB: xhci: fix lots of compiler warnings.\n  USB: xhci: use xhci_handle_event instead of handle_event\n  USB: xhci: URB cancellation support.\n  USB: xhci: Scatter gather list support for bulk transfers.\n  ...\n"
    },
    {
      "commit": "a92b63e7e4c185b4dd9e87762e2cb716e54482d0",
      "tree": "af8b5556def527aa7c362ec4c455f09178fdff27",
      "parents": [
        "3b6c023f831e3179c42bbcff189c73628cd5ea4c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 13:13:05 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: usbtmc: fix switch statment\n\nSteve Holland pointed out that we forgot to call break; in the switch\nstatment.  This probably resolves a lot of the bug reports I\u0027ve gotten\nfor the driver lately.\n\nStupid me...\n\nReported-by: Steve Holland \u003csdh4@iastate.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1f17c5026ce27d0449903d34f9fca461a45fe1cb",
      "tree": "63afdd2ac83778c449755eca3962de87b320ab94",
      "parents": [
        "680cc64557101eaaca706dc9a1a0777f35aac0da"
      ],
      "author": {
        "name": "Kir Kolyshkin",
        "email": "kir@openvz.org",
        "time": "Thu May 28 20:33:58 2009 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:46 2009 -0700"
      },
      "message": "USB: cdc-acm: quirk for Alcatel OT-I650\n\nThis mobile phone fails to work as a modem, failing with:\n cdc_acm: Zero length descriptor references\n cdc_acm: probe of 1-6.1.3:1.1 failed with error -22\n\nTested to work fine with this patch.\n\nSigned-off-by: Kir Kolyshkin \u003ckir@openvz.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a2bfb4a346d2c2e25f84b35c6044ff53296be1ee",
      "tree": "494cea0b367252d248a73bd8fe2490d0539ac5f1",
      "parents": [
        "0b10395ab86c11bef10e882a4323367e6735c9b2"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Sat May 16 21:13:19 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:45 2009 -0700"
      },
      "message": "USB: support for cdc-acm of single interface devices\n\nThis implement support in cdc-acm for acm devices another popular OS can handle\n\n- adds support for autodetection of devices that use one interface\n- autodetection of endpoints\n- add a quirk for surpressing a setting that OS doesn\u0027t use\n- autoassume that quirk for single interface devices\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    }
  ],
  "next": "f7a386c5b8ff34cd84ae922603d1c6f9d234edee"
}
