)]}'
{
  "log": [
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "3e5b08cbbf78bedd316904ab0cf3b27119433ee5",
      "tree": "0365745c1b7441c1868551c024410c829c3accc6",
      "parents": [
        "da40d036fd716f0efb2917076220814b1e927ae1",
        "2af10844eb6ed104f9505bf3a7ba3ceb02264f31"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 13:16:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 13:16:28 2011 -0800"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (144 commits)\n  USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004)\n  USB: serial: ftdi_sio: add support for TIOCSERGETLSR\n  USB: ehci-mxc: Setup portsc register prior to accessing OTG viewport\n  USB: atmel_usba_udc: fix freeing irq in usba_udc_remove()\n  usb: ehci-omap: fix tll channel enable mask\n  usb: ohci-omap3: fix trivial typo\n  USB: gadget: ci13xxx: don\u0027t assume that PAGE_SIZE is 4096\n  USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq\u0027s\n  USB: gadget: update ci13xxx to work with g_ether\n  USB: gadgets: ci13xxx: fix probing of compiled-in gadget drivers\n  Revert \"USB: musb: pm: don\u0027t rely fully on clock support\"\n  Revert \"USB: musb: blackfin: pm: make it work\"\n  USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path\n  USB: uas: Ensure we only bind to a UAS interface\n  USB: uas: Rename sense pipe and sense urb to status pipe and status urb\n  USB: uas: Use kzalloc instead of kmalloc\n  USB: uas: Fix up the Sense IU\n  usb: musb: core: kill unneeded #include\u0027s\n  DA8xx: assign name to MUSB IRQ resource\n  usb: gadget: g_ncm added\n  ...\n\nManually fix up trivial conflicts in USB Kconfig changes in:\n\tarch/arm/mach-omap2/Kconfig\n\tarch/sh/Kconfig\n\tdrivers/usb/Kconfig\n\tdrivers/usb/host/ehci-hcd.c\nand annoying chip clock data conflicts in:\n\tarch/arm/mach-omap2/clock3xxx_data.c\n\tarch/arm/mach-omap2/clock44xx_data.c\n"
    },
    {
      "commit": "781ba4567698be9db7ca94d827c4b38d8583c168",
      "tree": "a1083df1054b48078e311fc80d6e135201bc10c1",
      "parents": [
        "fe8998c5e3b173f3d5c450bbde6173e7fbe5158d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Dec 12 16:45:14 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Dec 12 16:45:14 2010 +0100"
      },
      "message": "i2400m: drop i2400m_schedule_work()\n\ni2400m implements dynamic work allocation and queueing mechanism in\ni2400_schedule_work(); however, this is only used for reset and\nrecovery which can be served equally well with preallocated per device\nworks.\n\nReplace i2400m_schedule_work() with two work structs in struct i2400m.\nThese works are explicitly canceled when the device is released making\ncalls to flush_scheduled_work(), which is being deprecated,\nunnecessary.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\nCc: linux-wimax@intel.com\nCc: netdev@vger.kernel.org\n"
    },
    {
      "commit": "a34f0b31398020e2d3be653eb695bd17a9cf3b55",
      "tree": "a049085d3b21a55f3138ed2cc78552cad828748d",
      "parents": [
        "dac36dd87de10d1fd81dc7b7a40256cb2e965abc"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Dec 10 14:55:42 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 10 16:04:28 2010 +0100"
      },
      "message": "fix comment typos concerning \"consistent\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "2f15744c1d90ee2e82f8ae5724b44b1cdf31715c",
      "tree": "4ac4be9a92e45b428bfbf4aaf39937c6f9a62bb5",
      "parents": [
        "aa02f172ac85f144d0baa248e27e34e165963f94"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Nov 17 10:56:01 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 17 13:24:47 2010 -0800"
      },
      "message": "USB: fix leftover references to udev-\u003eautosuspend_delay\n\nThis patch (as1436) takes care of leftover references to\nudev-\u003eautosuspend_delay that didn\u0027t get removed during the earlier\nconversion to the runtime-PM autosuspend API.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "d122179a3c0fdc71b88cb9e3605f372b1651a9ff",
      "tree": "63a48b333e7565967b6d7c9e246557bfcb9f225f",
      "parents": [
        "419c20465d6319274e7286f0966e2390540e6e0a",
        "b00916b189d13a615ff05c9242201135992fcda3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/core/ethtool.c\n"
    },
    {
      "commit": "0aa7deadffd8b596983a3abe29a218b4c5f43301",
      "tree": "0f741572d7f370e17bd3e504a879b57a637b74e4",
      "parents": [
        "ec622ab072e95cf96e78ab4d39d4eea874518c80"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Sun Oct 10 23:26:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 11:05:43 2010 -0700"
      },
      "message": "NET: wimax, fix use after free\n\nStanse found that i2400m_rx frees skb, but still uses skb-\u003elen even\nthough it has skb_len defined. So use skb_len properly in the code.\n\nAnd also define it unsinged int rather than size_t to solve\ncompilation warnings.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\nCc: linux-wimax@intel.com\nAcked-by: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3d32687a624845e97f9717d9d2027b44b8c49a2",
      "tree": "1eed57ce582fb34fcc720942e1db186bcf743afb",
      "parents": [
        "debf279a81c93d6942a50ec0fd3ba1f158b109fb"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 04 19:59:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 00:47:38 2010 -0700"
      },
      "message": "wimax: make functions local\n\nMake wimax variables and functions local if possible.\nCompile tested only.\n\nThis also removes a couple of unused EXPORT_SYMBOL.\nIf this breaks some out of tree code, please fix that\nby putting the code in the kernel tree.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cfc2c42c1cbc8e238bb9c0612c0df4565e3a8b4",
      "tree": "5adc1ff2eaf64d450bf28bb6b2ce890db2567288",
      "parents": [
        "5cf65713f87775c548e3eb48dbafa32e12f28000",
        "0ea6e61122196509af82cc4f36cbdaacbefb8227"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)\n  Documentation: update broken web addresses.\n  fix comment typo \"choosed\" -\u003e \"chosen\"\n  hostap:hostap_hw.c Fix typo in comment\n  Fix spelling contorller -\u003e controller in comments\n  Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -\u003e Fault\n  fs/Kconfig: Fix typo Userpace -\u003e Userspace\n  Removing dead MACH_U300_BS26\n  drivers/infiniband: Remove unnecessary casts of private_data\n  fs/ocfs2: Remove unnecessary casts of private_data\n  libfc: use ARRAY_SIZE\n  scsi: bfa: use ARRAY_SIZE\n  drm: i915: use ARRAY_SIZE\n  drm: drm_edid: use ARRAY_SIZE\n  synclink: use ARRAY_SIZE\n  block: cciss: use ARRAY_SIZE\n  comment typo fixes: charater \u003d\u003e character\n  fix comment typos concerning \"challenge\"\n  arm: plat-spear: fix typo in kerneldoc\n  reiserfs: typo comment fix\n  update email address\n  ...\n"
    },
    {
      "commit": "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f",
      "tree": "854ab394486288d40fa8179cbfaf66e8bdc44b0f",
      "parents": [
        "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "bb7e95c8fd859922c6cf3ebbb3a8546007df1748",
      "tree": "58b54c6306ba168b76f25cc6dc9a2d1d2eb830a7",
      "parents": [
        "b8bc0421ab7f83712a0a8ef7eb05fa73ec53c027",
        "5447080cfa3c77154498dfbf225367ac85b4c2b5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x_main.c\n\nMerge bnx2x bug fixes in by hand... :-/\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76ac21f5ef30e46397e405695eb1240ff0955209",
      "tree": "e4a585f50efb0c37d9704510f2a9d601ff83c080",
      "parents": [
        "ef3db4a5954281bc1ea49a4739c88eaea091dc71",
        "41a8730c23aba4b77a13e5e151d2b69cd10ef6cb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 20:51:45 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 20:51:45 2010 -0700"
      },
      "message": "Merge branch \u0027wimax-2.6.35.y\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax\n"
    },
    {
      "commit": "41a8730c23aba4b77a13e5e151d2b69cd10ef6cb",
      "tree": "4a840554036edd6186340f52b779a0934028c066",
      "parents": [
        "a385a53e659b35ebee604889e21c40e5c336941f"
      ],
      "author": {
        "name": "Alexey Shvetsov",
        "email": "alexxy@gentoo.org",
        "time": "Fri Jul 23 00:35:16 2010 +0400"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Thu Jul 22 14:50:34 2010 -0700"
      },
      "message": "wimax/i2400m: Add PID \u0026 VID for Intel WiMAX 6250\n\nThis version of intel wimax device was found in my IBM ThinkPad x201\n\nSigned-off-by: Alexey Shvetsov \u003calexxy@gentoo.org\u003e\n"
    },
    {
      "commit": "f1bbbb6912662b9f6070c5bfc4ca9eb1f06a9d5b",
      "tree": "c2c130a74be25b0b2dff992e1a195e2728bdaadd",
      "parents": [
        "fd0961ff67727482bb20ca7e8ea97b83e9de2ddb",
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jun 16 18:08:13 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jun 16 18:08:13 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "421f91d21ad6f799dc7b489bb33cc560ccc56f98",
      "tree": "aaf9f6385233fdf9277e634603156c89ede7f770",
      "parents": [
        "65155b3708137fabee865dc4da822763c0c41208"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Jun 11 12:17:00 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jun 16 18:05:05 2010 +0200"
      },
      "message": "fix typos concerning \"initiali[zs]e\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "62522d36d74a843e78d17f2dffc90468c6762803",
      "tree": "d9d21de6724425c1b0ba12991e0865556aeda6b4",
      "parents": [
        "a71fba97295db924c0b90266e9833e5059fead24",
        "e79aa8671033535c2e9ffc0a68010ae49ed5734c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 11 13:32:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 11 13:32:31 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "e79aa8671033535c2e9ffc0a68010ae49ed5734c",
      "tree": "237e16dd5d999f6ac2de89ae2a1d35ae0d4d74fd",
      "parents": [
        "349124a00754129a5f1e43efa84733e364bf3749",
        "a385a53e659b35ebee604889e21c40e5c336941f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 11 12:38:23 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 11 12:38:23 2010 -0700"
      },
      "message": "Merge branch \u0027wimax-2.6.35.y\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax\n"
    },
    {
      "commit": "a385a53e659b35ebee604889e21c40e5c336941f",
      "tree": "b58b887077f435da273ee5922ed267f3357bdabd",
      "parents": [
        "3a24934f065d23145f1c9c70da9f630c7a37795f"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Fri Jun 11 11:51:20 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Fri Jun 11 11:51:20 2010 -0700"
      },
      "message": "wimax/i2400m: fix missing endian correction read in fw loader\n\ni2400m_fw_hdr_check() was accessing hardware field\nbcf_hdr-\u003emodule_type (little endian 32) without converting to host\nbyte sex.\n\nReported-by: Данилин Михаил \u003cmdanilin@nsg.net.ru\u003e\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "ba2d3587912f82d1ab4367975b1df460db60fb1e",
      "tree": "1e4e04caf23274bb4e39edbfc5713b4856326953",
      "parents": [
        "1273d97674a1782ff55b823aa6c40aea9b538aaf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 02 18:10:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 03 03:18:23 2010 -0700"
      },
      "message": "drivers/net: use __packed annotation\n\ncleanup patch.\n\nUse new __packed annotation in drivers/net/\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7466a38478a30d5f7248134c9bdcb4e1c01fe4d9",
      "tree": "636c0b584aa950ec02fde32393c8ce9f273c746f",
      "parents": [
        "a261af927df64523925c98369106de15af9d7b5e",
        "3a24934f065d23145f1c9c70da9f630c7a37795f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 25 14:05:24 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 25 14:05:24 2010 -0700"
      },
      "message": "Merge branch \u0027wimax-2.6.35.y\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax\n"
    },
    {
      "commit": "7a9b149212f3716c598afe973b6261fd58453b7a",
      "tree": "477716d84c71da124448b72278e98da28aadbd3d",
      "parents": [
        "3d62e3fdce8ef265a3706c52ae1ca6ab84e30f0e",
        "e26bcf37234c67624f62d9fc95f922b8dbda1363"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:26:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:26:12 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (229 commits)\n  USB: remove unused usb_buffer_alloc and usb_buffer_free macros\n  usb: musb: update gfp/slab.h includes\n  USB: ftdi_sio: fix legacy SIO-device header\n  USB: kl5usb105: reimplement using generic framework\n  USB: kl5usb105: minor clean ups\n  USB: kl5usb105: fix memory leak\n  USB: io_ti: use kfifo to implement write buffering\n  USB: io_ti: remove unsused private counter\n  USB: ti_usb: use kfifo to implement write buffering\n  USB: ir-usb: fix incorrect write-buffer length\n  USB: aircable: fix incorrect write-buffer length\n  USB: safe_serial: straighten out read processing\n  USB: safe_serial: reimplement read using generic framework\n  USB: safe_serial: reimplement write using generic framework\n  usb-storage: always print quirks\n  USB: usb-storage: trivial debug improvements\n  USB: oti6858: use port write fifo\n  USB: oti6858: use kfifo to implement write buffering\n  USB: cypress_m8: use kfifo to implement write buffering\n  USB: cypress_m8: remove unused drain define\n  ...\n\nFix up conflicts (due to usb_buffer_alloc/free renaming) in\n\tdrivers/input/tablet/acecad.c\n\tdrivers/input/tablet/kbtab.c\n\tdrivers/input/tablet/wacom_sys.c\n\tdrivers/media/video/gspca/gspca.c\n\tsound/usb/usbaudio.c\n"
    },
    {
      "commit": "beb7b04a09a9da8b12417f7b74fbcceedb087fc3",
      "tree": "f8444bf36675818b8cbd6c8578d1647bbcd9a5ea",
      "parents": [
        "da01c7a49bfc94dbfa66af5ca5e1063b10bc6a10"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Apr 30 12:14:04 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:40 2010 -0700"
      },
      "message": "USB: remove leftover references to udev-\u003eautosuspend_disabled\n\nThis patch (as1373) fixes a couple of drivers outside the USB\nsubtree.  Devices are now disabled or enabled for autosuspend by\ncalling a core function instead of setting a flag.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3a24934f065d23145f1c9c70da9f630c7a37795f",
      "tree": "0fac89df5f2749e21a45d2c07cf99d16e05ef2fc",
      "parents": [
        "0fb0a4f00aaf5de9f328273d7a46e3aa27dab496"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Thu May 20 12:27:58 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Thu May 20 12:27:58 2010 -0700"
      },
      "message": "wimax/i2400m: fix bad race condition check in RX path\n\nThe i2400m-\u003erx_roq data structure is protected against race conditions\nwith a reference count (i2400m-\u003erx_roq_refcount); the pointer can be\nread-referenced under the i2400m-\u003erx_lock spinlock.\n\nThe code in i2400m_rx_edata() wasn\u0027t properly following access\nprotocol, performing an invalid check on i2400m-\u003erx_roq (which is\ncleared to NULL when the refcount drops to zero). As such, it was\nmissing to detect when the data structure is no longer valid and\noopsing with a NULL pointer dereference.\n\nThis commit fixes said check by verifying, under the rx_lock spinlock,\nthat i2400m-\u003erx_roq is non-NULL and then increasing the reference\ncount before dropping the spinlock.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\n"
    },
    {
      "commit": "ee289b6440c3b0ccb9459495783e8c299bec6604",
      "tree": "6c3eeae205789e50657fd93853d7f3ce5802810c",
      "parents": [
        "5113fec0984276836cb6f0677f7cb53586ec3451"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 22:47:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 22:47:34 2010 -0700"
      },
      "message": "drivers/net: remove useless semicolons\n\nswitch and while statements don\u0027t need semicolons at end of statement\n\n[ Fixup minor conflicts with recent wimax merge... -DaveM ]\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1cdc5abf40c561982d2f7b06bcff17f9496309a5",
      "tree": "92c0ca1688929a6660dc41e97df203aef23b8c09",
      "parents": [
        "e0f43752a942b7be1bc06b9fd74e20ae337c1cca",
        "0fb0a4f00aaf5de9f328273d7a46e3aa27dab496"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:14:16 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:14:16 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax\n"
    },
    {
      "commit": "a4b770972b8f819e408d7cc3ae9637e15bff62f6",
      "tree": "62e3c413b084c106d750cf6cc0701709cde30100",
      "parents": [
        "21ce849ba5cc178740c6532ba3dded852296ad91"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri May 14 00:19:28 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 14 00:19:28 2010 -0700"
      },
      "message": "drivers/net: Remove unnecessary returns from void function()s\n\nThis patch removes from drivers/net/ all the unnecessary\nreturn; statements that precede the last closing brace of\nvoid functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nIt also does not remove null void functions with return.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nwith some cleanups by hand.\n\nCompile tested x86 allmodconfig only.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fb0a4f00aaf5de9f328273d7a46e3aa27dab496",
      "tree": "1cf97aecde69839042e6cf4bcdc561ca2a6418df",
      "parents": [
        "6c6706b330afbc0cb53e2af4d73022d1c1273f42"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Mon Oct 12 12:45:40 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 15:00:49 2010 -0700"
      },
      "message": "wimax/i2400m: driver defaults to firmware v1.5 for i6x60 devices\n\nFirmware is available in the linux-firmware package.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "6c6706b330afbc0cb53e2af4d73022d1c1273f42",
      "tree": "ccbdfba3a5580607e219e3503350df01542053da",
      "parents": [
        "9d7fdf1ba9d5b8963bf8ffe29eea17f508e81bde"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat Oct 03 16:55:11 2009 +0900"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 15:00:42 2010 -0700"
      },
      "message": "wimax/i2400m: driver defaults to firmware v1.5 for i5x50 devices\n\nUpdates the i2400m driver to default to firmware versions v1.5 for the\nIntel Wireless WiMAX Connection 5150 and 5350 devices.\n\nFirmware available in linux-firmware.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "9d7fdf1ba9d5b8963bf8ffe29eea17f508e81bde",
      "tree": "0b3b3573308ce69bedd3f9005a714d7c7bab9d48",
      "parents": [
        "3e02a06ae3dce2eb804bb4afadb7067c80d6c096"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Tue Nov 17 18:29:35 2009 -0800"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:10:24 2010 -0700"
      },
      "message": "wimax/i2400m: Move module params to other file so they can be static\n\nThis patch moves the module parameters to the file where they\ncan be avoided to be global and allow them to be static.\n\nThe module param : idle_mode_disabled and power_save_disabled\nare moved from  driver.c to control.c. Also these module parameters\nare declared to be static as they are not required to be global anymore.\nThe module param : rx_reorder_disabled is moved from driver.c file to\nrx.c file. Also this parameter is declated as static as it is not\nrequired to be global anymore.\n\nSigned-off-by: Prasanna S Panchamukhi\u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "3e02a06ae3dce2eb804bb4afadb7067c80d6c096",
      "tree": "c0b8c7ce06597a04d4521700cbf4d0412c9fb1b4",
      "parents": [
        "d3e56c0ad8a2dab7ffd6179b64f00702149e5c9a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Apr 22 11:46:32 2010 +0200"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:09:19 2010 -0700"
      },
      "message": "wimax: wimax_msg_alloc() returns ERR_PTR not null\n\nwimax_msg_alloc() returns an ERR_PTR and not null.  I changed it to test\nfor ERR_PTR instead of null.  I also added a check in front of the\nkfree() because kfree() can handle null but not ERR_PTR.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\n"
    },
    {
      "commit": "7ef9f9a4ee47b8d8ab9519647ba02fc700473be8",
      "tree": "42c4527bc421354024ac9c2c4c86608ebdab6fe2",
      "parents": [
        "8a3a1b65eeecd18357ac0cc941f43df153d4f271"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Tue Apr 13 16:36:33 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:09:04 2010 -0700"
      },
      "message": "wimax/i2400m: USB specific TX queue\u0027s minimum buffer room required for new message\n\nThis patch specifies the TX queue\u0027s buffer room required by the\nUSB bus driver while allocating header space for a new message.\nPlease refer the documentation in the code.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "8a3a1b65eeecd18357ac0cc941f43df153d4f271",
      "tree": "09366a2439b82cc92cd80bb11502c0cb891d2e1d",
      "parents": [
        "27502908866ba37d03594e7f7ee7b649cb007330"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Tue Apr 13 16:36:26 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:08:58 2010 -0700"
      },
      "message": "wimax/i2400m: SDIO specific TX queue\u0027s minimum buffer room for new message\n\nThis patch specifies the TX queue\u0027s minimum buffer room required to\naccommodate one smallest SDIO payload.\nPlease refer the documentation in the code.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "27502908866ba37d03594e7f7ee7b649cb007330",
      "tree": "f8f0518d5e2a8c08d0f2d14205415c81518f216b",
      "parents": [
        "0809a7bbe8fbcb4e899b0a3224d8461bd74987e0"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Tue Apr 13 16:36:19 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:08:50 2010 -0700"
      },
      "message": "wimax/i2400m: reserve additional space in the TX queue\u0027s buffer while allocating space for a new message header\n\nIncrease the possibilities of including at least one payload by reserving\nsome additional space in the TX queue while allocating TX queue\u0027s space\nfor new message header. Please refer the documentation in the code for details.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "0809a7bbe8fbcb4e899b0a3224d8461bd74987e0",
      "tree": "d8f733a1860c3ec93114ba7c07fdc56080fcbb40",
      "parents": [
        "d11a6e4495ee1fbb38b59bc88d49d050d3736929"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Tue Apr 13 16:36:10 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:08:43 2010 -0700"
      },
      "message": "wimax/i2400m: fix incorrect handling of type 2 and 3 RX messages\n\nAccording to Intel Wimax i3200, i5x50 and i6x60 device specification documents,\nthe host driver must not reset the device if the normalized sequence numbers\nare greater than 1023 for type 2 and type 3 RX messages.\nThis patch removes the code that incorrectly used to reset the device.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "d11a6e4495ee1fbb38b59bc88d49d050d3736929",
      "tree": "08afc7d7909dc451878f2ec04747071e2999e6e4",
      "parents": [
        "ded0fd62a8a7cb3b12bb007079bff2b858a12d2b"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Tue Apr 13 16:35:58 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:08:23 2010 -0700"
      },
      "message": "wimax i2400m: fix race condition while accessing rx_roq by using kref count\n\nThis patch fixes the race condition when one thread tries to destroy\nthe memory allocated for rx_roq, while another thread still happen\nto access rx_roq.\nSuch a race condition occurs when i2400m-sdio kernel module gets\nunloaded, destroying the memory allocated for rx_roq while rx_roq\nis accessed by i2400m_rx_edata(), as explained below:\n$thread1                                $thread2\n$ void i2400m_rx_edata()                $\n$Access rx_roq[]                        $\n$roq \u003d \u0026i2400m-\u003erx_roq[ro_cin]          $\n$ i2400m_roq_[reset/queue/update_ws]    $\n$                                       $ void i2400m_rx_release();\n$                                       $kfree(rx-\u003eroq);\n$                                       $rx-\u003eroq \u003d NULL;\n$Oops! rx_roq is NULL\n\nThis patch fixes the race condition using refcount approach.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "ded0fd62a8a7cb3b12bb007079bff2b858a12d2b",
      "tree": "2e0563bab8b5087550858f013818d66303e09380",
      "parents": [
        "85a19e07e30f67c517266cafe92b7bcd9b98966d"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Thu Apr 08 16:24:32 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:08:12 2010 -0700"
      },
      "message": "wimax/i2400m: increase tx queue length from 5 to 20 [v1]\n\nThis patch increases the tx_queue_len to 20 so as to\nminimize the jitter in the throughput.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "85a19e07e30f67c517266cafe92b7bcd9b98966d",
      "tree": "e5bc9d14fecfd4dd6f8cfc297ebe689cec4eaebb",
      "parents": [
        "9e6e3bd52b0f77ca5cc385892c14ff8ba5ecfa67"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Thu Apr 08 16:24:31 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:06:36 2010 -0700"
      },
      "message": "wimax/i2400m: fix system freeze caused by an infinite loop [v1]\n\nThis patch fixes an infinite loop caused by i2400m_tx_fifo_push() due\nto a corner case where there is no tail space in the TX FIFO.\nPlease refer the documentation in the code for details.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "9e6e3bd52b0f77ca5cc385892c14ff8ba5ecfa67",
      "tree": "21d9c92e7bab1afa0b3da9f98335d45915f88aa3",
      "parents": [
        "718e94907d79e74bbc7cfdb3cda2266079c5e993"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Thu Apr 08 16:24:30 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:06:29 2010 -0700"
      },
      "message": "wimax/i2400m: modify i2400m_tx_fifo_push() to check for head room space in the TX FIFO [v1]\n\nThis fixes i2400m_tx_fifo_push(); the check for having enough\nspace in the TX FIFO\u0027s tail was obscure and broken in certain\ncorner cases. The new check works in all cases and is way\nclearer. Please refer the documentation in the code for details.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "718e94907d79e74bbc7cfdb3cda2266079c5e993",
      "tree": "d4204aa311601871d3a66d28c185dedfb28bddc7",
      "parents": [
        "a40242f2cde38ccb04d4c35cad66aab3c047fa6a"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Thu Apr 08 16:24:29 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:06:20 2010 -0700"
      },
      "message": "wimax/i2400m: fix BUILD_BUG_ON() to use the maximum message size constant [v1]\n\nThe older method of computing the maximum PDU size relied\non a method that doesn\u0027t work when we prop the maximum\nnumber of payloads up to the physical limit, and thus we kill\nthe whole computation and just verify that the constants are\ncongruent.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "a40242f2cde38ccb04d4c35cad66aab3c047fa6a",
      "tree": "d92b9bf7a6dac8e364c6384335ed39e33408933e",
      "parents": [
        "e6dd789af1823908ed3ccda26bf07faf5970bce1"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Thu Apr 08 16:24:28 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:06:12 2010 -0700"
      },
      "message": "wimax/i2400m: limit the message size upto 16KiB [v1]\n\nAccording to Intel Wimax i3200, i5x50 and i6x50 specification\ndocuments, the maximum size of each TX message can be upto 16KiB.\nThis patch modifies the i2400m_tx() routine to check that the\nmessage size does not exceed the 16KiB limit.\nPlease refer the documentation in the code for details.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "e6dd789af1823908ed3ccda26bf07faf5970bce1",
      "tree": "71b2f5ef9162a3077eb2c632a0a95e7593de9975",
      "parents": [
        "d94401742dc662747db5bb9e444d353a4feba018"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Thu Apr 08 16:24:27 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:06:01 2010 -0700"
      },
      "message": "wimax/i2400m: increase the maximum number of payloads per message to 60 [v1]\n\nAccording to Intel Wimax i3200, i5x50 and i6x50 device specification\ndocuments, the maximum number of payloads per message can be up to 60.\n\nIncreasing the number of payloads to 60 per message helps to\naccommodate smaller payloads in a single transaction. This patch\nincreases the maximum number of payloads from 12 to 60 per message.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "d94401742dc662747db5bb9e444d353a4feba018",
      "tree": "1fa229f7d23b09b7b4c4e0262ed8e4e232876c26",
      "parents": [
        "2354161dd33b204d36caa0bc48c95cc6c1a984fb"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Fri Apr 23 17:19:06 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:05:55 2010 -0700"
      },
      "message": "wimax/i2400m: Reset the TX FIFO indices when allocating the TX FIFO in tx_setup()\n\nThis patch makes sure whenever tx_setup() is invoked during driver\ninitialization or device reset where TX FIFO is released and re-allocated,\nthe indices tx_in, tx_out, tx_msg_size, tx_sequence, tx_msg are properly\ninitialized.\n\nWhen a device reset happens and the TX FIFO is released/re-allocated,\na new block of memory may be allocated for the TX FIFO, therefore tx_msg\nshould be cleared so that no any TX threads (tx_worker, tx) would access\nto the out-of-date addresses.\n\nAlso, the TX threads use tx_in and tx_out to decide where to put the new\nhost-to-device messages and from where to copy them to the device HW FIFO,\nthese indices have to be cleared so after the TX FIFO is re-allocated during\nthe reset, the indices both refer to the head of the FIFO, ie. a new start.\nThe same rational applies to tx_msg_size and tx_sequence.\n\nTo protect the indices from being accessed by multiple threads simultaneously,\nthe lock tx_lock has to be obtained before the initializations and released\nafterwards.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\n"
    },
    {
      "commit": "2354161dd33b204d36caa0bc48c95cc6c1a984fb",
      "tree": "7d1606bfef35ae72dfb823be860ed6b67e9c67ba",
      "parents": [
        "599e59538448ee49d5470f226bb191b2f78aa3a2"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Thu Apr 08 16:03:12 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:05:47 2010 -0700"
      },
      "message": "wimax/i2400m: Correct the error path handlers order in i2400m_post_reset()\n\nWhen bus_setup fails in i2400m_post_reset(), it falls to the error path handler\n\"error_bus_setup:\" which includes unlock the mutext. However, we didn\u0027t ever\ntry to the obtain the lock when running bus_setup.\n\nThe patch is to fix the misplaced error path handler \"error_bus_setup:\".\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\n"
    },
    {
      "commit": "599e59538448ee49d5470f226bb191b2f78aa3a2",
      "tree": "03c8c92a907c19e28bb5f9eef0a1121081515b31",
      "parents": [
        "f4e413458104210bc29aa5c437882c68b4b20100"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Wed Apr 07 20:07:47 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:05:39 2010 -0700"
      },
      "message": "wimax/i2400m: add the error recovery mechanism on TX path\n\nThis patch adds an error recovery mechanism on TX path.\nThe intention is to bring back the device to some known state\nwhenever TX sees -110 (-ETIMEOUT) on copying the data to the HW FIFO.\n\nThe TX failure could mean a device bus stuck or function stuck, so\nthe current error recovery implementation is to trigger a bus reset\nand expect this can bring back the device.\n\nSince the TX work is done in a thread context, there may be a queue of TX works\nalready that all hit the -ETIMEOUT error condition because the device has\nsomewhat stuck already. We don\u0027t want any consecutive bus resets simply because\nmultiple TX works in the queue all hit the same device erratum, the flag\n\"error_recovery\" is introduced to denote if we are ready for taking any\nerror recovery. See @error_recovery doc in i2400m.h.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\n"
    },
    {
      "commit": "f4e413458104210bc29aa5c437882c68b4b20100",
      "tree": "72508e9a5d3620986120304db7fe78f0326b0743",
      "parents": [
        "49d72df3f6cd63b49528306a2577ae7a6a0e9d6b"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Wed Apr 07 19:42:42 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:05:30 2010 -0700"
      },
      "message": "wimax/i2400m: fix for missed reset events if triggered by dev_reset_handle()\n\nThe problem is only seen on SDIO interface since on USB, a bus reset would\nreally re-probe the driver, but on SDIO interface, a bus reset will not\nre-enumerate the SDIO bus, so no driver re-probe is happening. Therefore,\non SDIO interface, the reset event should be still detected and handled by\ndev_reset_handle().\n\nProblem description:\nWhenever a reboot barker is received during operational mode (i2400m-\u003eboot_mode \u003d\u003d 0),\ndev_reset_handle() is invoked to handle that function reset event.\ndev_reset_handle() then sets the flag i2400m-\u003eboot_mode to 1 indicating the device is\nback to bootmode before proceeding to dev_stop() and dev_start().\nIf dev_start() returns failure, a bus reset is triggered by dev_reset_handle().\n\nThe flag i2400m-\u003eboot_mode then remains 1 when the second reboot barker arrives.\nHowever the interrupt service routine i2400ms_rx() instead of invoking dev_reset_handle()\nto handle that reset event, it filters out that boot event to bootmode because it sees\nthe flag i2400m-\u003eboot_mode equal to 1.\n\nThe fix:\nMaintain the flag i2400m-\u003eboot_mode within dev_reset_handle() and set the flag\ni2400m-\u003eboot_mode to 1 when entering dev_reset_handle(). It remains 1\nuntil the dev_reset_handle() issues a bus reset. ie: the bus reset is\ntaking place just like it happens for the first time during operational mode.\n\nTo denote the actual device state and the state we expect, a flag i2400m-\u003ealive\nis introduced in addition to the existing flag i2400m-\u003eupdown.\nIt\u0027s maintained with the same way for i2400m-\u003eupdown but instead of reflecting\nthe actual state like i2400m-\u003eupdown does, i2400m-\u003ealive maintains the state\nwe expect. i2400m-\u003ealive is set 1 just like whenever i2400m-\u003eupdown is set 1.\nYet i2400m-\u003ealive remains 1 since we expect the device to be up all the time\nuntil the driver is removed. See the doc for @alive in i2400m.h.\n\nAn enumeration I2400M_BUS_RESET_RETRIES is added to define the maximum number of\nbus resets that a device reboot can retry.\n\nA counter i2400m-\u003ebus_reset_retries is added to track how many bus resets\nhave been retried in one device reboot. If I2400M_BUS_RESET_RETRIES bus resets\nwere retried in this boot, we give up any further retrying so the device would enter\nlow power state. The counter i2400m-\u003ebus_reset_retries is incremented whenever\ndev_reset_handle() is issuing a bus reset and is cleared to 0 when dev_start() is\nsuccessfully done, ie: a successful reboot.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\n"
    },
    {
      "commit": "49d72df3f6cd63b49528306a2577ae7a6a0e9d6b",
      "tree": "82b6e254c2550f43108c72bea745df9631355fae",
      "parents": [
        "f22cf689a6353f072bca15d0a26f870e62dfacf8"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Tue Mar 30 19:19:37 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:04:54 2010 -0700"
      },
      "message": "wimax/i2400m: correct the error path handlers in dev_start()\n\nThis fix is to correct order of the handlers in the error path\nof dev_start(). When i2400m_firmware_check fails, all the works done\nbefore it should be released or cleared.\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\n"
    },
    {
      "commit": "f22cf689a6353f072bca15d0a26f870e62dfacf8",
      "tree": "5a6a4907184bfa09aac6727030a501c3b8447a38",
      "parents": [
        "570eb0ea65db625e0b11ca97f4ae857bc1193250"
      ],
      "author": {
        "name": "Cindy H Kao",
        "email": "cindy.h.kao@intel.com",
        "time": "Sat Jan 30 01:26:54 2010 -0800"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:04:46 2010 -0700"
      },
      "message": "wimax/i2400m: fix the race condition for accessing TX queue\n\nThe race condition happens when the TX queue is accessed by\nthe TX work while the same TX queue is being destroyed because\na bus reset is triggered either by debugfs entry or simply\nby failing waking up the device from WiMAX IDLE mode.\n\nThis fix is to prevent the TX queue from being accessed by\nmultiple threads\n\nSigned-off-by: Cindy H Kao \u003ccindy.h.kao@intel.com\u003e\n"
    },
    {
      "commit": "570eb0ea65db625e0b11ca97f4ae857bc1193250",
      "tree": "15f97dda1d474fe08beb3013c7d51701e70e1531",
      "parents": [
        "080de04e6229c49be41b811f5d5429afd6ed736d"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Tue Jan 26 19:44:45 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:03:52 2010 -0700"
      },
      "message": "wimax/i2400m: fix insufficient size of Tx buffer for 12 payload of 1400 MTU.\n\nThis patch increases the Tx buffer size so as to accommodate 12 payloads\nof 1408 (1400 MTU 16 bytes aligned). Currently Tx buffer is 32 KiB which\nis insufficient to accommodate 12 payloads of 1408 size.\nThis patch\n - increases I2400M_TX_BUF_SIZE from 32KiB to 64KiB\n - Adds a BUILD_BUG_ON if the calculated buffer size based\n   on the given MTU exceeds the I2400M_TX_BUF_SIZE.\n\nBelow is how we calculate the size of the Tx buffer.\nPayload + 4 bytes prefix for each payload (1400 MTU 16 bytes boundary aligned)\n\t\t\u003d (1408 + sizeof(struct i2400m_pl_data_hdr)) * I2400M_TX_PLD_MAX\nAdding 16 byte message header \u003d + sizeof(struct i2400m_msg_hdr)\nAligning to 256 byte boundary\nTotal Tx buffer \u003d (((((1408 + sizeof(struct i2400m_pl_data_hdr))\n\t\t* I2400M_TX_PLD_MAX )+ sizeof(struct i2400m_msg_hdr))\n\t\t/ 256) + 1) * 256 * 2\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "080de04e6229c49be41b811f5d5429afd6ed736d",
      "tree": "f3c716dfcba9f463e57299ced80bcd1a87e4fffa",
      "parents": [
        "4818d14de36228a749f714b450a85c1b35542e6f"
      ],
      "author": {
        "name": "Prasanna S. Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Tue Jan 26 19:44:44 2010 -0700"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:03:45 2010 -0700"
      },
      "message": "wimax/i2400m: move I2400M_MAX_MTU enum from netdev.c to i2400m.h\n\nThis patch moves I2400M_MAX_MTU enum defined in netdev.c to i2400m.h.\nFollow up changes will make use of this value in other location,\nthus requiring it to be moved to a global header file i2400m.h.\n\nSigned-off-by: Prasanna S. Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\n"
    },
    {
      "commit": "4818d14de36228a749f714b450a85c1b35542e6f",
      "tree": "edafd028ff6c03ce30df6a3480898b690abd5a40",
      "parents": [
        "2b0b05ddc04b6d45e71cd36405df512075786f1e"
      ],
      "author": {
        "name": "Prasanna S.Panchamukhi",
        "email": "prasannax.s.panchamukhi@intel.com",
        "time": "Mon Jan 18 14:28:23 2010 -0800"
      },
      "committer": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Tue May 11 14:03:32 2010 -0700"
      },
      "message": "wimax/i2400m: fix incorrect return -ESHUTDOWN when there is no Tx buffer available\n\ni2400m_tx() routine was returning -ESHUTDOWN even when there was no Tx buffer\navailable. This patch fixes the i2400m_tx() to return -ESHUTDOWN only when\nthe device is down(i2400m-\u003etx_buf is NULL) and also to return -ENOSPC\nwhen there is no Tx buffer. Error seen in the kernel log.\nkernel: i2400m_sdio mmc0:0001:1: can\u0027t send message 0x5606: -108\nkernel: i2400m_sdio mmc0:0001:1: Failed to issue \u0027Enter power save\u0027command: -108\n\nSigned-off-by: Prasanna S.Panchamukhi \u003cprasannax.s.panchamukhi@intel.com\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "2381a55c88453d3f29fe62d235579a05fc20b7b3",
      "tree": "b962ee6d3f5260622504433ef6a485703d3da8dd",
      "parents": [
        "d6dbee861386cd3f4cee62bcf28597e63e251e0c"
      ],
      "author": {
        "name": "Frans Pop",
        "email": "elendil@planet.nl",
        "time": "Wed Mar 24 07:57:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 24 14:10:38 2010 -0700"
      },
      "message": "net/various: remove trailing space in messages\n\nSigned-off-by: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "3ad2f3fbb961429d2aa627465ae4829758bc7e07",
      "tree": "f365c513e8f5b477a61336a600ff54f32b7ad6e1",
      "parents": [
        "1537a3638cbf741d3826c1002026cce487a6bee0"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Feb 03 08:01:28 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 09 11:13:56 2010 +0100"
      },
      "message": "tree-wide: Assorted spelling fixes\n\nIn particular, several occurances of funny versions of \u0027success\u0027,\n\u0027unknown\u0027, \u0027therefore\u0027, \u0027acknowledge\u0027, \u0027argument\u0027, \u0027achieve\u0027, \u0027address\u0027,\n\u0027beginning\u0027, \u0027desirable\u0027, \u0027separate\u0027 and \u0027necessary\u0027 are fixed.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "3ef6129e57b04c116b1907b72c7a20720e6dde75"
}
