)]}'
{
  "log": [
    {
      "commit": "05ba712d7eb156009753e18e5116cabd869cc6e2",
      "tree": "1ad850d6889f6b3671a5636653940f20a7d22bdf",
      "parents": [
        "257ddbdad13cd3c4f7d03b85af632c508aa8abc9",
        "b473946a0853860e13b51c28add5524741117786"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 28 06:12:38 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 28 06:12:38 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "b81124696e6a47d5db02b2b3561d66d1392b0f2f",
      "tree": "91017b8ed2600f94413f729baef2adf216d69487",
      "parents": [
        "b94b50289622e816adc9f94111cfc2679c80177c"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Jan 20 12:41:13 2010 -0800"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jan 21 16:49:24 2010 -0800"
      },
      "message": "wimax/i2400m: Add support for more i6x50 SKUs\n\nThe Intel WiMax Wireless Link 6050 can show under more than one USB\nID. Add support for all, introducing a generic flag (i2400mu-\u003ei6050)\nthat denotes a 6x50 based device.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "4754b3de93f893e85d811031ff742fc7a4f53db4",
      "tree": "7a63533c06c4693e883458a510200894a6fa90d8",
      "parents": [
        "fcb635e8c6d68bf06531603a1caa6e59ba7e356d"
      ],
      "author": {
        "name": "hartleys",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Jan 05 07:00:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 01:14:01 2010 -0800"
      },
      "message": "drivers/net/wimax/i2400m/driver.c: use %pM to show MAC address\n\nUse the %pM kernel extension to display the MAC address.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "595acf270e098ee3af92890253c5db41bc85de88",
      "tree": "0b793004803b432c1be7a8d0837efa52cd5406b4",
      "parents": [
        "829911725f4bb72c30480aab756704d588c7cd1e"
      ],
      "author": {
        "name": "hartleys",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Jan 05 07:01:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 01:14:00 2010 -0800"
      },
      "message": "drivers/net/wimax/i2400m/fw.c: use %pM to show MAC address\n\nUse the %pM kernel extension to display the MAC address.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb34d53752d5bec5acc73422e462a9c68aeeaa2a",
      "tree": "6a395f2a0246cd3d721753c60af13e8f9b2e9c41",
      "parents": [
        "576a362ad2103da481e1f6e13de01f33d3d4c7b1"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Nov 13 11:53:59 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:21 2009 -0800"
      },
      "message": "USB: remove the auto_pm flag\n\nThis patch (as1302) removes the auto_pm flag from struct usb_device.\nThe flag\u0027s only purpose was to distinguish between autosuspends and\nexternal suspends, but that information is now available in the\npm_message_t argument passed to suspend methods.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\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": "62d83681e53fd87c91927018cfe5ba9f9e8109a3",
      "tree": "3dc4d99c1d9e782de6fb56b61369aee8f4291a5e",
      "parents": [
        "230f9bb701d37ae9b48e96456689452978f5c439",
        "e7fec0bbf13b9bc2869a18e66f0cda7bb7f559f0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 05:01:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 05:01:54 2009 -0800"
      },
      "message": "Merge branch \u0027linux-2.6.33.y\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax\n"
    },
    {
      "commit": "e7fec0bbf13b9bc2869a18e66f0cda7bb7f559f0",
      "tree": "85ea7f9d0c91f847202dd2a7cb75ef22f9472a68",
      "parents": [
        "20d57f8e2553fa6f5cd382131b7f18e91c7141fc"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Oct 27 14:33:45 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:43 2009 -0800"
      },
      "message": "wimax/i2400m: fix inverted value in i2400ms_bus_setup()\n\nFix inverted setting of \u0027retries\u0027; when we are in the probe() path, we\nshould retry to enable the function only once; otherwise until it\ntimes out.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "20d57f8e2553fa6f5cd382131b7f18e91c7141fc",
      "tree": "261b3904e28a3e0746b48f52599cc7d26e167740",
      "parents": [
        "5a039e78522502067a68c969fb87fba1e39bc2a6"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 26 09:27:02 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:42 2009 -0800"
      },
      "message": "wimax/i2400m: fix SDIO debugfs dentry name\n\nThe SDIO specific debugfs dentry was being misnamed \"i2400m-usb\"\ninstead of \"i2400m-sdio\".\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "5a039e78522502067a68c969fb87fba1e39bc2a6",
      "tree": "8c154503cc1de69b0d6b5b40ddb6874dd11b3d8a",
      "parents": [
        "faf57162e462eafe87458e21bf641f9d138f8171"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri Oct 23 17:31:31 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:41 2009 -0800"
      },
      "message": "wimax/i2400m: fix bad assignment of return value in i2400mu_tx_bulk_out\n\nThe function was always setting the return value to the amount of\nbytes transferred, overwriting the error code in error paths.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "faf57162e462eafe87458e21bf641f9d138f8171",
      "tree": "c59c3a457768924a37b2feb80125b35cd15ac056",
      "parents": [
        "fae92216da87d1c78aa51c4503acb312a47266e9"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Oct 20 11:10:59 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:40 2009 -0800"
      },
      "message": "wimax/i2400m: handle USB stalls\n\nWhen the device stalls, clear it and retry; if it keeps failing too\noften, reset the device.\n\nThis specially happens when running on virtual machines; the real\nhardware doesn\u0027t seem to trip on stalls too much, except for a few\nreports in the mailing list (still to be confirmed this is the cause,\nalthough it seems likely.\n\nNOTE: it is not clear if the URB has to be resubmitted fully or start\nonly at the offset of the first transaction sent. Can\u0027t find\ndocumentation to clarify one end or the other.\n\nTests that just resubmit the whole URB seemed to work in my\nenvironment.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "fae92216da87d1c78aa51c4503acb312a47266e9",
      "tree": "0df0784e265e6ec55eb0ed5566b8bf99e1dd2ba7",
      "parents": [
        "02eb41ef2a8631022fd90e096c57562dec9e7a9a"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri Oct 23 17:48:36 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:39 2009 -0800"
      },
      "message": "wimax/i2400m: don\u0027t retry SDIO enable in probe() paths\n\nThe iwmc3200 has a quirk where retrying SDIO enable during the probe()\npath causes bad interactions with the TOP function controller that\ncauses a reset storm. The workaround is simply not to retry an SDIO\nenable in said path (and still do in the reset / reinitialization\npaths).\n\nThe driver does so by checking i2400ms-\u003edebugfs_dentry to see if it\nhas been initialized; if not, it is in the probe() path. Document said\nfact in i2400ms-\u003edebugfs_entry.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "02eb41ef2a8631022fd90e096c57562dec9e7a9a",
      "tree": "65280a03f80a15214f715510739bf9a983ecea5b",
      "parents": [
        "296bd4bdd0a43c5e56ee310bcb9b4722e5d52db8"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri Oct 23 17:45:07 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:38 2009 -0800"
      },
      "message": "wimax/i2400m: correctly identify all iwmc3200-based SKUs\n\nDifferent paths of the i2400m SDIO driver need to take care of a few\nSKU-specific quirks. For the ones that are common to to all the\niwmc3200 based devices, introduce i2400ms-\u003eiwmc3200 [set in\ni2400ms_probe()], so it doesn\u0027t have to check against the list of\niwmc3200 SKU IDs on each quirk site.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "296bd4bdd0a43c5e56ee310bcb9b4722e5d52db8",
      "tree": "b28697a4970d95b6605e5c2b92e18fe7208573f0",
      "parents": [
        "5ab5a7215a0cfd40572a9f09276ebcb071ee6fb7"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Oct 20 11:09:25 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:37 2009 -0800"
      },
      "message": "wimax/i2400m: Fix USB timeout specifications (to ms from HZ)\n\nThe USB code was incorrectly specifiying timeouts to be in jiffies vs\nmsecs. On top of that, lower it to 200ms, as 1s is really too long\n(doesn\u0027t allow the watchdog to trip a reset if the device timesout too\noften).\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "5ab5a7215a0cfd40572a9f09276ebcb071ee6fb7",
      "tree": "3847969bc4148ecba2eea45aaf3a5706350ca892",
      "parents": [
        "c931ceeb780560ff652a8f9875f88778439ee87e"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Oct 15 18:16:08 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:36 2009 -0800"
      },
      "message": "wimax/i2400m: fix device getting stuck in IDLE mode\n\nThe i2400m, when conected, will negotiate with the WiMAX basestation\nto put the link in IDLE mode when it is not being used. Upon RX/TX\ntraffic, the link has to be restablished and that might require some\ncrypto handshakes and maybe a DHCP renew.\n\nThis process might take up to 20 (!) seconds and in some cases we were\nseeing network watchdog warnings that weren\u0027t needed.\n\nSo the network watchdog timeout is updated to be slightly above that\n20s threshold. As well, the driver itself will double check if the\ndevice is stuck in IDLE mode -- if that happens, the device will be\nreset (in this case the queue is also woken up to remove bogus--once\nthe device is reset--warnings).\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "c931ceeb780560ff652a8f9875f88778439ee87e",
      "tree": "ca754722967ff1b9a4660ef38b0eae3d36f38a58",
      "parents": [
        "55a662d6468005ec3cd799fbd8d0ad03dfae6d2a"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 16:24:56 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:36 2009 -0800"
      },
      "message": "wimax/i2400m: introduce i2400m_reset(), stopping TX and carrier\n\nCurrently the i2400m driver was resetting by just calling\ni2400m-\u003ebus_reset(). However, this was missing stopping the TX queue\nand downing the carrier. This was causing, for the corner case of the\ndriver reseting a device that refuses to go out of idle mode, that a\nfew packets would be queued and more than one reset would go through,\nmaking the recovery a wee bit messy.\n\nTo avoid introducing the same cleanup in all the bus-specific driver,\nintroduced a i2400m_reset() function that takes care of house cleaning\nand then calling the bus-level reset implementation.\n\nThe bulk of the changes in all files are just to rename the call from\ni2400m-\u003ebus_reset() to i2400m_reset().\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "55a662d6468005ec3cd799fbd8d0ad03dfae6d2a",
      "tree": "388ebff423706a896d599a8447d9a8a7ad14d268",
      "parents": [
        "a8ee303cae6fbdaa639afa50b9d03ce6f0c7d7da"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 23:11:26 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Nov 03 12:49:34 2009 -0800"
      },
      "message": "wimax/i2400m: implement passive mode as a module option\n\nSome versions of the user space Intel WiMAX daemon need to have full\ncontrol over the device initialization sequence. By setting the module\noption i2400.passive_mode to 1, the driver defers all device\nconfiguration and initialization to user space.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "ce5eb7a29251a66e613a300532b642ddc23b48d8",
      "tree": "ca3d7255121b03f5fcae61b65e274bf1e774a9bc",
      "parents": [
        "439ca3a4b1997858a34ee414856511fe7a282553"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Sat Oct 17 09:09:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 23:22:51 2009 -0700"
      },
      "message": "i2400m-sdio: select IWMC3200TOP in Kconfig\n\ni2400m-sdio requires iwmc3200top for its operation\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nAcked-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8ee303cae6fbdaa639afa50b9d03ce6f0c7d7da",
      "tree": "91c3a39faff5efe635e31be76dbce03609695a4d",
      "parents": [
        "097acbeff98178e01c2f6adb2259ab4d811340cc"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Oct 08 12:36:03 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:25 2009 +0900"
      },
      "message": "wimax/i2400m: SDIO: fix oops on reset when TXing on uninitialized data\n\nCurrently the SDIO part of the TX resources were initialized/released\nwith bus_dev_{start,stop}.\n\nThe generic code\u0027s TX subsystem is destroyed afterwards, so there is a\nwindow from the bus-TX destruction to the generic-TX destruction where\nthe generic-TX code might call into bus-TX to do transactions.\n\nThe SDIO code cannot really cope with this (whereas in USB, how it is\nlaid out, it correctly ignores it). In any case, it made no sense for\nthe SDIO TX code to be in i2400m-\u003ebus_dev_start/stop(), so moved to\ni2400m-\u003ebus_setup/release(), which also takes care of the oops.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "097acbeff98178e01c2f6adb2259ab4d811340cc",
      "tree": "72546c92d9438b1cad4dd7b37a3298a0763ff9fa",
      "parents": [
        "4a78fd9a736db4c871bc8b583d66b61c38abd299"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Oct 08 12:33:50 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:23 2009 +0900"
      },
      "message": "wimax/i2400m: make i2400m-\u003ebus_dev_{stop,start}() optional\n\nIn coming commits, the i2400m SDIO driver will not use\ni2400m-\u003ebus_dev_stop().\n\nThus changed to check before calling, as an empty stub has more\noverhead than a call to check if the function pointer is non-NULL.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "4a78fd9a736db4c871bc8b583d66b61c38abd299",
      "tree": "2f8e5c53eb81091c321436b70280b9627e673815",
      "parents": [
        "0c96859d7a5f0286ed70d3c4e140ac6816a350da"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Oct 08 08:11:38 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:22 2009 +0900"
      },
      "message": "wimax/i2400m: fix oops caused by race condition when exiting USB kthreads\n\nCurrent i2400m USB code had to threads (one for processing RX, one for\nTX). When calling i2400m_{tx,rx}_release(), it would crash if the\nthread had exited already due to an error.\n\nSo changed the code to have the thread fill in/out\ni2400mu-\u003e{tx,rx}_kthread under a spinlock; then the _release()\nfunction will call kthread_stop() only if {rx,tx}_kthread is still\nset.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "0c96859d7a5f0286ed70d3c4e140ac6816a350da",
      "tree": "1b1553333c356bd477bc20b9ed95705d8ef3ca89",
      "parents": [
        "46c501473d0a6fa62435dfd65c6884e1fd63b327"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Oct 07 22:57:39 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:21 2009 +0900"
      },
      "message": "wimax/i2400m: Let device\u0027s status reports change the device state\n\nCurrently __i2400m_dev_start was forcing, after uploading firmware and\ndoing a few checks to WIMAX_ST_UNINITIALIZED.\n\nThis can be overriding state changes that the device might have caused\nby sending reports; thus it makes more sense to remove it and let the\ndevice update the status on its own by sending reports.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "46c501473d0a6fa62435dfd65c6884e1fd63b327",
      "tree": "00cfe53c4542e3f44e86b28245b33dcdda137e90",
      "parents": [
        "a0beba21c3e2dff9a31739f1660ba3ff8c7150a7"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Oct 07 22:46:29 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:20 2009 +0900"
      },
      "message": "wimax/i2400m: fix oops in TX when tearing down the device\n\nAll the entry points into the TX module should check if the device has\nbeen torn down. Otherwise, when the device resets or shuts down, there\nare windows when a call to i2400m_tx*() will oops the system.\n\nFor that, make i2400m_tx_release() set i2400m-\u003etx_buf to NULL under\nthe tx_lock. Then, any entry point [i2400m_tx(), _tx_msg_sent(),\n_tx_msg_get()] will check for i2400m-\u003etx_buf to be NULL and exit\ngracefully.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "a0beba21c3e2dff9a31739f1660ba3ff8c7150a7",
      "tree": "c38d559fd600274c4526f835c2b614a55df5d4c6",
      "parents": [
        "af77dfa7811cd4e533003a9e7e9bf27dece96c6d"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Oct 07 21:43:10 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:19 2009 +0900"
      },
      "message": "wimax/i2400m: queue device\u0027s report until the driver is ready for them\n\nThe i2400m might start sending reports to the driver before it is done\nsetting up all the infrastructure needed for handling them.\n\nCurrently we were just dropping them when the driver wasn\u0027t ready and\nthat is bad in certain situations, as the sync between the driver\u0027s\nidea of the device\u0027s state and the device\u0027s state dissapears.\n\nThis changes that by implementing a queue for handling\nreports. Incoming reports are appended to it and a workstruct is woken\nto process the list of queued reports.\n\nWhen the device is not yet ready to handle them, the workstruct is not\nwoken, but at soon as the device becomes ready again, the queue is\nprocessed.\n\nAs a consequence of this, i2400m_queue_work() is no longer used, and\nthus removed.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "af77dfa7811cd4e533003a9e7e9bf27dece96c6d",
      "tree": "fa2b04d211e450631414fb9cf6d31aa251887947",
      "parents": [
        "b9ee95010bee6c0e17d18bc9d9c0cfab6e8cb73a"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Oct 07 21:37:53 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:19 2009 +0900"
      },
      "message": "wimax/i2400m: move i2400m_init() out of i2400m.h\n\nUpcoming changes will have to add things to this function that expose\nmore internals, which would mean more forward declarators.\n\nFrankly, it doesn\u0027t need to be an inline, so moved to driver.c, where\nthe declarations will be taken from the header file.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "b9ee95010bee6c0e17d18bc9d9c0cfab6e8cb73a",
      "tree": "d1fd6706e054bb337d3ac79e96e32d2ec5145047",
      "parents": [
        "5eeae35b9a2e304fc4ae3d9eed63afeea23b482c"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Oct 07 12:34:13 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:18 2009 +0900"
      },
      "message": "wimax/i2400m: fix deadlock: don\u0027t do BUS reset under i2400m-\u003einit_mutex\n\nSince the addition of the pre/post reset handlers, it became clear\nthat we cannot do a I2400M-RT-BUS type reset while holding the\ninit_mutex, as in the case of USB, it will deadlock when trying to\ncall i2400m_pre_reset().\n\nThus, the following changes:\n\n - clarify the fact that calling bus_reset() w/ I2400M_RT_BUS while\n   holding init_mutex is a no-no.\n\n - i2400m_dev_reset_handle() will do a BUS reset to recover a gone\n   device after unlocking init_mutex.\n\n - in the USB reset implementation, when cold and warm reset fails,\n   fallback to QUEUING a usb reset, not executing a USB reset, so it\n   happens from another context and does not deadlock.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "5eeae35b9a2e304fc4ae3d9eed63afeea23b482c",
      "tree": "7d4dcc2d36785b78d990c02af968d61467000a40",
      "parents": [
        "28cff50d99ce9a1db65b7d4dcdcc0f1f8d9f9309"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Oct 07 12:20:15 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:17 2009 +0900"
      },
      "message": "wimax/i2400m: when stopping the device, cancel any pending message\n\nThe stop procedure for the device must make sure that any task that is\nwaiting on a message is properly cancelled.\n\nThis was being taken care of only by the __i2400m_dev_reset_handle()\npath and the rest was working by chance because the waits have a\ntimeout.\n\nFixed by adding a proper cancellation in __i2400m_dev_stop().\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "28cff50d99ce9a1db65b7d4dcdcc0f1f8d9f9309",
      "tree": "67c39a2383a8eba76e7c036c6d85dbbd86399a08",
      "parents": [
        "6f4fc90a36fbe87e3003b3f7c8090ecc89bd1353"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Fri Oct 02 19:31:17 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:16 2009 +0900"
      },
      "message": "wimax/i2400m: change the bcf_len to exclude the extended header size\n\nThe actual fw-\u003esize may not equal to the bcf size indicated in\nthe bcf header if the extended bcf debug header is added in the tail.\n\nTo reflect the actual fw size that will be downloaded to the device,\nit is now retrived from from the size field indicated in the bcf header.\n\nAll of the headers (if there are extended headers) should indicate same\nvalue for the size field since only one set of firmware chunks is downloaded\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\n"
    },
    {
      "commit": "6f4fc90a36fbe87e3003b3f7c8090ecc89bd1353",
      "tree": "9c782cc91f7a374b45bf3ec8c59637cd0a4b4d01",
      "parents": [
        "81d3f905389e22bb9a5176b9309c3f451c260e1a"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Fri Oct 02 19:18:43 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:15 2009 +0900"
      },
      "message": "wimax/i2400m: use JUMP cmd for last FW chunk indication\n\nBoth secure and non-secure boot must set the JUMP command in the\nbootmode header as the last FW chunk, so we change to use the JUMP\ncommand to decide if the FW chunk download is completed.\n\nSince we tend to use one single FW to support both secure and non-secure\nboot for most of the time, I2400M_BRH_SIGNED_JUMP is actually found\neven for non-secure boot. But in case the FW does come with\nI2400M_BRH_JUMP, we check for both of them in i2400m_dnload_bcf().\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "9835fd84990ca253c5b625005717a9be492788c0",
      "tree": "9daa36006886eecf80fe5c715049ef8307aecc0a",
      "parents": [
        "e1633fd636f3ed0379fcf08c47962205eadddb6b"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Sep 29 16:28:24 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:12 2009 +0900"
      },
      "message": "wimax/i2400m: fix race condition with tcpdump et al\n\ntcpdump and friends were not being able to decode packets sent via\nWiMAX; they had a zero ethernet type, even when the stack was properly\nsending them to the device with the right type.\n\nIt happens that the driver was overwriting the (fake) ethernet header\nfor creating the hardware header and that was bitting the cloning used\nby tcpdump (et al) to look into the packets.\n\nUse pkskb_expand_head() [method copied from the e1000 driver] to fix.\n\nThanks to Herbert Xu and Andi Kleen for helping to diagnose and\npointing to the right fix.\n\nCc: Herbert Xu \u003cgondor.apana.org.au\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "e1633fd636f3ed0379fcf08c47962205eadddb6b",
      "tree": "bca581b6d125e4c5b8d95c2d141a4b6d14fa6049",
      "parents": [
        "3725d8c97436aeaa03eeb0c25361a7ec0f3f5bd2"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri Sep 18 11:50:50 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:11 2009 +0900"
      },
      "message": "wimax/i2400m: reduce verbosity of debug messages in boot mode\n\nMissed a debug message that was being constantly printed as a\ndev_err(); became annoying. Demote it to a debug message.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "3725d8c97436aeaa03eeb0c25361a7ec0f3f5bd2",
      "tree": "c773759b4757473172ff6ba3ec26c134f5fc3d42",
      "parents": [
        "2869da8587604e3fea5f85aeade486a08e8313bf"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Sep 17 15:20:45 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:10 2009 +0900"
      },
      "message": "wimax/i2400m: Implement pre/post reset support in the USB driver\n\nThe USB stack can callback a driver is about to be reset by an\nexternal entity and right after it, so the driver can save state and\nthen restore it.\n\nThis commit implements said support; it is implemented actually in the\ncore, bus-generic driver [i2400m_{pre,post}_reset()] and used by the\nbus-specific drivers. This way the SDIO driver can also use it once\nsaid support is brought to the SDIO stack.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "2869da8587604e3fea5f85aeade486a08e8313bf",
      "tree": "e5894e5ffbc7eea4c3dc01406abfbbcfd8022467",
      "parents": [
        "0856ccf29dfbaf957e4be80dd3eb88d97810b633"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Sep 16 18:33:26 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:09 2009 +0900"
      },
      "message": "wimax/i2400m: do bootmode buffer management in i2400m_setup/release()\n\nAfter the introduction of i2400m-\u003ebus_setup/release, there is no more\nrace condition where the bootmode buffers are needed before\ni2400m_setup() is called.\n\nBefore, the SDIO driver would setup RX before calling i2400m_setup()\nand thus need those buffers; now RX setup is done in\ni2400m-\u003ebus_setup(), which is called by i2400m_setup().\n\nThus, all the bootmode buffer management can now be done completely\ninside i2400m_setup()/i2400m_release(), removing complexity from the\nbus-specific drivers.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "0856ccf29dfbaf957e4be80dd3eb88d97810b633",
      "tree": "a33cf96b010ce3814747b67eb60743554af2070f",
      "parents": [
        "c2315b4ea9ac9c3f8caf03c3511d86fabe4a5fcd"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Sep 16 18:23:27 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:08 2009 +0900"
      },
      "message": "wimax/i2400m: introduce i2400m-\u003ebus_setup/release\n\nThe SDIO subdriver of the i2400m requires certain steps to be done\nbefore we do any acces to the device, even for doing firmware upload.\n\nThis lead to a few ugly hacks, which basically involve doing those\nsteps in probe() before calling i2400m_setup() and undoing them in\ndisconnect() after claling i2400m_release(); but then, much of those\nsteps have to be repeated when resetting the device, suspending, etc\n(in upcoming pre/post reset support).\n\nThus, a new pair of optional, bus-specific calls\ni2400m-\u003ebus_{setup/release} are introduced. These are used to setup\nbasic infrastructure needed to load firmware onto the device.\n\nThis commit also updates the SDIO subdriver to use said calls.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "c2315b4ea9ac9c3f8caf03c3511d86fabe4a5fcd",
      "tree": "17e2d15abfd26fa83f8a9654bf581f6d40fc8c33",
      "parents": [
        "8f90f3ee83dc54e182d6a7548727cbae4b523e6e"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Sep 16 17:10:55 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:07 2009 +0900"
      },
      "message": "wimax/i2400m: clarify and fix i2400m-\u003e{ready,updown}\n\nThe i2400m driver uses two different bits to distinguish how much the\ndriver is up. i2400m-\u003eready is used to denote that the infrastructure\nto communicate with the device is up and running. i2400m-\u003eupdown is\nused to indicate if \u0027ready\u0027 and the device is up and running, ready to\ntake control and data traffic.\n\nHowever, all this was pretty dirty and not clear, with many open spots\nwhere race conditions were present.\n\nThis commit cleans up the situation by:\n\n - documenting the usage of both bits\n\n - setting them only in specific, well controlled places\n   (i2400m_dev_start, i2400m_dev_stop)\n\n - ensuring the i2400m workqueue can\u0027t get in the middle of the\n   setting by flushing it when i2400m-\u003eready is set to zero. This\n   allows the report hook not having to check again for the bit to be\n   set [rx.c:i2400m_report_hook_work()].\n\n - using i2400m-\u003eupdown to determine if the device is up and running\n   instead of the wimax state in i2400m_dev_reset_handle().\n\n - not loosing missed messages sent by the hardware before\n   i2400m-\u003eready is set. In rx.c, whatever the device sends can be\n   sent to user space over the message pipes as soon as the wimax\n   device is registered, so don\u0027t wait for i2400m-\u003eready to be set.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "8f90f3ee83dc54e182d6a7548727cbae4b523e6e",
      "tree": "8a81fd0076562a5c6e30a652c63fa25343783dc6",
      "parents": [
        "ac53aed9349242095a780f57ac0c995fb170c950"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Sep 16 17:53:57 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:06 2009 +0900"
      },
      "message": "wimax/i2400m: cleanup initialization/destruction flow\n\nCurrently the i2400m driver was starting in a weird way: registering a\nnetwork device, setting the device up and then registering a WiMAX\ndevice.\n\nThis is an historic artifact, and was causing issues, a some early\nreports the device sends were getting lost by issue of the wimax_dev\nnot being registered.\n\nFix said situation by doing the wimax device registration in\ni2400m_setup() after network device registration and before starting\nthed device.\n\nAs well, removed spurious setting of the state to UNINITIALIZED;\ni2400m.dev_start() does that already.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "ac53aed9349242095a780f57ac0c995fb170c950",
      "tree": "2962df61c6bdee9f184bb278a8b25b4c5a6d219d",
      "parents": [
        "cb5b756f746b77c5323ae413a41e9a40ea33c453"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Sep 16 16:30:39 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:05 2009 +0900"
      },
      "message": "wimax/i2400m: on device stop, clean up pending wake \u0026 TX work\n\nWhen the i2400m device needs to wake up an idle WiMAX connection, it\nschedules a workqueue job to do it.\n\nCurrently, only when the network stack called the _stop() method this\nwork struct was being cancelled. This has to be done every time the\ndevice is stopped.\n\nSo add a call in i2400m_dev_stop() to take care of such cleanup, which\nis now wrapped in i2400m_net_wake_stop().\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "cb5b756f746b77c5323ae413a41e9a40ea33c453",
      "tree": "9fc7d2d16a0945f644cc742ea0c7bb4db4459df8",
      "parents": [
        "1a5a73c0c5459f991b871855eb36099df65ecb7e"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Tue Sep 15 15:25:20 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:04 2009 +0900"
      },
      "message": "wimax/i2400m: don\u0027t overwrite error codes when failing to load firmware\n\nMake sure that i2400m_dev_bootstrap() doesn\u0027t overwrite the last known\nerror code with -ENOENT; when a firmware fails to load, we want to\nknow the cause and not a generic error code.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "1a5a73c0c5459f991b871855eb36099df65ecb7e",
      "tree": "e41fe888a42dec357d52c4d8edacc8cd9aa455e9",
      "parents": [
        "7b43ca708a767a5f68eeeb732c569c0f11a7d6f7"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Sep 14 15:28:14 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:03 2009 +0900"
      },
      "message": "wimax/i2400m: implement .reset_resume in USB subdriver\n\nCurrent driver didn\u0027t implement the .reset_resume method. The i2400m\nnormally always reset on a comeback from system standby/hibernation.\n\nThis requires previously applied commits to cache the firmware image\nfile.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "7b43ca708a767a5f68eeeb732c569c0f11a7d6f7",
      "tree": "8811c30691a5e4355c56e9b52a7f8fb9fe9108fb",
      "parents": [
        "3ef6129e57b04c116b1907b72c7a20720e6dde75"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Sep 14 14:10:16 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:02 2009 +0900"
      },
      "message": "wimax/i2400m: cache firmware on system suspend\n\nIn preparation for a reset_resume implementation, have the firmware\nimage be cached in memory when the system goes to suspend and released\nwhen out.\n\nThis is needed in case the device resets during suspend; the driver\ncan\u0027t load firmware until resume is completed or bad deadlocks\nhappen.\n\nThe modus operandi for this was copied from the Orinoco USB driver.\n\nThe caching is done with a kobject to avoid race conditions when\nreleasing it. The fw loader path is altered only to first check for a\ncached image before trying to load from disk. A Power Management event\nnotifier is register to call i2400m_fw_cache() or i2400m_fw_uncache()\nwhich take care of the actual cache management.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "3ef6129e57b04c116b1907b72c7a20720e6dde75",
      "tree": "a560950398c057010f9f591d10ed0dfe0eb8e98a",
      "parents": [
        "b0fbcb2a0b54ee201fa8af61fdebe14c050f18fe"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Sep 14 14:05:19 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:01 2009 +0900"
      },
      "message": "wimax/i2400m: add reason argument to i2400m_dev_reset_handle()\n\nIn preparation for reset_resume support, in which the same code path\nis going to be used, add a diagnostic message to dev_reset_handle()\nthat can be used to distinguish how the device got there.\n\nThis uses the new payload argument added to i2400m_schedule_work() by\nthe previous commit.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "b0fbcb2a0b54ee201fa8af61fdebe14c050f18fe",
      "tree": "81ad0f43ffd45e3d677c2bc0da50af8c9ee1de58",
      "parents": [
        "7329012e673231dee9a21567cfb9881f5ea462ba"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Sep 14 13:29:32 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:56:00 2009 +0900"
      },
      "message": "wimax/i2400m: clean up \u0026 add a payload argument to i2400m_schedule_work()\n\nForthcoming commits use having a payload argument added to\ni2400m_schedule_work(), which then becomes nearly identical to\ni2400m_queue_work().\n\nThis patch thus cleans up both\u0027s implementation, making it share\ncommon helpers and adding the payload argument to\ni2400m_schedule_work().\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "7329012e673231dee9a21567cfb9881f5ea462ba",
      "tree": "676f665bf8ca7f52923ed388db109ad2807c305c",
      "parents": [
        "f8fc3295570115267ce1ce901f362d13d194aefc"
      ],
      "author": {
        "name": "Dirk Brandewie",
        "email": "dirk.j.brandewie@intel.com",
        "time": "Wed Aug 12 11:29:46 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:59 2009 +0900"
      },
      "message": "wimax/i6x50: add Intel WiFi/WiMAX Link 6050 Series support\n\nAdd support for the WiMAX device in the Intel WiFi/WiMAX Link 6050\nSeries; this involves:\n\n - adding the device ID to bind to and an endpoint mapping for the\n   driver to use.\n\n - at probe() time, some things are set depending on the device id:\n\n   + the list of firmware names to try\n\n   + mapping of endpoints\n\nSigned-off-by: Dirk Brandewie \u003cdirk.j.brandewie@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "f8fc3295570115267ce1ce901f362d13d194aefc",
      "tree": "7546bcfa99081af6c6898a36d7abb6b6dea8d726",
      "parents": [
        "10607c86e163e3da8bdf58a934da7dd3a68dcb7c"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Fri Sep 04 17:38:46 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:59 2009 +0900"
      },
      "message": "wimax/iwmc3200: add new sdio device ID to support iwmc3200 2.5GHz sku\n\nDifferent sdio device IDs are designated to support different intel\nwimax silicon sku. The new macro SDIO_DEVICE_ID_IWMC3200_WIMAX_2G5(0x1407)\nis added to support iwmc3200 2.5GHz sku.  The existing\nSDIO_DEVICE_ID_IWMC3200_WIMAX(0x1402) is for iwmc3200 general sku.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "10607c86e163e3da8bdf58a934da7dd3a68dcb7c",
      "tree": "ae12d72aec61824697dee9d0b509ef37d02f49e3",
      "parents": [
        "bfc44187bbaeabf597be6566a24e8fa7d689b984"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Sep 09 17:11:57 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:58 2009 +0900"
      },
      "message": "wimax/i2400m: on firmware upload, select BCF header that matches device\u0027s request\n\nDevices based on the i2400m emit a \"barker\" (32 bit unsigned) when\nthey boot. This barker is used to select, in the firmware file image,\nwhich header should be used to process the rest of the file.\n\nThis commit implements said support, completing the series started by\nprevious commits.\n\nWe modify the i2400m_fw_dnload() firmware loading path by adding a\ncall to i2400m_bcf_hdr_find() [new function], in which the right BCF\nheader [as listed in i2400m-\u003efw_hdrs by i2400m_fw_check()] is\nlocated. Then this header is fed to i2400m_dnload_init() and\ni2400m_dnload_finalize().\n\nThe changes to i2400m_dnload_finalize() are smaller than they look;\nthey add the bcf_hdr argument and use that instead of bcf. Likewise in\ni2400m_dnload_init().\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "bfc44187bbaeabf597be6566a24e8fa7d689b984",
      "tree": "aa7d6f28babc971950bf1e7589919c74f2ca6fa9",
      "parents": [
        "fabce1a485dd985c0e4c16f61f4ddb5e27e49cbf"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri Sep 04 17:07:21 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:57 2009 +0900"
      },
      "message": "wimax/i2400m: support extended firmware format\n\nThe SBCF firmware format has been extended to support extra headers\nafter the main payload. These extra headers are used to sign the\nfirmware code with more than one certificate. This eases up\ndistributing single code images that work in more than one SKU of the\ndevice.\n\nThe changes to support this feature will be spread in a series of\ncommits. This one just adds the support to parse the extra headers and\nstore them in i2400m-\u003efw_hdrs. Coming changes to the loader code will\nuse that to determine which header to upload to the device.\n\nThe i2400m_fw_check() function now iterates over all the headers and\nfor each, calls i2400m_fw_hdr_check(), which does some basic checks on\neach header. It then stores the headers for the bootloader code to use.\n\nThe i2400m_dev_bootstrap() function has been modified to cleanup\ni2400m-\u003efw_hdrs when done.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "fabce1a485dd985c0e4c16f61f4ddb5e27e49cbf",
      "tree": "be682e23feea2e06c6ff7a1a1bb9f2f82b1b27e7",
      "parents": [
        "923d708fed9d47c7b4d67694500d766337663e29"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri Sep 04 14:53:43 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:56 2009 +0900"
      },
      "message": "wimax/i2400m: verify firmware format version is known\n\nMake sure the bootloading code checks that the format of the file is\nunderstood (major version match). This also fixes a dumb typo in\nextracting the major version field.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "923d708fed9d47c7b4d67694500d766337663e29",
      "tree": "54cc91baf9f495f924e467625e2bf50cbce79f48",
      "parents": [
        "ebc5f62b76ad540ff7b3e438506638009e7812a6"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri Sep 04 14:50:59 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:55 2009 +0900"
      },
      "message": "wimax/i2400m: fix reboot echo/ack barker deadlock\n\nThe i2400m based devices can get in a sort of a deadlock some times;\nwhen they boot, they send a reboot \"barker\" (a magic number) and then\nthe driver has to echo that same barker to ack reception\n(echo/ack). Then the device does a final ack by sending an ACK barker.\n\nThe first time this happens, we don\u0027t know ahead of time with barker\nthe device is going to send, as different device models and SKUs will\nsend different barker depending on the EEPROM programming.\n\nIf the device has sent the barker before the driver has been able to\nread it, the driver looses, as it doesn\u0027t know which barker it has to\necho/ack back. With older devices, we tried a couple of combinations\nand that always worked; but now, with adding support for more, in\nwhich we have an unlimited number of new barkers, that is not an\noption.\n\nSo we rework said case so that when the device gets stuck, we just\ncycle through all the known types until one forces the device to send\nan ack. Otherwise, the driver gives up and aborts.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "ebc5f62b76ad540ff7b3e438506638009e7812a6",
      "tree": "3981373fb584478e1807ee347efc26e75d245d9c",
      "parents": [
        "aba3792ac2d7c808a2d2fd2adf89531e083bdb90"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Sep 03 15:53:30 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:54 2009 +0900"
      },
      "message": "wimax/i2400m: retry loading firmware files in sequence\n\nThe i2400m firmware loader is given a list of firmware files to try to\nload by the probe() function (which can be different based on the\ndevice\u0027s model / generation).\n\nCurrent code didn\u0027t attempt to load, check and try to boot with each\nfile, but just to try to load if off disk. This is limiting in some\ncases, where we might want to try to load a firmware and if it fails\nto load onto the device, just fall back to another one.\n\nThis changes the behaviour so all files are tried for being loaded\nfrom disk, checked and uploaded to the device until one suceeds in\nbringing the device up.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "aba3792ac2d7c808a2d2fd2adf89531e083bdb90",
      "tree": "fdf901fe2d666805ad27a421b076cce2bfed7352",
      "parents": [
        "32742e6158657f19ad31653705bef56d983508e7"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Sep 03 15:14:29 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:53 2009 +0900"
      },
      "message": "wimax/i2400m: rework bootrom initialization to be more flexible\n\nThis modifies the bootrom initialization code of the i2400m driver so\nit can more easily support upcoming hardware.\n\nCurrently, the code detects two types of barkers (magic numbers) sent\nby the device to indicate the types of firmware it would take (signed\nvs non-signed).\n\nThis schema is extended so that multiple reboot barkers are\nrecognized; upcoming hw will expose more types barkers which will have\nto match a header in the firmware image before we can load it.\n\nFor that, a barker database is introduced; the first time the device\nsends a barker, it is matched in the database. That gives the driver\nthe information needed to decide how to upload the firmware and which\ntypes of firmware to use. The database can be populated from module\nparameters.\n\nThe execution flow is not altered; a new function\n(i2400m_is_boot_barker) is introduced to determine in the RX path if\nthe device has sent a boot barker. This function is becoming heavier,\nso it is put away from the hot reception path [this is why there is\nsome reorganization in sdio-rx.c:i2400ms_rx and\nusb-notifc.c:i2400mu_notification_grok()].\n\nThe documentation on the process has also been updated.\n\nAll these modifications are heavily based on previous work by Dirk\nBrandewie \u003cdirk.brandewie@intel.com\u003e.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "32742e6158657f19ad31653705bef56d983508e7",
      "tree": "05a13b990dac551c18e1fd468ca1383b86f40e0c",
      "parents": [
        "59bdc4be0b819173a8f840fc11ccb82d6f2ca64b"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Sep 03 15:56:40 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:52 2009 +0900"
      },
      "message": "wimax/i2400m: decide properly if using signed vs non-signed firmware loading\n\nThe i2400m based devices can boot two main types of firmware images:\nsigned and non-signed. Signed images have signature data included that\nmust match that of a certificate stored in the device.\n\nCurrently the code is making the decission on what type of firmware\nload (signed vs non-signed) is going to be loaded based on a hardcoded\ndecission in __i2400m_ack_verify(), based on the barker the device\nsent upon boot.\n\nThis is not flexible enough as future hardware will emit more barkers;\nthus the bit has to be set in a place where there is better knowledge\nof what is going on. This will be done in follow-up commits -- however\nthis patch paves the way for it.\n\nSo the querying of the mode is packed into i2400m_boot_is_signed();\nthe main changes are just using i2400m_boot_is_signed() to determine\nthe method to follow and setting i2400m-\u003esboot in\ni2400m_is_boot_barker(). The modifications in i2400m_dnload_init() and\ni2400m_dnload_finalize() are just reorganizing the order of the if\nblocks and thus look larger than they really are.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "59bdc4be0b819173a8f840fc11ccb82d6f2ca64b",
      "tree": "f984caa23124ddc13c2251afd31cb3f3aeb9d253",
      "parents": [
        "4c2b1a11646bf74e2926ce8b13a21884adc1e05c"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Sep 02 15:41:23 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:51 2009 +0900"
      },
      "message": "wimax/i2400m: workaround not-so-working %zd printf format\n\nThe kernel\u0027s %zd modifier does not really work. Use %ld (has to cast\nssize_t to long).\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "4c2b1a11646bf74e2926ce8b13a21884adc1e05c",
      "tree": "59cd5b59b21969264c6833b567b828484a6d76ed",
      "parents": [
        "4dc1bf074e4db5aa281a7b82ceebb24df98922d2"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Sep 02 15:36:05 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:50 2009 +0900"
      },
      "message": "wimax: allow specifying debug levels as command line option\n\nAdd \"debug\" module options to all the wimax modules (including\ndrivers) so that the debug levels can be set upon kernel boot or\nmodule load time.\n\nThis is needed as currently there was a limitation where the debug\nlevels could only be set when a device was succesfully\nenumerated. This made it difficult to debug issues that made a device\nnot probe properly.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "4dc1bf074e4db5aa281a7b82ceebb24df98922d2",
      "tree": "614874495312dd914454c0e5612f6f1c65b27b32",
      "parents": [
        "c77ca950abb587bcebad6dcd0b0b41d7c0255ce9"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Sep 02 15:31:48 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:49 2009 +0900"
      },
      "message": "wimax/i2400m: add missing debug submodule definition\n\nThe i2400m driver was missing the definition for the sysfs debug\nlevel, which is declared in debug-levels.h.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "c77ca950abb587bcebad6dcd0b0b41d7c0255ce9",
      "tree": "e60031fcfe1d4a99a54db0403bdcd3f07dd5ebe7",
      "parents": [
        "8d8fe198c6a756ae96617548af4776e7a86c0d3e"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Aug 31 17:57:56 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:48 2009 +0900"
      },
      "message": "wimax/i2400m: during probe, call sdio_disable at most once\n\nIn the Intel Wireless Multicomm 3200, the initialization is\norchestrated by a component called Top. This component also monitors\nhow many times a function is reset (via sdio_disable) to detect\npossible issues and will reset the whole multifunction device if any\nfunction triggers a maximum reset level.\n\nDuring WiMAX\u0027s probe, the driver needs to wait for Top to come up\nbefore it can enable the WiMAX function. If it cannot, it will return\n-ENODEV and the Top driver will rescan the SDIO bus once done\nloading.\n\nCurrently, the WiMAX SDIO probe routine was trying a few times before\nreturning -ENODEV, and this was triggering Top\u0027s too-many-resets\ndetector. This is, in any case, unnecessary because the Top driver will\nforce the bus rescan when the functions can be probed successfully.\n\nAdded then a maxtries argument to i2400ms_enable_func() and set it to\n1 when calling from probe. We want to reuse this function instead of\nflat calling out sdio_enable_func() to take advantage of hardware\nquirk workarounds.\n\nReported-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "8d8fe198c6a756ae96617548af4776e7a86c0d3e",
      "tree": "a3ff223523a46a5d4efd3bdea705622a766601d4",
      "parents": [
        "77e1251a7cc64c1e483a31c41c139fdf8121e75e"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "evans@localhost.localdomain",
        "time": "Tue Aug 18 19:27:18 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:47 2009 +0900"
      },
      "message": "wimax/i2400m: don\u0027t write to memory allocated by request_firmware()\n\nIn kernel 2.6.31, the firmware requested to ram could be marked\nwith read only attribute, and we can\u0027t write any thing directly\nto the memory when setting up the last JUMP brh cmd.\n\nChanged so that the scratch buffer is used.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "77e1251a7cc64c1e483a31c41c139fdf8121e75e",
      "tree": "03f0f2cc77eb0335073c64883c5fd56217219713",
      "parents": [
        "339ccc362cb60b48e478ff494172efadb385c0ab"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Aug 31 17:15:49 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:46 2009 +0900"
      },
      "message": "wimax/i2400m: be smarter about copying command buffer to bm_cmd_buf\n\nBecause some underlying bus APIs (like USB) don\u0027t like data buffers in\nthe stack or vmalloced areas, the i2400m driver provides a scratch\nbuffer (i2400m-\u003ebm_cmd_buf) for said low-level drivers to copy command\ndata to before passing it to said API. This is only used during boot\nmode.\n\nHowever, at some the code was copying the buffer even when the command\nwas already specified in said buffer. This is ok, but it needs to be\nmore careful. As thus, change so that:\n\n(a) the copy happens only if command buffer is not the scratch buffer\n\n(b) use memmove() in case there is overlapping\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "339ccc362cb60b48e478ff494172efadb385c0ab",
      "tree": "4948984a3660362764b9e77e1bcb022a8610d976",
      "parents": [
        "2093586de29418820b89aae05746511392f8ad73"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Mon Aug 10 18:36:15 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:45 2009 +0900"
      },
      "message": "wimax/i2400m/sdio: clear the INTR status bit after reading size\n\nIn order to avoid issues during high-load traffic, the interrupt\nstatus register has to be cleared ONLY after the RX size is read.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "2093586de29418820b89aae05746511392f8ad73",
      "tree": "b5d021b77a886380e3ac529e6a837b063cff0779",
      "parents": [
        "8bec9a5efd5691c5a32d85da1da09643290ebb72"
      ],
      "author": {
        "name": "Dirk Brandewie",
        "email": "dirk.j.brandewie@intel.com",
        "time": "Wed Aug 12 11:29:46 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:44 2009 +0900"
      },
      "message": "wimax/i2400m: USB driver uses a configurable endpoint map\n\nNewer generations of the i2400m USB WiMAX device use a different\nendpoint map; in order to make it easy to support it, we make the\nendpoint-to-function mapeable instead of static.\n\nSigned-off-by: Dirk Brandewie \u003cdirk.j.brandewie@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "8bec9a5efd5691c5a32d85da1da09643290ebb72",
      "tree": "1730936bbb2c7810a51d6748ddd2cbc6c90f3f2f",
      "parents": [
        "5c29e21d4768a7f1ce46f622b379802edeb1daf3"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "evans@localhost.localdomain",
        "time": "Mon Aug 17 19:39:12 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:43 2009 +0900"
      },
      "message": "wimax/iwmc3200: increase wait time before enable retry\n\nWhen trying to enable the iwmc3200 WiMAX SDIO function, we loop\nwaiting for the top controller to be up and running (at which point we\ncan succesfully enable the function). Between each try we wait for\nI2400MS_INIT_SLEEP_INTERVAL ms.\n\nIntegration tests have found the current value of 10ms to be too\nshort; it was upped to 100ms to give more time to the top controller\nto be ready.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "5c29e21d4768a7f1ce46f622b379802edeb1daf3",
      "tree": "061f6e0f77bb242b11ce42e87ae1fe00c7fc4cd6",
      "parents": [
        "f2696fbdb623993a9b4c05455df7ae3158a01111"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "evans@localhost.localdomain",
        "time": "Mon Aug 17 19:39:12 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:42 2009 +0900"
      },
      "message": "wimax/iwmc3200: don\u0027t disable the SDIO function if enable fails\n\nIn the iwmc3200, disabling the WiMAX SDIO function when enable fails\nwould possibly result in a device reset triggered by the iwmc3200\u0027s\ntop controller since it monitors the bus reset activities from each\nSDIO function. In any case, the disable makes no sense; if the enable\nfails, it should not be disabled.\n\nThus we remove the unecessary sdio_disable_func() in\ni2400ms_enable_function().\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "f2696fbdb623993a9b4c05455df7ae3158a01111",
      "tree": "63dd6e4fbad1d6712bbc58038d4e04f5cfc025b5",
      "parents": [
        "c30836580b35ae5cab3de97a3df16878fe097868"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "evans@localhost.localdomain",
        "time": "Mon Aug 17 19:17:58 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:41 2009 +0900"
      },
      "message": "wimax/iwmc3200: overwrite SDIO IOR timeout value to avoid platform hang\n\nThe default SDIO IOE wait timeout returned from iwmc3200-wimax\u0027s CCCR\nis not efficient. This inefficiency will actually cause problems on\nMoorestown platforms (system hang).\n\nThis is a sillicon bug that requires a software patch to by\noverwritting func-\u003eenable_timeout. The new value I2400MS_IOR_TIMEOUT\nis recommended and verified from the system integration results.\n\nFuture sillicon releases will have this default value corrected in the\nfuture.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "c30836580b35ae5cab3de97a3df16878fe097868",
      "tree": "f88a13e7b9455b9f92260d95f9d9d3854911deaa",
      "parents": [
        "a134fd6b103b78378e3beb6af94d8d8c2abdd19d"
      ],
      "author": {
        "name": "Dirk Brandewie",
        "email": "dirk.j.brandewie@intel.com",
        "time": "Thu Aug 13 13:48:29 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:40 2009 +0900"
      },
      "message": "wimax/i2400m: Make boot retries a BUS-specific parameter\n\nIn i2400m-based devices, the driver\u0027s bootloader will retry to load\nthe firmware when things go wrong. The driver currently has a constant\n(I2400M_BOOT_RETRIES) which governs the max number of tries.\n\nHowever, different SKUs of the same hardware may admit or require\ndifferent numbers of retries due to it\u0027s particulars, so it is made a\nBUS specific parameter and different values are assigned for 5x50\ndevices versus the 3200 ones.\n\nSigned-off-by: Dirk Brandewie \u003cdirk.j.brandewie@intel.com\u003e\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "a134fd6b103b78378e3beb6af94d8d8c2abdd19d",
      "tree": "4a747fdeda7afce7d690c869bb6194f9a400f503",
      "parents": [
        "81b182a7542c4282191fa0b1e8d9fcb022c03e68"
      ],
      "author": {
        "name": "Dirk Brandewie",
        "email": "dirk.j.brandewie@intel.com",
        "time": "Tue Aug 18 08:51:52 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:39 2009 +0900"
      },
      "message": "wimax/i2400m: Ensure boot mode cmd and ack buffers are alloc\u0027d before first message\n\nThe change to the SDIO boot mode RX chain could try to use the cmd and\nack buffers befor they were allocated.  USB does not have the problem\nbut both were changed for consistency\u0027s sake.\n\nSigned-off-by: Dirk Brandewie \u003cdirk.j.brandewie@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "81b182a7542c4282191fa0b1e8d9fcb022c03e68",
      "tree": "826fb3d9b5253eb1fb233be90ffa71aa12a9515d",
      "parents": [
        "abb307338396bd58f5d9d32c4e56ef40ff668a74"
      ],
      "author": {
        "name": "Dirk Brandewie",
        "email": "dirk.j.brandewie@intel.com",
        "time": "Fri Jul 24 09:04:33 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:38 2009 +0900"
      },
      "message": "wimax/i2400m: Update comments to talk about SDIO reset and not USB.\n\nFixing comments from original cut and paste error\n\nSigned-off-by: Dirk Brandewie \u003cdirk.j.brandewie@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "abb307338396bd58f5d9d32c4e56ef40ff668a74",
      "tree": "bcdab73e66735c613d67cee9cba3356b796013ac",
      "parents": [
        "2d44f204adf503eb1774f0ab7e404031168851ea"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dcbw@redhat.com",
        "time": "Thu Sep 17 13:06:14 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:37 2009 +0900"
      },
      "message": "i2400m: minimal ethtool support\n\nAdd minimal ethtool support for carrier detection.\n\nSigned-off-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "2d44f204adf503eb1774f0ab7e404031168851ea",
      "tree": "7aca07e44a8ba70d031d353f092e392f6541cb0e",
      "parents": [
        "a6346fa583766a51b7723288fc5d73ee5ea93479"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Jul 13 00:59:53 2009 +0200"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:36 2009 +0900"
      },
      "message": "wimax: misplaced parenthesis\n\nFix misplaced parenthesis\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "a6346fa583766a51b7723288fc5d73ee5ea93479",
      "tree": "5c8a6a682a93eccde349c59705550e0ebbc5817d",
      "parents": [
        "c29eaf3faef7547ba72355bac44e9ca6ffdaee39"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Jul 13 01:48:42 2009 +0200"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:35 2009 +0900"
      },
      "message": "i2400m: keep index within ms_to_errno[]\n\nEnsure that index `status\u0027 remains within ms_to_errno[]\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "5b45bfe5010ae1ddaac463d1bcdb141a4ff4ff66",
      "tree": "8115ce638a420e4ba6610ea6c2e126ddb9180b86",
      "parents": [
        "663ebb4aa2fd0d19e3d1da0fed3fa3fa134a4ef0"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Thu Aug 27 15:25:12 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:33 2009 +0900"
      },
      "message": "wimax/i2400m: fix the bootmode RX deadlock in SDIO driver\n\ni2400ms_bus_bm_wait_for_ack() causes a race condition. It happens\nbecause this function clears i2400ms-\u003ebm_ack_size before waiting for\nan interrupt, which is set by the interrupt service routine i2400ms_rx()\nto indicate reception and size of received data; thus, if the interrupt\ncame right before the clearing/waiting, it is lost.\n\nThe fix is clear the bm_ack_size to -EINPROGRESS before we are enabling\nthe RX interrupt configuration in i2400ms_rx_setup(). Then everytime\nwhen the interrupt service routine i2400ms_rx() is invoked during bootmode,\nbm_ack_size is updated with the actual rx_size and it is cleared to\n-EINPROGRESS again after the RX data is handled.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "663ebb4aa2fd0d19e3d1da0fed3fa3fa134a4ef0",
      "tree": "20fc1aa70b1cdd474bf4c3ad155328248a17703c",
      "parents": [
        "eb2ff967a587a4a784fd2390f38e324a5bec01ec"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Aug 19 13:50:45 2009 -0600"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 19 15:55:32 2009 +0900"
      },
      "message": "wimax/i2400m/usb: remove unnecessary power management primitive in i2400m\n\nThis patch removes an unneeded power management primitive.\nPower management is automatically enabled as probe ends.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "384912ed194e43c03ad1cdaa09b0b1e488c34d46",
      "tree": "bdaae15252819543cff0900941238d2b99bb2300",
      "parents": [
        "f510c35de0e63e1066db83d2fdce99e6dbde0c80"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 31 21:08:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:55 2009 -0700"
      },
      "message": "net: Add DEVTYPE support for Ethernet based devices\n\nThe Ethernet framing is used for a lot of devices these days. Most\nprominent are WiFi and WiMAX based devices. However for userspace\napplication it is important to classify these devices correctly and\nnot only see them as Ethernet devices. The daemons like HAL, DeviceKit\nor even NetworkManager with udev support tries to do the classification\nin userspace with a lot trickery and extra system calls. This is not\ngood and actually reaches its limitations. Especially since the kernel\ndoes know the type of the Ethernet device it is pretty stupid.\n\nTo solve this problem the underlying device type needs to be set and\nthen the value will be exported as DEVTYPE via uevents and available\nwithin udev.\n\n  # cat /sys/class/net/wlan0/uevent\n  DEVTYPE\u003dwlan\n  INTERFACE\u003dwlan0\n  IFINDEX\u003d5\n\nThis is similar to subsystems like USB and SCSI that distinguish\nbetween hosts, devices, disks, partitions etc.\n\nThe new SET_NETDEV_DEVTYPE() is a convenience helper to set the actual\ndevice type. All device types are free form, but for convenience the\nsame strings as used with RFKILL are choosen.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0cf9c0dadcdc89a755bcb301cfc9c796eb28ccf",
      "tree": "c201ed345e104100288d57c8b3ae46d486b56118",
      "parents": [
        "0fc480987e69f22b9212f087545b4d1ca6950807"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 31 19:50:57 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:14:04 2009 -0700"
      },
      "message": "wireless: convert drivers to netdev_tx_t\n\nMostly just simple conversions:\n  * ray_cs had bogus return of NET_TX_LOCKED but driver\n    was not using NETIF_F_LLTX\n  * hostap and ipw2x00 had some code that returned value\n    from a called function that also had to change to return netdev_tx_t\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51def0bea92629dff02ff1de40603eb90c609c55",
      "tree": "9c8f2192098c052704faca9b749247f7c7f80d84",
      "parents": [
        "1896e61ff7cc1c9dd0d8b1cf4a9426a0f7217a20"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Wed Jul 22 14:06:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 26 19:25:47 2009 -0700"
      },
      "message": "imwc3200: move iwmc3200 SDIO ids to sdio_ids.h\n\n1. add intel\u0027s sdio vendor id to sdio_ids.h\n2. move iwmc3200 sdio devices\u0027 ids to sdio_ids.h\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "156f5a7801195fa2ce44aeeb62d6cf8468f3332a",
      "tree": "dd506816ca6f14bb650189aa364eb0a2f51ad5cc",
      "parents": [
        "1b713e00500c6f03317742981674e89a21629399"
      ],
      "author": {
        "name": "GeunSik Lim",
        "email": "leemgs1@gmail.com",
        "time": "Tue Jun 02 15:01:37 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:28 2009 -0700"
      },
      "message": "debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.\n\nMany developers use \"/debug/\" or \"/debugfs/\" or \"/sys/kernel/debug/\"\ndirectory name to mount debugfs filesystem for ftrace according to\n./Documentation/tracers/ftrace.txt file.\n\nAnd, three directory names(ex:/debug/, /debugfs/, /sys/kernel/debug/) is\nexisted in kernel source like ftrace, DRM, Wireless, Documentation,\nNetwork[sky2]files to mount debugfs filesystem.\n\ndebugfs means debug filesystem for debugging easy to use by greg kroah\nhartman. \"/sys/kernel/debug/\" name is suitable as directory name\nof debugfs filesystem.\n- debugfs related reference: http://lwn.net/Articles/334546/\n\nFix inconsistency of directory name to mount debugfs filesystem.\n\n* From Steven Rostedt\n  - find_debugfs() and tracing_files() in this patch.\n\nSigned-off-by: GeunSik Lim \u003cgeunsik.lim@samsung.com\u003e\nAcked-by     : Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nReviewed-by  : Steven Rostedt \u003crostedt@goodmis.org\u003e\nReviewed-by  : James Smart \u003cjames.smart@emulex.com\u003e\nCC: Jiri Kosina \u003ctrivial@kernel.org\u003e\nCC: David Airlie \u003cairlied@linux.ie\u003e\nCC: Peter Osterlund \u003cpetero2@telia.com\u003e\nCC: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCC: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCC: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "98eb0f53e2fc66482e2ea8033c58b20a079e5260",
      "tree": "d7bfd46772eb1da57cdb2f40e3e227186242bef6",
      "parents": [
        "d2f4c10544231c3681f937a1e511f4780b4b39af"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 11:13:41 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 11:47:39 2009 -0700"
      },
      "message": "wimax: fix gcc warnings in sh4 when calling BUG()\n\nSH4\u0027s BUG() seems to confuse the compiler as it is considered to\nreturn; thus, some functions would trigger usage of uninitialized\nvariables or non-void functions returning void.\n\nWork around by initializing/returning.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "0bcfc5ef016e8217709c65c5a7335e40ceabc99c",
      "tree": "8b669ff99674f137918f47aced255034db662248",
      "parents": [
        "8b5b30ee7ddc989b59ce05dcf2d024a819dc8040"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Wed Jun 10 17:06:19 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:26 2009 -0700"
      },
      "message": "wimax/i2400m: use -EL3RST to indicate device reset instead of -ERESTARTSYS\n\nWhen the i2400m device resets, the driver code will force some\nfunctions to return a -ERESTARTSYS error code, which can is used by\nthe caller to determine which recovery actions to take.\n\nHowever, in certain situations the only thing that can be done is to\nbubble up said error code to user space, for handling.\n\nHowever, -ERESTARSYS was a poor choice, as it is supposed to be used\nby the kernel only.\n\nAs such, replace -ERESTARTSYS with -EL3RST; as well, in\ni2400m_msg_to_dev(), when the device is in boot mode (following a\nrecent reset), return -EL3RST instead of -ENODEV (meaning the device\nis in bootrom mode after a reset, not that the device was\ndisconnected, and thus, normal commands cannot be executed).\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\n"
    },
    {
      "commit": "8b5b30ee7ddc989b59ce05dcf2d024a819dc8040",
      "tree": "49b564e60706973bfeac592cb00c76f3c0ce102c",
      "parents": [
        "16820c166d3ad5973d388b5aa70ee7e535386657"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Wed Jun 10 16:52:10 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:26 2009 -0700"
      },
      "message": "wimax/i2400m: when bootstrap fails, reinitialize the bootrom\n\nWhen a device reset happens during firmware load [in\ni2400m_dev_bootstrap()], __i2400m_dev_start() will retry a number of\ntimes. However, for those retries to be able to accomplish anything,\nthe device\u0027s bootrom has to be reinitialized.\n\nThus, on the retry path, pass the I2400M_MAC_REINIT to the firmware\nload code.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\n"
    },
    {
      "commit": "16820c166d3ad5973d388b5aa70ee7e535386657",
      "tree": "59ccd86e6530bbfc6aac3d55a4952f851c0bc3cc",
      "parents": [
        "6e053d6c79b3c1c9f6efc6563a811023c41be86a"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu May 07 01:02:39 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:25 2009 -0700"
      },
      "message": "wimax/i2400m/sdio: Move all the RX code to a unified, IRQ based receive routine\n\nThe current SDIO code was working in polling mode for boot-mode\n(firmware load) mode. This was causing issues on some hardware.\n\nMoved all the RX code to use a unified IRQ handler that based on the\ntype of data the device is sending can discriminate and decide which\nis the right destination.\n\nAs well, all the reads from the device are made to be at least the\nblock size (256); the driver will ignore the rest when not needed.\n\nSigned-off-by: Dirk Brandewie \u003cdirk.j.brandewie@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "6e053d6c79b3c1c9f6efc6563a811023c41be86a",
      "tree": "579cb648734e1283873d7f4f7195c231f5062197",
      "parents": [
        "1c0b2dd75772cbce0aef8886b7f38313542216de"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri Jun 05 09:31:26 2009 +0800"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:25 2009 -0700"
      },
      "message": "wimax/i2400m: don\u0027t reset device when bootrom init retries are exceeded\n\nWhen i2400m_bootrom_init() fails to put the device into a state of\nbeing ready to accept firmware, the driver was currently trying to\nreset it if it failed to do so. This is not too useful; as part of\ntrying to put the device in the right state a few resets have already\nbeen tried.\n\nAt this point, things are probably fried out and an extra reset might\ndo more harm than good (for example causing reseting of other\nfunctions in the same composite device).\n\nSo it is left up to the callers to determine the error path to take\n(at the end this is always i2400m_setup(), who depending on how many\nretries are left, might give up on the device).\n\nFrom a fix by Cindy H. Kao.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "1c0b2dd75772cbce0aef8886b7f38313542216de",
      "tree": "26fb06d78672a64cfc2c51968c0cac7051c6f18c",
      "parents": [
        "7308a0c23901f2a295265bb71d8521ef7d47bf4c"
      ],
      "author": {
        "name": "Dirk Brandewie",
        "email": "dirk.j.brandewie@intel.com",
        "time": "Thu May 21 11:56:35 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:24 2009 -0700"
      },
      "message": "wimax/i2400m/sdio: Add device specific poke table.\n\nAdd a poke table for the SDIO device (as it is different than USB).\n\nSigned-off-by: Dirk Brandewie \u003cdirk.j.brandewie@intel.com\u003e\n"
    },
    {
      "commit": "7308a0c23901f2a295265bb71d8521ef7d47bf4c",
      "tree": "3bb54a208a5f587f1732f73ed8cffc7e1f2d538c",
      "parents": [
        "ecddfd5ed73c070413f07a5251c16c10e69f35a2"
      ],
      "author": {
        "name": "Dirk Brandewie",
        "email": "dirk.j.brandewie@intel.com",
        "time": "Thu May 21 11:56:34 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:24 2009 -0700"
      },
      "message": "wimax/i2400m: move boot time poke table out of common driver\n\nThis change moves the table of \"pokes\" performed on the device at boot\ntime to the bus specific portion of the driver.\n\nDifferent models of the i2400m device supported by this driver require\ndifferent poke tables, thus having a single table that works for all\nis impossible. For that, the table is moved to the bus-specific\ndriver, who can decide which table to use based on the specifics of\nthe device and point the generic driver to it.\n\nSigned-off-by: Dirk Brandewie \u003cdirk.j.brandewie@intel.com\u003e\n"
    },
    {
      "commit": "ecddfd5ed73c070413f07a5251c16c10e69f35a2",
      "tree": "4caaeedf3b8a49441d3656ffdd2ac8e8479991a2",
      "parents": [
        "b4013f91cdda10f3f15530914f3c7f39738b0b50"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Jun 03 16:13:14 2009 +0800"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:23 2009 -0700"
      },
      "message": "wimax/i2400m: Allow bus-specific driver to specify retry count\n\nThe code that sets up the i2400m (firmware load and general driver\nsetup after it) includes a couple of retry loops.\n\nThe SDIO device sometimes can get in more complicated corners than the\nUSB one (due to its interaction with other SDIO functions), that\nrequire trying a few more times.\n\nTo solve that, without having a failing USB device taking longer to be\nconsidered dead, allow the retry counts to be specified by the\nbus-specific driver, which the general driver takes as a parameter.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "b4013f91cdda10f3f15530914f3c7f39738b0b50",
      "tree": "8dc5ab721c3f2028de4e2372436f76bb059a9fff",
      "parents": [
        "59063afa0afabc68d2b6ca0d106da9165e1c7d39"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed Jun 03 09:45:55 2009 +0800"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:23 2009 -0700"
      },
      "message": "wimax/i2400m: if a device reboot happens during probe, handle it\n\nWhen a device reboot happens when we are under probe, with init_mutex\ntaken, make sure we can recover. Have dev_reset_handle set boot mode\nand i2400m_msg_to_dev() will see it and fail gracefully instead of\ntiming out.\n\nFound and diagnosed by Cindy H. Kao.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "59063afa0afabc68d2b6ca0d106da9165e1c7d39",
      "tree": "4fda5f5feaa11a8d311661cd0630d06ad29c8aa7",
      "parents": [
        "b4bd07e3b13e3c848c7678c4fc870cca1d22ed4e"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed May 27 01:04:40 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:22 2009 -0700"
      },
      "message": "wimax/i2400m: fix oops when the TX FIFO fills up due to a missing check\n\nWhen the TX FIFO filled up and i2400m_tx_new() failed to allocate a\nnew TX message header, a missing check for said condition was causing a\nkernel oops when trying to dereference a NULL i2400m-\u003etx_msg pointer.\n\nFound and diagnosed by Cindy H. Kao.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "b4bd07e3b13e3c848c7678c4fc870cca1d22ed4e",
      "tree": "56913e329212b41525d581443bb7329c4eaf8570",
      "parents": [
        "2971a5bac8cab3cb56f19e9c494ecb3b120c5199"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu May 21 19:46:45 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:22 2009 -0700"
      },
      "message": "wimax/i2400m: don\u0027t reset device on i2400m_dev_shutdown()\n\ni2400m_dev_shutdown() tried to reset the device to put it in a known\nstate before shutting down.\n\nBut that turned out to be pointless. We reach this case in two paths:\n\n 1 - when the device resets, to clean up state\n 2 - when the driver is unloaded, for the same\n\nhowever, in both cases it is pointless; in (1) the device is already\nreset, why do it again? in (2) we can\u0027t -- the USB stack, for example,\ndoesn\u0027t allow communicating with the device when the driver is being\nunbound and if the device is disconnected, the device is gone already.\n\nSo just remove it. Leave the function as a placeholder for future\ncleanups that will be done from data allocated by the driver during\ndevice operation.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "2971a5bac8cab3cb56f19e9c494ecb3b120c5199",
      "tree": "aa01c08f44f337304984fac35d60cd940c112a45",
      "parents": [
        "c56affafdd29eb9764b0e35e3434cc06f6bc3781"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed May 20 17:40:35 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:21 2009 -0700"
      },
      "message": "wimax/i2400m: fix panic due to missed corner cases on tail_room calculation\n\ni2400m_tx_skip_tail() needs to handle the special case of being called\nwhen the tail room that is left over in the FIFO is zero.\n\nThis happens when a TX message header was opened at the very end of\nthe FIFO (without payloads). The i2400m_tx_close() code already marked\nsaid TX message (header) to be skipped and this function should be\ndoing nothing.\n\nIt is called anyway because it is part of a common \"corner case\" path\nhandling which takes care of more cases than only this one.\n\nThe tail room computation was also improved to take care of the case\nwhen tx_in is at the end of the buffer boundary; tail_room has to be\nmodded (%) to the buffer size. To do that in a single well-documented\nplace, __i2400m_tx_tail_room() is introduced and used.\n\nTreat i2400m-\u003etx_in \u003d\u003d 0 as a corner case and handle it accordingly.\n\nFound and diagnosed by Cindy H. Kao.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "c56affafdd29eb9764b0e35e3434cc06f6bc3781",
      "tree": "b79de2da47cba80882ae85cf7f271cc7f574a27e",
      "parents": [
        "8593a1967fb9746d318dde88a0a39a36dbfc3445"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed May 20 17:16:05 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:21 2009 -0700"
      },
      "message": "wimax/i2400m: fix panic/warnings caused by missed check on empty TX message\n\nIn some situations, when a new TX message header is started, there\nmight be no space for data payloads. In this case the message is left\nwith zero payloads and the i2400m_tx_close() function has just to mark\nit as \"to skip\". If it tries to go ahead it will overwrite things\nbecause there is no space to add padding as defined by the\nbus-specific layer. This can cause buffer overruns and in some stress\ncases, panics.\n\nFound and diagnosed by Cindy H. Kao.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "8593a1967fb9746d318dde88a0a39a36dbfc3445",
      "tree": "6e3d5e259ae08eab71c8442b2f7fa66bd1d39867",
      "parents": [
        "10b1de6b774a531c9054ee01e734a85ffbab179e"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Wed May 20 16:53:30 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:20 2009 -0700"
      },
      "message": "wimax/i2400m: rename misleading I2400M_PL_PAD to I2400M_PL_ALIGN\n\nThe constant is being use as an alignment factor, not as a padding\nfactor; made reading/reviewing the code quite confusing.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "10b1de6b774a531c9054ee01e734a85ffbab179e",
      "tree": "b56c38c7953faca21b1f4aee6709d5d3acfd3956",
      "parents": [
        "ead68239913cb9c19150facf1656517f81d66fcb"
      ],
      "author": {
        "name": "Dirk Brandewie",
        "email": "dirk.j.brandewie@intel.com",
        "time": "Tue May 12 07:54:00 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:20 2009 -0700"
      },
      "message": "wimax/i2400m/sdio: Implement I2400M_RT_BUS reset type\n\nThis reset type causes the WiMAX function to be disabled and\nre-enabled, which will force the WiMAX device to reset and enter boot\nmode.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: Dirk Brandewie \u003cdirk.j.brandewie@intel.com\u003e\n"
    },
    {
      "commit": "ead68239913cb9c19150facf1656517f81d66fcb",
      "tree": "2a84b9b21cef71b543d117c461231e771d071e43",
      "parents": [
        "16eafba8defcd507831eec926b61db474af0aabb"
      ],
      "author": {
        "name": "Dirk Brandewie",
        "email": "dirk.j.brandewie@intel.com",
        "time": "Tue May 12 06:22:27 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:19 2009 -0700"
      },
      "message": "wimax/i2400m: Change d_printf() level for secure boot messages\n\nChanging debug level of print out to support validation engineers\ngetting the messages they need.\n\nSigned-off-by:  \u003cdirk.j.brandewie@intel.com\u003e\n"
    },
    {
      "commit": "16eafba8defcd507831eec926b61db474af0aabb",
      "tree": "d9350c8f76d700afa26fcb5e4aad8942594a9fd2",
      "parents": [
        "e9a6b45be580d648ed2f21646214733504bd4d6f"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri May 08 12:46:26 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:19 2009 -0700"
      },
      "message": "wimax/i2400m: i2400m_schedule_work() doesn\u0027t need i2400m-\u003ework_queue\n\nBy mistake, the BUG_ON() check was left in there and it will fail when\ncalled if i2400m-\u003ework_queue is still not setup.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "e9a6b45be580d648ed2f21646214733504bd4d6f",
      "tree": "e8dccd2ef276a4725ee9f1bfaad8b3ce5d0f6cf1",
      "parents": [
        "fff1068559a2ae00a036b80c5df3c564fc6c6305"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri May 08 13:02:41 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:18 2009 -0700"
      },
      "message": "wimax/i2400m: i2400m\u0027s work queue should be initialized before RX support\n\nRX support is the only user of the work-queue, to process\nreports/notifications from the device. Thus, it needs the work queue\nto be initialized first.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "fff1068559a2ae00a036b80c5df3c564fc6c6305",
      "tree": "be56841153c1bb258e7d535a9c84a851336c4ffa",
      "parents": [
        "fb10167478a3a8e29fe122a7bf4c67b5cfc48a1b"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri May 08 08:58:51 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:18 2009 -0700"
      },
      "message": "wimax/i2400m: don\u0027t call netif_start_queue() in _tx_msg_sent()\n\nReported and fixed by Cindy H Kao.\n\nWhen the device is stopped __i2400m_dev_stop() stops the network\nqueue.\n\nHowever, when this is done in the middle of heavy network operation,\nwhen the bus-specific subdriver is still wrapping up and it reports a\nsent TX transaction with _tx_msg_sent() right after the device was\nstopped, the queue was being started again, which was causing a stream\nof oopsen and finally a panic.\n\nIn any case, said call has no place there. It\u0027s a left over from an\nearly implementation that was discarded later on.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "fb10167478a3a8e29fe122a7bf4c67b5cfc48a1b",
      "tree": "c71f8cbfb7e1cb3425d0ed1aa70de2a333a59aa9",
      "parents": [
        "0ed586d075ef65c0268982e5b7f36d0ffaa95547"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu May 07 10:27:42 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jun 11 03:30:17 2009 -0700"
      },
      "message": "wimax/i2400m: introduce module parameter to disable entering power save\n\nThe i2400m driver waits for the device to report being ready for\nentering power save before asking it to do so. This module parameter\nallows control of said operation; if disabled, the driver won\u0027t ask\nthe device to enter power save mode.\n\nThis is useful in setups where power saving is not so important or\nwhen the overhead imposed by network reentry after power save is not\nacceptable; by combining this with parameter \u0027idle_mode_disabled\u0027, the\ndriver will always maintain both the connection and the device in\nactive state.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "2618ab774ea015089c6eb84787f7ede6f2a2cbd0",
      "tree": "98bdbb3c1f18d1505d09e3d1cd0bbd19f741a7d7",
      "parents": [
        "7f0333eb2f98bbfece4fbfe21076d0a3e49f0bb0"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri May 08 15:51:44 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu May 28 18:02:27 2009 -0700"
      },
      "message": "wimax/i2400m: usb: fix device reset on autosuspend while not yet idle\n\nWhen the i2400m is connected to a network, the host interface (USB)\ncannot be suspended. For that to happen, the device has to have\nnegotiated with the basestation to put the link on IDLE state.\n\nIf the host tries to put the device in standby while it is connected\nbut not idle, the device resets, as the driver should not do that.\n\nTo avoid triggering that, when the USB susbsytem requires the driver\nto autosuspend the device, the driver checks if the device is not yet\nidle. If it is not, the request is requested (will be retried again\nlater on after the autosuspend timeout). At some point the device will\nenter idle and the request will succeed (unless of course, there is\nnetwork traffic, but at that point, there is no idle neither in the\nlink or the host interface).\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "a0a4c4c9e54ee4255f46eedb572ad69ee34c77b6",
      "tree": "bc71faf4b93433c4f9fac1b575de014f9d0b172b",
      "parents": [
        "52a8d9630890f2289354d03e8751bf0eba2b3376"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Apr 30 14:39:21 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu May 28 18:02:11 2009 -0700"
      },
      "message": "wimax/i2400m: sdio: set the block size before enabling the function\n\nFrom a fix by Cindy H Kao:\n\n  Block size has to be set before sending IOE enable because the\n  firmware reads the block size register before it reads IOE register.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "052991d7ac7f7b2c0319e6ccd2e8a48a71f2bd58",
      "tree": "07706156ef906951c2f602aadfa7793c4409aa0b",
      "parents": [
        "8ac1101f8cd58a62517ba86745bc000d3a21f09b"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat May 02 02:50:03 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu May 28 18:01:58 2009 -0700"
      },
      "message": "wimax/i2400m: remove redundant readiness checks from i2400m_report_tlv_*()\n\nFunctions i2400m_report_tlv*() are only called from\ni2400m_report_hook(), called in a workqueue by\ni2400m_report_hook_work(). The scheduler checks for device readiness\nbefore scheduling.\n\nAdded an extra check for readiness in i2400m_report_hook_work(), which\nmakes all the checks down the line redundant.\n\nObviously the device state could change in the middle, but error\nhandling would take care of that.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "8ac1101f8cd58a62517ba86745bc000d3a21f09b",
      "tree": "47cfcfea8257b90d9913a01e262beb0757e37d3b",
      "parents": [
        "223beea23810577353c4cc71ce2f44dbba0d4e16"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat Apr 25 00:26:14 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu May 28 18:01:49 2009 -0700"
      },
      "message": "wimax/i2400m: factor out \u0027state report\u0027s TLV handling to a function\n\ni2400m_report_state_hook() is going to get messier as we add handling\ncode.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "223beea23810577353c4cc71ce2f44dbba0d4e16",
      "tree": "4ef63bbe6701cbf24beed89ec4be1c1ed2768888",
      "parents": [
        "44b849d11bf6801a642dd1aa9a70e470d046d273"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Apr 13 10:26:34 2009 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu May 28 18:01:42 2009 -0700"
      },
      "message": "wimax/i2400m: allow kernel commands to device to be logged too\n\nBy running \u0027echo 1 \u003e /sys/kernel/debug/wimax:wmxX/i2400m/trace_msg_from_user\u0027,\nthe driver will echo to user space all the commands being sent to the\ndevice from user space, along with the responses.\n\nHowever, this only helps with the commands being sent from user space;\nwith this patch, the trace hook is moved to i2400m_msg_to_dev(), which\nis the single access point for running commands to the device (both by\nuser space and the kernel driver). This allows better debugging by\nhaving a complete stream of commands/acks and reports.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    }
  ],
  "next": "44b849d11bf6801a642dd1aa9a70e470d046d273"
}
