)]}'
{
  "log": [
    {
      "commit": "1a79d1c37178935a3092f73c8832933e9fed1f66",
      "tree": "298b84af82d956d0563aac3f268e9beb8e71f80a",
      "parents": [
        "1d92cfd54a51ff1b9593019fdde56793b66ba6a9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Jun 02 10:59:02 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 04 08:06:02 2008 -0700"
      },
      "message": "s2io iomem annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6399e7acbf9193c7d48827329ca592a1c8dc9e69",
      "tree": "1c4551f5745726f67516a39fd1ec3c2667364dc2",
      "parents": [
        "fa4144b758d58341d4e082ac2af259e97fbcbeee"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Jun 02 10:59:02 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 04 08:06:01 2008 -0700"
      },
      "message": "isp1760-if iomem annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa4144b758d58341d4e082ac2af259e97fbcbeee",
      "tree": "92e32411121076f717183c8ef7ba0ce2afe8ba3f",
      "parents": [
        "76e6f2526ff69eba466f583d94beb7cf6b0bddd6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Jun 02 10:59:02 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 04 08:06:01 2008 -0700"
      },
      "message": "cdc-wdm endianness fixes\n\n* wMaxPacketSize is le16; copying it to a field of local structure and then\n  using that field as host-endian (size of object to be allocated) is broken.\n* bMaxPacketSize0 is 8-bit; feeding it to le16_to_cpu() is bogus and since the\n  result is used as host-endian, it\u0027s not even misspelled cpu_to_le16().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76e6f2526ff69eba466f583d94beb7cf6b0bddd6",
      "tree": "a2d7603ad4f9a2dbcba789a305717ce6c4844cc9",
      "parents": [
        "a064d5bdd0c9602e4cd930ad949392640b37dda7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Jun 02 10:59:02 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 04 08:06:01 2008 -0700"
      },
      "message": "usb/c67x00 endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a064d5bdd0c9602e4cd930ad949392640b37dda7",
      "tree": "5904ee2b76da6d159fcdf3f4d23faa9fca8eb99d",
      "parents": [
        "64e9159f5d2c4edf5fa6425031e556f8fddaf7e6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Jun 02 10:59:02 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 04 08:06:01 2008 -0700"
      },
      "message": "ibmaem endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64e9159f5d2c4edf5fa6425031e556f8fddaf7e6",
      "tree": "77989ed8da4c26be343c1e3e065cdfbb152a44cd",
      "parents": [
        "4b34fe156455d26ee6ed67b61539f136bf4e439c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Jun 03 15:18:54 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 03 08:20:17 2008 -0700"
      },
      "message": "serial_core: uart_set_ldisc infrastructure\n\nThe tty layer provides a callback that is used when the line discipline\nis changed. Some hardware uses this to configure hardware specific\nfeatures such as IrDA mode on serial ports. Unfortunately the serial\nlayer does not provide this feature or pass it down to drivers.\n\nBlackfin used to hack around this by rewriting the tty ops, but those are\nnow properly shared and const so the hack fails. Instead provide the\nproper operations.\n\nThis change plus a follow up from the Blackfin guys is needed to avoid\nblackfin losing features in this release.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b34fe156455d26ee6ed67b61539f136bf4e439c",
      "tree": "901d16b111b1cbb2b7eaed549e54b548643e8a45",
      "parents": [
        "c3b25b32e8bef526cca748e1ba023c6bdd705a99"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Mon Jun 02 16:42:49 2008 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 02 15:59:06 2008 -0700"
      },
      "message": "PNP: mark resources that conflict with PCI devices \"disabled\"\n\nBoth the PNP/PCI conflict detection quirk and the PNP system\ndriver must use the same mechanism to mark resources as disabled.\n\nI think it\u0027s best to keep the resource and to keep the type bit\n(IORESOURCE_MEM, etc), so that we match the list from firmware\nas closely as possible.\n\nFixes this regression from 2.6.25: http://lkml.org/lkml/2008/6/1/82\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nTested-by: Avuton Olrich \u003cavuton@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00e98a9992641a14ace0bbc2dfcbc4e856ac3fd3",
      "tree": "69cc9c6cd24175d704de5a50db14cdb05df3e609",
      "parents": [
        "f365ad5fc001cbd02968a376e0aecffe52ce79e1",
        "a4ed1e41a734d77c9a83a88a8736e19b68e6a2a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 02 15:25:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 02 15:25:27 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:\n  8250 Serial Driver: revert extra IRQ flag definition patch\n  Blackfin arch: update anomaly headers from toolchain trunk\n  Blackfin arch: Remove bad and usless code\n  Blackfin arch: Fix bug - set corret SSEL and IRQ to enable AD7877 on BF527\n  Blackfin arch: Fix typo. it should be _outsw_8\n  Blackfin arch: Cleanup no functional changes\n"
    },
    {
      "commit": "f365ad5fc001cbd02968a376e0aecffe52ce79e1",
      "tree": "8677f1409e36c30f0f105249a63bf11d3993f32f",
      "parents": [
        "61ac7bf538db2044d0238fcd87b3d9df59294bf2",
        "9c8b28c2ef532c2cf32b59aaa0bc07eb3b866ef7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 02 15:25:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 02 15:25:03 2008 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:\n  [POWERPC] Fix DMA nodes in the MPC8610 HPCD device tree\n  [POWERPC] Export empty_zero_page and copy_page in arch/ppc\n  [POWERPC] Add \"memory\" clobber to MMIO accessors\n  [POWERPC] pasemi: update pasemi_defconfig, enable electra_cf\n  electra_cf: Add MODULE_DEVICE_TABLE()\n"
    },
    {
      "commit": "a4ed1e41a734d77c9a83a88a8736e19b68e6a2a0",
      "tree": "d12b5607a64d198202af9acc0747d9c8dae98583",
      "parents": [
        "a70ce072b3883e431575449f3e294c27235590e5"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "cooloney@kernel.org",
        "time": "Sat May 31 16:10:04 2008 +0800"
      },
      "committer": {
        "name": "Bryan Wu",
        "email": "cooloney@kernel.org",
        "time": "Sat May 31 16:10:04 2008 +0800"
      },
      "message": "8250 Serial Driver: revert extra IRQ flag definition patch\n\nAs Russell pointed out, original patch will break some serial configurations\nbecause of the dependency of the \u003casm/serial.h\u003e header file.\n\nRevert it first and try to find out other solution later\n\nCc: Javier Herrero \u003cjherrero@hvsistemas.es\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Russell King \u003crmk+lkml@arm.linux.org.uk\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\n\n"
    },
    {
      "commit": "61ac7bf538db2044d0238fcd87b3d9df59294bf2",
      "tree": "ff7d0b03bc0a78d8b926cba3e4cad7315b074546",
      "parents": [
        "14d03fd98e076c6e60e1085a962410dc4d70ab59",
        "3072c379bccfa2844e33103ed9ff530780e660ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 15:39:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 15:39:05 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  ahci: change the Device IDs of nvidia MCP7B AHCI controller in ahci.c\n  [libata] sata_fsl: Fix broken driver, add port multiplier (PMP) support\n  libata: SRST can\u0027t be trusted on PMP sil3726\n  libata: fix libata-scsi kernel-doc notation\n  ata: Convert to static DEFINE_SPINLOCK(lock)\n  ata_piix: fix macbook ich8m problems\n  sata_mv: implement SoC guideline SATA_S11\n  sata_mv: workaround for 60x1 errata sata13\n  sata_mv: nuke unreleased GenIIe revisions\n  sata_mv: PHY_MODEx errata fixes\n  sata_mv: move SOC_FLAG to hpriv\n"
    },
    {
      "commit": "ab8cd81830fef799177740d5ab709c0341e9ba5c",
      "tree": "40c27d1cd27a436ec195174a105fa27c223ed6dd",
      "parents": [
        "f8356ed00ebcdc2f209504c02b4ab8ba9a8a7ebe",
        "20887611523e749d99cc7d64ff6c97d27529fbae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 10:20:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 10:20:03 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  lguest: notify on empty\n  virtio: force callback on empty.\n  virtio_blk: fix endianess annotations\n  virtio_config: fix len calculation of config elements\n  virtio_net: another race with virtio_net and enable_cb\n  virtio: An entropy device, as suggested by hpa.\n  virtio_blk: allow read-only disks\n  lguest: fix ugly \u003cNULL\u003e in /proc/interrupts\n  virtio: set device index in common code.\n  virtio: virtio_pci should not set bus_id.\n  virtio: bus_id for devices should contain \u0027virtio\u0027\n  Fix crash in virtio_blk during modprobe ; rmmod ; modprobe\n  lguest: use ioremap_cache, not ioremap\n"
    },
    {
      "commit": "f8356ed00ebcdc2f209504c02b4ab8ba9a8a7ebe",
      "tree": "9191d024e747919eb05b83662b7f40f77d76dbe7",
      "parents": [
        "7536d7be7b718f8c5834cbcb7601816562e1b805",
        "a9b841e1a336822a25899ec8cdf70a55a6696ae7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 10:18:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 10:18:02 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: fix rpadlpar pci hotplug driver sysfs usage\n"
    },
    {
      "commit": "7536d7be7b718f8c5834cbcb7601816562e1b805",
      "tree": "b9dd93b06bc2542465f67cf73851941f1bbc641b",
      "parents": [
        "57f50ca127a3189566af0d6378394c75a26f0f7e",
        "5adad0133907790c50283bf03271d920d6897043"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 10:17:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 10:17:19 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: rename SW_RADIO to SW_RFKILL_ALL\n  Input: gtco - fix double kfree in error handling path\n  Input: pxa27x_keypad - miscellaneous fixes\n  Input: atkbd - mark keyboard as disabled when suspending/unloading\n  Input: apanel - remove duplicate include\n  Input: wm9713 - support five wire panels\n  Input: wm97xx-core - fix race on PHY init\n  Input: wm97xx-core - fix driver name\n  Input: wm97xx-core - report a phys for WM97xx touchscreens\n  Input: i8042 - make sure Dritek quirk is invoked at resume\n  Input: i8042 - add Dritek quirk for Acer TravelMate 660\n"
    },
    {
      "commit": "57f50ca127a3189566af0d6378394c75a26f0f7e",
      "tree": "179b335caca8760298299d95f3d50dc41fc48e05",
      "parents": [
        "1beee8dc8cf58e3f605bd7b34d7a39939be7d8d2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 30 17:02:50 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 10:16:58 2008 -0700"
      },
      "message": "drivers/watchdog/geodewdt.c: build fix\n\n* Wim Van Sebroeck \u003cwim@iguana.be\u003e wrote:\n\n\u003e Author: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\n\u003e Date:   Mon Jan 21 10:07:00 2008 -0700\n\u003e\n\u003e     [WATCHDOG] Add a watchdog driver based on the CS5535/CS5536 MFGPT timers\n\n-tip testing found the following build failure on latest -git:\n\n  drivers/watchdog/geodewdt.c: In function \u0027geodewdt_probe\u0027:\n  drivers/watchdog/geodewdt.c:225: error: too many arguments to function \u0027geode_mfgpt_alloc_timer\u0027\n  make[1]: *** [drivers/watchdog/geodewdt.o] Error 1\n  make: *** [drivers/watchdog/geodewdt.o] Error 2\n\nwith this config:\n\n  http://redhat.com/~mingo/misc/config-Fri_May_30_15_19_52_CEST_2008.bad\n\nfind the fix below.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9b841e1a336822a25899ec8cdf70a55a6696ae7",
      "tree": "03f122a9861a845be096990e42bb98b50f4fd55b",
      "parents": [
        "0a2ce2ffc358da96792d514c1024b72c52be9cc1"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri May 30 13:39:12 2008 +1000"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri May 30 09:50:46 2008 -0700"
      },
      "message": "PCI: fix rpadlpar pci hotplug driver sysfs usage\n\nWhen Greg \"fixed\" the sysfs usage of that driver a while back, he seem\nto have introduced a bug where the quotes are added around the name of\nour specific sysfs files, thus breaking the user space tool.\n\nThis fixes it. Tested DLPAR operations on a POWER6 machine successfully.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3072c379bccfa2844e33103ed9ff530780e660ea",
      "tree": "9fb6f4e42371a4e5b99ac143b6127d2dd95a9d9d",
      "parents": [
        "034d8e8f273fcb02bebd6a62d8023ffa409fe92f"
      ],
      "author": {
        "name": "peerchen",
        "email": "peerchen@gmail.com",
        "time": "Mon May 19 14:44:57 2008 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:40:28 2008 -0400"
      },
      "message": "ahci: change the Device IDs of nvidia MCP7B AHCI controller in ahci.c\n\nChange the partial Device IDs of nvidia MCP7B AHCI controller in ahci.c,\nas the actual PCI IDs deployed in the field differed from the forecasted ones\npreemptively placed in the driver.\n\nSigned-off-by: Peer Chen \u003cpeerchen@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "034d8e8f273fcb02bebd6a62d8023ffa409fe92f",
      "tree": "7dcc173f40b8b4a9e2a2337aa2e9e1072511eb45",
      "parents": [
        "19ef9d5e45ce805700f34c248a71a511877b8a5d"
      ],
      "author": {
        "name": "Ashish Kalra",
        "email": "ashish.kalra@freescale.com",
        "time": "Tue May 20 00:19:45 2008 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:39:44 2008 -0400"
      },
      "message": "[libata] sata_fsl: Fix broken driver, add port multiplier (PMP) support\n\nThe following commit (4c9bf4e799ce06a7378f1196587084802a414c03):\nlibata: replace tf_read with qc_fill_rtf for non-SFF drivers\n\nBroke the sata_fsl.c driver in 2.6.26-rc.  I know the following patch fixes\nthe issue, it clearly also adds port multipler support.  The current\n2.6.26-rc driver is broken.\n\nOn boot with debug enabled we get something like (w/o this patch):\n\nspurious interrupt!!, CC \u003d 0x1\ninterrupt status 0x1\nxx_scr_read, reg_in \u003d 1\nspurious interrupt!!, CC \u003d 0x1\ninterrupt status 0x1\nxx_scr_read, reg_in \u003d 1\nspurious interrupt!!, CC \u003d 0x1\ninterrupt status 0x1\nxx_scr_read, reg_in \u003d 1\n\n.. continues for ever.\n\nThis change fixes this as a side effect of adding port multiplier support.\n\nSigned-off-by: Ashish Kalra \u003cashish.kalra@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "19ef9d5e45ce805700f34c248a71a511877b8a5d",
      "tree": "4ee73bc26ce18704fc98e14393b899980b9a1ffe",
      "parents": [
        "ec2a20e61974f7c9ebe6dd99ac479ec309a750bc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 21 14:11:24 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:56 2008 -0400"
      },
      "message": "libata: SRST can\u0027t be trusted on PMP sil3726\n\nAs in sil4726, SRST can\u0027t be trusted on sil3726 causing detection\nproblems under certain configuraitons.  I thought it was from the\nConfig Disk device but apparently not.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "ec2a20e61974f7c9ebe6dd99ac479ec309a750bc",
      "tree": "c31c6ed4cf84b729bc85eff68c326c95b3355c1f",
      "parents": [
        "2da676594a73825f10d2a99358cc7465119684f9"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Apr 30 12:57:00 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:50 2008 -0400"
      },
      "message": "libata: fix libata-scsi kernel-doc notation\n\nFix libata-scsi kernel-doc notation:\n\nWarning(linux-2.6.25-git15//drivers/ata/libata-scsi.c:1659): No description found for parameter \u0027cmd\u0027\nWarning(linux-2.6.25-git15//drivers/ata/libata-scsi.c:1971): No description found for parameter \u0027buf\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "2da676594a73825f10d2a99358cc7465119684f9",
      "tree": "b5e928464305e8931fe711579b193c40bb22c8af",
      "parents": [
        "23cf296e3b047da46112eb6b4dc89917c93c8f19"
      ],
      "author": {
        "name": "Pradeep Singh Rautela",
        "email": "rautelap@gmail.com",
        "time": "Thu May 29 23:28:14 2008 +0530"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:43 2008 -0400"
      },
      "message": "ata: Convert to static DEFINE_SPINLOCK(lock)\n\nReplace deprecated static spinlock_t instance to static DEFINE_SPINLOCK(lock).\n\nSigned-off-by: Pradeep Singh \u003crautelap@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "23cf296e3b047da46112eb6b4dc89917c93c8f19",
      "tree": "6b3a9089b09e3e6bd835d7e3855911df57417921",
      "parents": [
        "0388a8c0d54aa039758a8eca68d82325a563f8db"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu May 29 22:04:22 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:29 2008 -0400"
      },
      "message": "ata_piix: fix macbook ich8m problems\n\nICH8M on macbooks are peculiar in that some of them lock up when the\nsecond port is enabled, some return bogus values on SIDPR access while\nyet others hang on SIDPR access.  Also, the ich8m_apple_sata entry was\nwrongly added below generic ich8m entry making it virtually useless.\n\nThis patch works around macbook ich8m problems by\n\n* moving ich8m_apple_sata entry above generic ich8m entry\n* dropping PIIX_FLAG_SIDPR from ich8m_apple_sata\n* adding subsystem 106b:00a1 as ich8m_apple_sata\n\nReported and tested by MATSUBAYASHI.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: MATSUBAYASHI \u0027Shaolin\u0027 Kohji \u003cshaolin@rhythmaning.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "0388a8c0d54aa039758a8eca68d82325a563f8db",
      "tree": "a31e9f2daefd2231dc1807961f6c97bc561abbc2",
      "parents": [
        "b406c7a6655da7a2fcd9f72e41262f93ff707748"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Wed May 28 13:41:52 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:26 2008 -0400"
      },
      "message": "sata_mv: implement SoC guideline SATA_S11\n\nThe 5182 System-On-Chip (SOC) variant wants certain lower\nbits to be cleared on any write to the PHY_MODE3 register.\n\nIf/when support is added for other SOC variants, we\u0027ll need\nsome way to uniquely identify the 5182, and not perform this\nworkaround for the others.\n\nBut for now, it is the only SOC variant we support here.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b406c7a6655da7a2fcd9f72e41262f93ff707748",
      "tree": "a68f3694ad4faf542c251e1553a045ebb0574b3c",
      "parents": [
        "5cf73bfb061552aa18d816d2859409be9ace5306"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Wed May 28 12:01:12 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:24 2008 -0400"
      },
      "message": "sata_mv: workaround for 60x1 errata sata13\n\nThe \"B2\" variant of the 6041/6081 (genII) chips requires\nthat the PHY_MODE3 register be rewritten after any write\nto PHY_MODE4.\n\nThis fixes a regression introduced by an earlier patch.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "5cf73bfb061552aa18d816d2859409be9ace5306",
      "tree": "cb3afa056f6aabb69a4cd1e6c22448c5d91733ab",
      "parents": [
        "8c30a8b9b574cf6c51e207464b852a6f559da153"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Tue May 27 17:58:56 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:23 2008 -0400"
      },
      "message": "sata_mv: nuke unreleased GenIIe revisions\n\nThe only public release of the 6042/7042 chips was/is revision \"B0\".\nRemove code that attempted to deal with earlier, non-released revs.\nThis matches the logic of the current Marvell \"proprietary\" driver.\n\nAlso, bump up the sata_mv version number, to reflect this batch of erratas.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "8c30a8b9b574cf6c51e207464b852a6f559da153",
      "tree": "7bb108b4a83746e9d9d0102df692152f43d7d257",
      "parents": [
        "1f39847255a02c69190ae30c33b8ccf4c10840df"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Tue May 27 17:56:31 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:21 2008 -0400"
      },
      "message": "sata_mv: PHY_MODEx errata fixes\n\nFix and update the errata handling for the PHY_MODEx registers.\nThis improves receiver noise tolerance, among other things.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "1f39847255a02c69190ae30c33b8ccf4c10840df",
      "tree": "72bc7993a8c1591481972bde316519cafd945907",
      "parents": [
        "1beee8dc8cf58e3f605bd7b34d7a39939be7d8d2"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Tue May 27 17:54:48 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:20 2008 -0400"
      },
      "message": "sata_mv: move SOC_FLAG to hpriv\n\nConvert the System-on-Chip flag from a host flag to an hpriv flag,\nfor better consistency with other chip-rev flags, and for easier use\nin errata fixes etc.\n\nAlso change the related \"HAS_PCI()\" into \"!IS_SOC()\" for better consistency\nof naming/use (everything else SOC-related already uses \"SOC\").\n\nThere are no functionality changes in this patch.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "1beee8dc8cf58e3f605bd7b34d7a39939be7d8d2",
      "tree": "85183db61290ef9e8e1c25d7ffb9d8d53acb1766",
      "parents": [
        "9db8ee3d96e98705ba4e9260815ca326b0d07741",
        "3446b9d57edd0b96a89715fef222879e4919a115"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 07:45:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 07:45:20 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (26 commits)\n  llc: Fix double accounting of received packets\n  netfilter: nf_conntrack_expect: fix error path unwind in nf_conntrack_expect_init()\n  bluetooth: fix locking bug in the rfcomm socket cleanup handling\n  mac80211: fix alignment issue with compare_ether_addr()\n  mac80211: Fix for NULL pointer dereference in sta_info_get()\n  mac80211: fix a typo in ieee80211_handle_filtered_frame comment\n  rndis_wlan: add missing range check for power_output modparam\n  iwlwifi: fix rate scale TLC column selection bug\n  iwlwifi: fix exit from stay_in_table state\n  rndis_wlan: Make connections to TKIP PSK networks work\n  mac80211 : Fixes the status message for iwconfig\n  rt2x00: Use atomic interface iteration in irq context\n  rt2x00: Reset antenna RSSI after switch\n  rt2x00: Don\u0027t count retries as failure\n  rt2x00: Fix memleak in tx() path\n  mac80211: reorder channel and freq reporting in wext scan report\n  b43: Fix controller restart crash\n  mac80211: fix ieee80211_rx_bss_put/get imbalance\n  net/mac80211: always true conditionals\n  b43: Upload both beacon templates on initial load\n  ...\n"
    },
    {
      "commit": "9db8ee3d96e98705ba4e9260815ca326b0d07741",
      "tree": "cc51209ce3065a10850481cdc18c6376130146aa",
      "parents": [
        "e3aa51fecdc941c859ed0515084323d3f997aa4a",
        "0066ed55a9a061ed64bbc09c16f45daf0b976ac5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 07:44:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 07:44:19 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6:\n  [S390] Update default configuration.\n  [S390] disassembler: fix idte instruction format.\n  [S390] tape: fix race with stack local wait_queue_head_t.\n  [S390] 3270: fix race with stack local wait_queue_head_t.\n  [S390] dasd: use a generic wait_queue for sleep_on\n  [S390] sclp_vt220: fix scheduling while atomic bug.\n  [S390] showmem: Only walk spanned pages.\n  [S390] appldata: prevent cpu hotplug when walking cpu_online_map.\n  [S390] Fix section mismatch warnings.\n  [S390] s390 types: make dma_addr_t 64 bit capable\n  [S390] tape: Fix race condition in tape block device driver\n  [S390] fix sparsemem related compile error with allnoconfig on s390\n"
    },
    {
      "commit": "e3aa51fecdc941c859ed0515084323d3f997aa4a",
      "tree": "982c236258481231fc65c0aba9618f0f36f7e07a",
      "parents": [
        "916941b2bfd9c4a8b66855f198ae16c3f51ef570"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu May 29 17:51:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 30 07:43:24 2008 -0700"
      },
      "message": "acpi: fix sparse const errors\n\nIn this case we want a constant pointer to constant chars:\n\ndrivers/misc/thinkpad_acpi.c:3824:19: error: Just how const do you want this type to be?\n\nLike the error says.\n\ndrivers/misc/thinkpad_acpi.c:3863:19: error: Just how const do you want this type to be?\ndrivers/misc/thinkpad_acpi.c:3864:19: error: Just how const do you want this type to be?\ndrivers/misc/thinkpad_acpi.c:3865:19: error: Just how const do you want this type to be?\ndrivers/misc/thinkpad_acpi.c:3866:19: error: Just how const do you want this type to be?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "501a5250589be41c4c060afa855bc60b4539a340",
      "tree": "a2411e9367fd265f1327c51bdef6d3c8f793d0b0",
      "parents": [
        "471637a575329f9250e7e4099e84084820a35e11"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri May 30 10:40:28 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri May 30 10:40:28 2008 -0400"
      },
      "message": "Input: gtco - fix double kfree in error handling path\n\nThe code would try to free \u0027report\u0027 twice upon input_register_device()\nfailure.\n\nReported-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "4657fb8a98a4e02981a574492bbe470c147b6657",
      "tree": "9363e9452ce5b798cad43b83b0276bda6a7568c9",
      "parents": [
        "54ad64129cc166b9eec7151f3f9fc83589e33555"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri May 30 10:03:33 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri May 30 10:03:36 2008 +0200"
      },
      "message": "[S390] tape: fix race with stack local wait_queue_head_t.\n\nA wait_event call with a stack local wait_queue_head_t structure that is\nused to do the wake up for the wait_event is inherently racy. After the\nwait_event finished the wake_up call might not have completed yet.\nReplace the stack local wait_queue_head_t in tape_do_io and\ntape_do_io_interruptible with a per device wait queue.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "54ad64129cc166b9eec7151f3f9fc83589e33555",
      "tree": "62653aafec6b61da39a58c4cac2c1b5e37860df1",
      "parents": [
        "c80ee724966a8ce9a68020d9095233fb1c6f57e8"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri May 30 10:03:32 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri May 30 10:03:35 2008 +0200"
      },
      "message": "[S390] 3270: fix race with stack local wait_queue_head_t.\n\nA wait_event call with a stack local wait_queue_head_t structure that is\nused to do the wake up for the wait_event is inherently racy. After the\nwait_event finished the wake_up call might not have completed yet.\nRemove the stack local wait_queue_head_t from raw3270_start_init and\nuse the global raw3270_wait_queue instead.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "c80ee724966a8ce9a68020d9095233fb1c6f57e8",
      "tree": "110d8c709a0af269afa5f55c8c08eb5561bb694d",
      "parents": [
        "d4820e44b0ae6830b1d634e6d0a425d839388c06"
      ],
      "author": {
        "name": "Stefan Haberland",
        "email": "stefan.haberland@de.ibm.com",
        "time": "Fri May 30 10:03:31 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri May 30 10:03:35 2008 +0200"
      },
      "message": "[S390] dasd: use a generic wait_queue for sleep_on\n\nUse a generic wait_queue to prevent the wait_queue in dasd_sleep_on_\nfunctions from being referenced by callback_data while it does not\nexist any more.\n\nSigned-off-by: Stefan Haberland  \u003cstefan.haberland@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d4820e44b0ae6830b1d634e6d0a425d839388c06",
      "tree": "8f2e5e43623bd37056321de3940820a25d8a6bcf",
      "parents": [
        "c1bb7f31eaef6ed6b9f895b99d9ea12e6b853606"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri May 30 10:03:30 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri May 30 10:03:35 2008 +0200"
      },
      "message": "[S390] sclp_vt220: fix scheduling while atomic bug.\n\nThe driver incorrectly assumed that putchar will only be called from\nschedulable process context and therefore blocked and waited if no\nfree output buffers where available.\nSince putchar may also be called from BH context this may lead to\ndeadlocks.\nTo fix this just return the number of characters accepted and let the\nupper layer handle the rest.\n\nThe console write function will busy wait (sclp_sync_wait) until a\nbuffer is available again.\n\nCc: Peter Oberparleiter \u003cpeter.oberparleiter@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "67060d9c1f5d91c917cc51bed464cb5638eaddbc",
      "tree": "84a9f66567bcec141f80b0fbc9db995ac9323a50",
      "parents": [
        "bebd9a455b2593ba6543b961bc82c43350c2d8d9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri May 30 10:03:27 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri May 30 10:03:34 2008 +0200"
      },
      "message": "[S390] Fix section mismatch warnings.\n\nThis fixes the last remaining section mismatch warnings in s390\narchitecture code. It reveals also a real bug introduced by... me\nwith git commit 2069e978d5a6e7b45d58027e3de7f879b8c5e488\n(\"[S390] sparsemem vmemmap: initialize memmap.\")\n\nCalling the generic vmemmap_alloc_block() function to get initialized\nmemory is a nice idea, however that function is __meminit annotated\nand therefore the function might be gone if we try to call it later.\nThis can happen if a DCSS segment gets added.\n\nSo basically revert the patch and clear the memmap explicitly to fix\nthe original bug.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "f71ad62a264a89cb1952df0c92b167005de8d1b0",
      "tree": "de173ab5f138204d5ba5458de249c39e5faecdbd",
      "parents": [
        "97195d6b411fec8e33aa55b6a7c3dde7984d65ca"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@de.ibm.com",
        "time": "Fri May 30 10:03:25 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri May 30 10:03:33 2008 +0200"
      },
      "message": "[S390] tape: Fix race condition in tape block device driver\n\nDue to incorrect function call sequence it can happen that a tape block\nrequest is finished before the request is taken from the block request queue.\n\nThe following sequence leads to that condition:\n * tapeblock_start_request() -\u003e start CCW program\n * Request finishes -\u003e IO interrupt\n * tapeblock_end_request()\n * end_that_request_last()\n\nIf blkdev_dequeue_request() has not been called before end_that_request_last(),\na kernel bug is triggered in end_that_request_last() because the request is\nstill queued. To solve that problem blkdev_dequeue_request() has to be called\nbefore starting the CCW program.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "b4f68be6c5d507afdcd74f5be3df0b1209cda503",
      "tree": "85c0771058ff08c5dab5eedbf3395959dbafc878",
      "parents": [
        "7757f09c70af87887dfc195e6d6ddd54f5cc7c39"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:45 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:46 2008 +1000"
      },
      "message": "virtio: force callback on empty.\n\nvirtio allows drivers to suppress callbacks (ie. interrupts) for\nefficiency (no locking, it\u0027s just an optimization).\n\nThere\u0027s a similar mechanism for the host to suppress notifications\ncoming from the guest: in that case, we ignore the suppression if the\nring is completely full.\n\nIt turns out that life is simpler if the host similarly ignores\ncallback suppression when the ring is completely empty: the network\ndriver wants to free up old packets in a timely manner, and otherwise\nhas to use a timer to poll.\n\nWe have to remove the code which ignores interrupts when the driver\nhas disabled them (again, it had no locking and hence was unreliable\nanyway).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "52a3a05f3ab82655ffa4c9bf6835565c98a3c2e5",
      "tree": "f4257904896d265059d4a9f330e8bf5d3181c6f9",
      "parents": [
        "f7f510ec195781c857ab76366a3e1c59e1caae42"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon May 26 11:29:27 2008 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:45 2008 +1000"
      },
      "message": "virtio_net: another race with virtio_net and enable_cb\n\nHello Rusty,\n\nseems that we still have a problem with virtio_net and the enable_cb callback.\nDuring a long running network stress tests with virtio and got the following\noops:\n\n------------[ cut here ]------------\nkernel BUG at drivers/virtio/virtio_ring.c:230!\nillegal operation: 0001 [#1] SMP\nModules linked in:\nCPU: 0 Not tainted 2.6.26-rc2-kvm-00436-gc94c08b-dirty #34\nProcess netserver (pid: 2582, task: 000000000fbc4c68, ksp: 000000000f42b990)\nKrnl PSW : 0704c00180000000 00000000002d0ec8 (vring_enable_cb+0x1c/0x60)\n           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3\nKrnl GPRS: 0000000000000000 0000000000000000 000000000ef3d000 0000000010009800\n           0000000000000000 0000000000419ce0 0000000000000080 000000000000007b\n           000000000adb5538 000000000ef40900 000000000ef40000 000000000ef40920\n           0000000000000000 0000000000000005 000000000029c1b0 000000000fea7d18\nKrnl Code: 00000000002d0ebc: a7110001           tmll    %r1,1\n           00000000002d0ec0: a7740004           brc     7,2d0ec8\n           00000000002d0ec4: a7f40001           brc     15,2d0ec6\n          \u003e00000000002d0ec8: a517fffe           nill    %r1,65534\n           00000000002d0ecc: 40103000           sth     %r1,0(%r3)\n           00000000002d0ed0: 07f0               bcr     15,%r0\n           00000000002d0ed2: e31020380004       lg      %r1,56(%r2)\n           00000000002d0ed8: a7480000           lhi     %r4,0\nCall Trace:\n([\u003c000000000029c0fc\u003e] virtnet_poll+0x290/0x3b8)\n [\u003c0000000000333fb8\u003e] net_rx_action+0x9c/0x1b8\n [\u003c00000000001394bc\u003e] __do_softirq+0x74/0x108\n [\u003c000000000010d16a\u003e] do_softirq+0x92/0xac\n [\u003c0000000000139826\u003e] irq_exit+0x72/0xc8\n [\u003c000000000010a7b6\u003e] do_extint+0xe2/0x104\n [\u003c0000000000110508\u003e] ext_no_vtime+0x16/0x1a\nLast Breaking-Event-Address:\n [\u003c00000000002d0ec4\u003e] vring_enable_cb+0x18/0x60\n\nI looked into the virtio_net code for some time and I think the following\nscenario happened. Please look at virtnet_poll:\n[...]\n        /* Out of packets? */\n        if (received \u003c budget) {\n                netif_rx_complete(vi-\u003edev, napi);\n                if (unlikely(!vi-\u003ervq-\u003evq_ops-\u003eenable_cb(vi-\u003ervq))\n                    \u0026\u0026 napi_schedule_prep(napi)) {\n                        vi-\u003ervq-\u003evq_ops-\u003edisable_cb(vi-\u003ervq);\n                        __netif_rx_schedule(vi-\u003edev, napi);\n                        goto again;\n                }\n        }\n\nIf an interrupt arrives after netif_rx_complete, a second poll routine can run\non a different cpu. The second check for napi_schedule_prep would prevent any\nharm in the network stack, but we have called enable_cb possibly after the\ndisable_cb in skb_recv_done.\n\nstatic void skb_recv_done(struct virtqueue *rvq)\n{\n        struct virtnet_info *vi \u003d rvq-\u003evdev-\u003epriv;\n        /* Schedule NAPI, Suppress further interrupts if successful. */\n        if (netif_rx_schedule_prep(vi-\u003edev, \u0026vi-\u003enapi)) {\n                rvq-\u003evq_ops-\u003edisable_cb(rvq);\n                __netif_rx_schedule(vi-\u003edev, \u0026vi-\u003enapi);\n        }\n}\n\nThat means that the second poll routine runs with interrupts enabled, which is\nok, since we can handle additional interrupts. The problem is now that the\nsecond poll routine might also call enable_cb, triggering the BUG.\n\nThe only solution I can come up with, is to remove the BUG statement in\nenable_cb - similar to disable_cb. Opinions or better ideas where the oops\ncould come from?\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f7f510ec195781c857ab76366a3e1c59e1caae42",
      "tree": "ab14c93c4559bd00fc347953dc787bfffba828a8",
      "parents": [
        "3ef536095446552823fc488fec1c5451aab1260d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:44 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:44 2008 +1000"
      },
      "message": "virtio: An entropy device, as suggested by hpa.\n\nNote that by itself, having a \"hardware\" random generator does very\nlittle: you should probably run \"rngd\" in your guest to feed this into\nthe kernel entropy pool.\n\nIncluded:\n\tvirtio_rng: dont use vmalloced addresses for virtio\n\n\tIf virtio_rng is build as a module, random_data is an address\n\tin vmalloc space. As virtio expects guest real addresses, this\n\tcan cause any kind of funny behaviour, so lets allocate\n\trandom_data dynamically with kmalloc.\n\n\tSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3ef536095446552823fc488fec1c5451aab1260d",
      "tree": "9d525f24f2bd07ce1b82f8b60673062e05c41c2e",
      "parents": [
        "a16ffe93c46dfca211434d00453ebb695025978b"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri May 16 11:17:03 2008 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:44 2008 +1000"
      },
      "message": "virtio_blk: allow read-only disks\n\nHello Rusty,\n\nsometimes it is useful to share a disk (e.g. usr). To avoid file system\ncorruption, the disk should be mounted read-only in that case. This patch\nadds a new feature flag, that allows the host to specify, if the disk should\nbe considered read-only.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b769f579081943f14e0ff03b7b0bd3a11cf14625",
      "tree": "026d89b6d937af43af4a692bcf547e032f0c58cc",
      "parents": [
        "5610bd1524332fe7d651eb56cc780e32763a2ac3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:42 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:42 2008 +1000"
      },
      "message": "virtio: set device index in common code.\n\nAnthony Liguori points out that three different transports use the virtio code,\nbut each one keeps its own counter to set the virtio_device\u0027s index field.  In\ntheory (though not in current practice) this means that names could be\nduplicated, and that risk grows as more transports are created.\n\nSo we move the selection of the unique virtio_device.index into the common code\nin virtio.c, which has the side-benefit of removing duplicate code.\n\nThe only complexity is that lguest and S/390 use the index to uniquely identify\nthe device in case of catastrophic failure before register_virtio_device() is\ncalled: now we use the offset within the descriptor page as a unique identifier\nfor the printks.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Chris Lalancette \u003cclalance@redhat.com\u003e\nCc: Anthony Liguori \u003canthony@codemonkey.ws\u003e\n"
    },
    {
      "commit": "5610bd1524332fe7d651eb56cc780e32763a2ac3",
      "tree": "551e8ea4cbbf087f3fe23f10eebb075466369228",
      "parents": [
        "2ad3cfbac58d0a6c6e65aafd9e0e757ca3d35292"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:42 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:42 2008 +1000"
      },
      "message": "virtio: virtio_pci should not set bus_id.\n\nThe common virtio code sets the bus_id, overriding anything virtio_pci\nsets anyway.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Chris Lalancette \u003cclalance@redhat.com\u003e\nCc: Anthony Liguori \u003canthony@codemonkey.ws\u003e\n"
    },
    {
      "commit": "2ad3cfbac58d0a6c6e65aafd9e0e757ca3d35292",
      "tree": "fd17937a5873c078487a02adc5dbdc8a175b0796",
      "parents": [
        "ac9d463afb1ca2434335351f3b7d9e4c8f8470e9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:41 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:42 2008 +1000"
      },
      "message": "virtio: bus_id for devices should contain \u0027virtio\u0027\n\nChris Lalancette \u003cclalance@redhat.com\u003e points out that virtio.c sets all device\nnames to \u00270\u0027, \u00271\u0027, etc, which looks silly in /proc/interrupts.  We change this\nfrom \u0027%d\u0027 to \u0027virtio%d\u0027.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Chris Lalancette \u003cclalance@redhat.com\u003e\nCc: Anthony Liguori \u003canthony@codemonkey.ws\u003e\n"
    },
    {
      "commit": "ac9d463afb1ca2434335351f3b7d9e4c8f8470e9",
      "tree": "02dd8e340507ebd7be549cca1c1a33ab42a02a7c",
      "parents": [
        "e27810f11340987df123a99eb9ae14c054a55639"
      ],
      "author": {
        "name": "Chris Lalancette",
        "email": "clalance@redhat.com",
        "time": "Fri May 30 15:09:41 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:41 2008 +1000"
      },
      "message": "Fix crash in virtio_blk during modprobe ; rmmod ; modprobe\n\nFix a modprobe virtio_blk ; rmmod virtio_blk ; modprobe virtio_blk crash; this\nwas basically because we weren\u0027t doing \"del_gendisk()\" in the remove path.\n\nSigned-off-by: Chris Lalancette \u003cclalance@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (moved del_gendisk up)\n"
    },
    {
      "commit": "e27810f11340987df123a99eb9ae14c054a55639",
      "tree": "4605228957a1e02cde0d4fa753cc3cbe2f75656c",
      "parents": [
        "0a2ce2ffc358da96792d514c1024b72c52be9cc1"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:40 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:41 2008 +1000"
      },
      "message": "lguest: use ioremap_cache, not ioremap\n\nThanks to Jon Corbet \u0026 LWN.  Only took me a day to join the dots.\n\nHost-\u003eGuest netcat before (with unnecessily large receive buffers):\n1073741824 bytes (1.1 GB) copied, 24.7528 seconds, 43.4 MB/s\n\nAfter:\n1073741824 bytes (1.1 GB) copied, 17.6369 seconds, 60.9 MB/s\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "916941b2bfd9c4a8b66855f198ae16c3f51ef570",
      "tree": "471867d3d460f10d1620efe3c85763c4d95fa14d",
      "parents": [
        "fbf4d7ffda0398e8b20aa8b34ca751bf946699ef",
        "413c239fad68258157f903b3ffd9bfcc53f5e34b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 29 21:29:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 29 21:29:39 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  driver-core: prepare for 2.6.27 api change by adding dev_set_name\n"
    },
    {
      "commit": "fbf4d7ffda0398e8b20aa8b34ca751bf946699ef",
      "tree": "a01290f30aa03e164c8e887cb216da064fbf854c",
      "parents": [
        "4bd27972e2c35b1e9e672ff05e0a781644f9c905",
        "bb7e6984ecaebe6989d0e781e303469255871432"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 29 21:27:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 29 21:27:53 2008 -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:\n  Revert \"USB: EHCI: fix performance regression\"\n  USB: fsl_usb2_udc: fix recursive lock\n  USB: usb-serial: option: Don\u0027t match Huawei driver CD images\n  USB: pl2303: another product ID\n  USB: add another scanner quirk\n  USB: Add support for ROKR W5 in unusual_devs.h\n  USB: Fix M600i unusual_devs entry\n  USB: usb-storage: unusual_devs update for Cypress ATACB\n  USB: EHCI: fix performance regression\n  USB: EHCI: fix bug in Iso scheduling\n  USB: EHCI: fix remote-wakeup regression\n  USB: EHCI: suppress unwanted error messages\n  USB: EHCI: fix up root-hub TT mess\n  USB: add all configs to the \"descriptors\" attribute\n  USB: fix possible deadlock involving sysfs attributes\n  USB: Firmware loader driver for USB Apple iSight camera\n  USB: FTDI_SIO : Add support for Matrix Orbital PID Range\n"
    },
    {
      "commit": "413c239fad68258157f903b3ffd9bfcc53f5e34b",
      "tree": "7508df475d5f1ab505e27e98573953c1e394f0c6",
      "parents": [
        "0a2ce2ffc358da96792d514c1024b72c52be9cc1"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri May 30 10:16:40 2008 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 21:10:01 2008 -0700"
      },
      "message": "driver-core: prepare for 2.6.27 api change by adding dev_set_name\n\nCreate the dev_set_name function now so that various subsystems can\nstart changing over to it before other changes in 2.6.27 will make it\ncompulsory.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bb7e6984ecaebe6989d0e781e303469255871432",
      "tree": "a3a835653645c346c0f45e312f83f8beadc512dd",
      "parents": [
        "185e3dead35dacb79c8cca1073fd67a26d09a0d7"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 19:43:27 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 19:43:27 2008 -0700"
      },
      "message": "Revert \"USB: EHCI: fix performance regression\"\n\nThis reverts commit fa38dfcc56b5f6cce787f9aaa5d1830509213802.\n\nIt wasn\u0027t really a regression and David and Alan are still working\nthrough the issues reported.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "185e3dead35dacb79c8cca1073fd67a26d09a0d7",
      "tree": "a5a18106ecd9f25384e3fb81990a21172b652167",
      "parents": [
        "a7f3872c43b8001f01000f79583d422c6995f98d"
      ],
      "author": {
        "name": "Li Yang",
        "email": "leoli@freescale.com",
        "time": "Thu May 29 21:04:45 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:06 2008 -0700"
      },
      "message": "USB: fsl_usb2_udc: fix recursive lock\n\nUDC needs to release lock before calling out to gadget driver, since\nit may need to reenter.  The change fixes kernel BUG observed on rt\nkernel.\n\n\u003e kernel BUG at kernel/rtmutex.c:683!\n\u003e stopped custom tracer.\n\u003e Oops: Exception in kernel mode, sig: 5 [#1]\n\u003e PREEMPT MPC834x ITX\n\u003e NIP: c021629c LR: c0216270 CTR: 00000000\n\u003e REGS: df761d70 TRAP: 0700   Not tainted  (2.6.23.9-rt13)\n\u003e MSR: 00021032 \u003cME,IR,DR\u003e  CR: 28000022  XER: 00000000\n\u003e TASK \u003d df632080[241] \u0027IRQ-38\u0027 THREAD: df760000\n\u003e GPR00: 00000001 df761e20 df632080 00000000 11111111 00000000 df761e6c\n\u003e 00000000\n\u003e GPR08: df761e48 00000000 df761e50 00000000 80000000 ede5cdde 1fffd000\n\u003e 00800000\n\u003e GPR16: ffffffff 00000000 007fff00 00000040 00000000 007ffeb0 00000000\n\u003e 1fff8b08\n\u003e GPR24: 00000000 00000026 00000000 df79a320 c026b2e8 c02240bc 00009032\n\u003e df79a320\n\u003e NIP [c021629c] rt_spin_lock_slowlock+0x9c/0x200\n\u003e LR [c0216270] rt_spin_lock_slowlock+0x70/0x200\n\u003e Call Trace:\n\u003e [df761e20] [c0216270] rt_spin_lock_slowlock+0x70/0x200 (unreliable)\n\u003e [df761e90] [c0182828] fsl_ep_disable+0xcc/0x154\n\u003e [df761eb0] [c0184d30] eth_reset_config+0x88/0x1d0\n\u003e [df761ed0] [c0184ec0] eth_disconnect+0x48/0x64\n\u003e [df761ef0] [c01831a4] reset_queues+0x60/0x78\n\u003e [df761f00] [c0183b74] fsl_udc_irq+0x9b8/0xa58\n\u003e [df761f50] [c003ef30] handle_IRQ_event+0x64/0x100\n\u003e [df761f80] [c003f758] thread_simple_irq+0x6c/0xc8\n\u003e [df761fa0] [c003f888] do_irqd+0xd4/0x2e4\n\u003e [df761fd0] [c0032284] kthread+0x50/0x8c\n\u003e [df761ff0] [c000f9b4] kernel_thread+0x44/0x60\n\nSigned-off-by: Li Yang \u003cleoli@freescale.com\u003e\nCc: Eugene T. Bordenkircher \u003cEugene_Bordenkircher@selinc.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a7f3872c43b8001f01000f79583d422c6995f98d",
      "tree": "bdb575e8842d5e1b665f4bfc253e00cbd4a1e1bf",
      "parents": [
        "4be2fa186d54758296d30c565d7b5111dd45b000"
      ],
      "author": {
        "name": "Michael Karcher",
        "email": "kernel@mkarcher.dialup.fu-berlin.de",
        "time": "Wed May 28 23:58:18 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:06 2008 -0700"
      },
      "message": "USB: usb-serial: option: Don\u0027t match Huawei driver CD images\n\nAdd the interface info matching to all Huawei cards, as they all also\ncontain a Mass Storage Device interface (usually containing Windows\ndrivers) which should not get bound by this driver.\n\nSee also drivers/usb/storage/unusual_devs.h\n\nSigned-off-by: Michael Karcher \u003ckernel@mkarcher.dialup.fu-berlin.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4be2fa186d54758296d30c565d7b5111dd45b000",
      "tree": "e497b62b6e376cacb6898f8bf2bdab2972871da4",
      "parents": [
        "598eff6d2f3b8805232edc5f4a6b0c1e698dc482"
      ],
      "author": {
        "name": "Steve Murphy",
        "email": "steve@gnusis.org",
        "time": "Fri May 23 23:39:05 2008 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:06 2008 -0700"
      },
      "message": "USB: pl2303: another product ID\n\nI\u0027ve just got a USB GPRS/EDGE modem branded Manufacturer Micromax Model\nMMX610U (see http://www.airtel.in/level2_t3data.aspx?path\u003d1/106/179)\nworking by adding another product ID to pl2303.  Modem info reports same\nmodule as  Max Arnold\u0027s i.e.SIMCOM SIM600  but  with product ID 0x0612\n(cf Ox0611).\n\nFrom: Steve Murphy \u003csteve@gnusis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "598eff6d2f3b8805232edc5f4a6b0c1e698dc482",
      "tree": "e357123cbd5d8e2a065a4761dd82262d7e8c1ce8",
      "parents": [
        "2a8bc9e7cfb1761a62ea897b407ea13ec887fd0c"
      ],
      "author": {
        "name": "René Rebe",
        "email": "rene@exactcode.de",
        "time": "Tue May 27 09:05:46 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:05 2008 -0700"
      },
      "message": "USB: add another scanner quirk\n\nLike the HP53{00,70} scanner other devices of the OEM Avision require\nthe USB_QUIRK_STRING_FETCH_255 to correct set a configuration with\n\"recent\" Linux kernels.\n\nSigned-off-by: René Rebe \u003crene@exactcode.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2a8bc9e7cfb1761a62ea897b407ea13ec887fd0c",
      "tree": "dcdb47589be2310981dc42ca847237762a9172b4",
      "parents": [
        "c5f23b0e08d84f4efc20dece04d7b6796dcc6774"
      ],
      "author": {
        "name": "Javier Smaldone",
        "email": "javier@smaldone.com.ar",
        "time": "Mon May 26 21:44:00 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:05 2008 -0700"
      },
      "message": "USB: Add support for ROKR W5 in unusual_devs.h\n\nThis patch adds support for rev 2 of an existing unusual_devs entry\nenabling ROKR W5s to work. Greg, please apply.\n\nFrom: Javier Smaldone \u003cjavier@smaldone.com.ar\u003e\nSigned-off-by: Phil Dibowitz \u003cphil@ipom.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c5f23b0e08d84f4efc20dece04d7b6796dcc6774",
      "tree": "b59659f9f878bd63d34fd558a1f3ea91eb081031",
      "parents": [
        "c7257bd2ecb7b4cc42f9f152c7c059258d434169"
      ],
      "author": {
        "name": "Phil Dibowitz",
        "email": "phil@ipom.com",
        "time": "Mon May 26 21:33:58 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:05 2008 -0700"
      },
      "message": "USB: Fix M600i unusual_devs entry\n\nIt turns out that the unusual_devs entry for the Motorola M600i needs\nanother flag. This patch adds it. Thanks to Atte André Jensen\n\u003catte@ballbreaker.dk\u003e.\n\nSigned-off-by: Phil Dibowitz \u003cphil@ipom.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c7257bd2ecb7b4cc42f9f152c7c059258d434169",
      "tree": "76e680b734d6d87868a9bc0fca0ac81df78cecd8",
      "parents": [
        "fa38dfcc56b5f6cce787f9aaa5d1830509213802"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed May 21 13:53:01 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:04 2008 -0700"
      },
      "message": "USB: usb-storage: unusual_devs update for Cypress ATACB\n\nThis patch (as1101) updates the unusual_devs entry for the Cypress\nATACB pass-through.  The protocol field is changed from US_PR_BULK to\nUS_PR_DEVICE, since the Cypress devices already set bInterfaceProtocol\nto Bulk-only.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fa38dfcc56b5f6cce787f9aaa5d1830509213802",
      "tree": "af6c68e248233434cce1b8a4bcf361039aa5ef8f",
      "parents": [
        "b40e43fcc532fa44a375a37d592e32cd0d50fe7a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue May 20 16:59:33 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:04 2008 -0700"
      },
      "message": "USB: EHCI: fix performance regression\n\nThis patch (as1099) fixes a performance regression in ehci-hcd.  The\nfundamental problem is that queue headers get removed from the\nschedule too quickly, since the code checks for a counter advancing\nrather than making an actual time-based check.  The latency involved\nin removing the queue header and then relinking it can severely\ndegrade certain kinds of workloads.\n\nThe patch replaces a simple counter with a timestamp derived from the\ncontroller\u0027s uframe value.  In addition, the delay for unlinking an\nidle queue header is increased from 5 ms to 10 ms; since some\ncontrollers (nVidia) have a latency of up to 1 ms for unlinking, this\nreduces the relative impact from 20% to 10%.\n\nFinally, a logical error left over from the IAA watchdog-timer\nconversion is corrected.  Now the driver will always either unlink an\nidle queue header or set up a timer to unlink it later.  The old code\nwould sometimes fail to do either.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Leonid \u003cleonidv11@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b40e43fcc532fa44a375a37d592e32cd0d50fe7a",
      "tree": "1537e1fb6ca465b01b4e7032081c0e5533b0510b",
      "parents": [
        "d1f114d12bb4db3147e1b1342ae31083c5a79c84"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue May 20 16:59:10 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:04 2008 -0700"
      },
      "message": "USB: EHCI: fix bug in Iso scheduling\n\nThis patch (as1098) changes the way ehci-hcd schedules its periodic\nIso transfers.  That the current scheduling code is wrong is clear on\nthe face of it: Sometimes it returns -EL2NSYNC (meaning that an URB\ncouldn\u0027t be scheduled because it was submitted too late), but it does\nthis even when the URB_ISO_ASAP flag is set (meaning the URB should be\nscheduled as soon as possible).\n\nThe new code properly implements as-soon-as-possible scheduling,\nassigning the next unexpired slot as the URB\u0027s starting point.  It\nalso is more careful about checking for Iso URB completion: It doesn\u0027t\nbother to check for activity during frames that are already over,\nand it allows for the possibility that some of the URB\u0027s packets may\nhave raced the hardware when they were submitted and so never got used\n(the packet status is set to -EXDEV).\n\nThis fixes problems several people have experienced with USB video\napplications.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d1f114d12bb4db3147e1b1342ae31083c5a79c84",
      "tree": "ebd7c3321839b33e7483d74e340bd6ba664ecf38",
      "parents": [
        "3a31155cfff0935e4b178f3dca733d2d60d2eb8d"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue May 20 16:58:58 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:04 2008 -0700"
      },
      "message": "USB: EHCI: fix remote-wakeup regression\n\nThis patch (as1097) fixes a bug in the remote-wakeup handling in\nehci-hcd.  The driver currently does not keep track of whether the\nchange-suspend feature is enabled for each port; the feature is\nautomatically reset the first time it is read.  But recent changes to\nthe hub driver require that the feature be read at least twice in\norder to work properly.\n\nA bit-vector is added for storing the change-suspend feature values.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3a31155cfff0935e4b178f3dca733d2d60d2eb8d",
      "tree": "d862628b222cd28232fcc5452e4d88919a45b3fd",
      "parents": [
        "a8e5177583e975fc1f7c621c93956f494df9b979"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue May 20 16:58:29 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:03 2008 -0700"
      },
      "message": "USB: EHCI: suppress unwanted error messages\n\nThis patch (as1096) fixes an annoying problem: When a full-speed or\nlow-speed device is plugged into an EHCI controller, it fails to\nenumerate at high speed and then is handed over to the companion\ncontroller.  But usbcore logs a misleading and unwanted error message\nwhen the high-speed enumeration fails.\n\nThe patch adds a new HCD method, port_handed_over, which asks whether\na port has been handed over to a companion controller.  If it has, the\nerror message is suppressed.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a8e5177583e975fc1f7c621c93956f494df9b979",
      "tree": "8c7ca30de6668282d1883d5ed172dca6d947699c",
      "parents": [
        "217a9081d8e69026186067711131b77f0ce219ed"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue May 20 16:58:11 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:03 2008 -0700"
      },
      "message": "USB: EHCI: fix up root-hub TT mess\n\nThis patch (as1095) cleans up the HCD glue and several of the EHCI\nbus-glue files.  The ehci-\u003eis_tdi_rh_tt flag is redundant, since it\nmeans the same thing as the hcd-\u003ehas_tt flag, so it is removed and the\nother flag used in its place.\n\nSome of the bus-glue files didn\u0027t get the relinquish_port method added\nto their hc_driver structures.  Although that routine currently\ndoesn\u0027t do anything for controllers with an integrated TT, in the\nfuture it might.  So the patch adds it where it is missing.\n\nLastly, some of the bus-glue files have erroneous entries for their\nhc_driver\u0027s suspend and resume methods.  These method pointers are\nspecific to PCI and shouldn\u0027t be used otherwise.\n\n(The patch also includes an invisible whitespace fix.)\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\n\n"
    },
    {
      "commit": "217a9081d8e69026186067711131b77f0ce219ed",
      "tree": "7933ca5e141fea2f5fe7595e5e1cc4580bb68488",
      "parents": [
        "e16362a0c8d90e9adbfe477acbe32b021823fb22"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue May 20 16:40:42 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:03 2008 -0700"
      },
      "message": "USB: add all configs to the \"descriptors\" attribute\n\nThis patch (as1094) changes the output of the \"descriptors\" binary\nattribute.  Now it will contain the device descriptor followed by all\nthe configuration descriptors, not just the descriptor for the current\nconfig.\n\nUserspace libraries want to have access to the kernel\u0027s cached\ndescriptor information, so they can learn about device characteristics\nwithout having to wake up suspended devices.  So far the only user of\nthis attribute is the new libusb-1.0 library; thus changing its\ncontents shouldn\u0027t cause any problems.\n\nThis should be considered for 2.6.26, if for no other reason than to\nminimize the range of releases in which the attribute contains only the\ncurrent config descriptor.\n\nAlso, it doesn\u0027t hurt that the patch removes the device locking --\nwhich was formerly needed in order to know for certain which config was\nindeed current.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e16362a0c8d90e9adbfe477acbe32b021823fb22",
      "tree": "688efa40b57e8fdb56335f7c5844492026d090cf",
      "parents": [
        "62d104d0deeabd4148e49eba729d963e740e205f"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue May 20 16:37:34 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:03 2008 -0700"
      },
      "message": "USB: fix possible deadlock involving sysfs attributes\n\nThere is a potential deadlock when the usb_generic driver is unbound\nfrom a device.  The problem is that generic_disconnect() is called\nwith the device lock held, and it removes a bunch of device attributes\nfrom sysfs.  If a user task happens to be running an attribute method\nat the time, the removal will block until the method returns.  But at\nleast one of the attribute methods (the store routine for power/level)\nneeds to acquire the device lock!\n\nThis patch (as1093) eliminates the deadlock by moving the calls to\ncreate and remove the sysfs attributes from the usb_generic driver\ninto usb_new_device() and usb_disconnect(), where they can be invoked\nwithout holding the device lock.\n\nBesides, the other sysfs attributes are created when the device is\nregistered and removed when the device is unregistered.  So it seems\nonly fitting for the extra attributes to be created and removed at the\nsame time.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "62d104d0deeabd4148e49eba729d963e740e205f",
      "tree": "2b021151b585dda3544298e920cb239a4d95689d",
      "parents": [
        "ebb3770c01a8afd049e3e91b0a026dcdfcb2da9f"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg59@srcf.ucam.org",
        "time": "Tue May 20 20:06:28 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:02 2008 -0700"
      },
      "message": "USB: Firmware loader driver for USB Apple iSight camera\n\nUninitialised Apple iSight drivers present with a distinctive USB ID.\nOnce firmware has been uploaded, they disconnect and reconnect with a\nnew ID. At this point they can be driven by the uvcvideo driver. As this\nis unique to the Apple cameras and not functionality shared by any other\nUVC devices, it makes sense to provide the firmware loading\nfunctionality in a separate driver. This driver will read an isight.fw\nfile extracted from the Apple driver using the tools at\nhttp://bersace03.free.fr/ift/ and upload it to the camera. It will also\nhandle the case where the device loses its firmware during hibernation\nand must have it reloaded.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ebb3770c01a8afd049e3e91b0a026dcdfcb2da9f",
      "tree": "77d4fe91ea391bff89568d912e87ee8b3882dd05",
      "parents": [
        "0a2ce2ffc358da96792d514c1024b72c52be9cc1"
      ],
      "author": {
        "name": "Ray Molenkamp",
        "email": "rmolenkamp@matrixorbital.ca",
        "time": "Wed May 21 17:06:26 2008 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 13:59:02 2008 -0700"
      },
      "message": "USB: FTDI_SIO : Add support for Matrix Orbital PID Range\n\nThis patch adds support for the range of PIDs\nthat have been allocated for FTDI based devices\nat Matrix Orbital.\n\nA small number of units have been shipped early 2008\nwith a faulty USB Descriptor.  Products that may have\nthis issue have been marked with the existing quirk to\nwork around the problem.\n\nSigned-off-by: R. Molenkamp \u003crmolenkamp@matrixorbital.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4bd27972e2c35b1e9e672ff05e0a781644f9c905",
      "tree": "b71ab8263b574bf448cde66ffb6ee5de2621968d",
      "parents": [
        "a7f75d3bed2871655d9806c62a5d6f46552b9a4a",
        "dca026139317dcbc642a30320d551f559692182f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 29 10:04:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 29 10:04:54 2008 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] fix double unlock of cpu_policy_rwsem in drivers/cpufreq/cpufreq.c\n"
    },
    {
      "commit": "dca026139317dcbc642a30320d551f559692182f",
      "tree": "93328a56b4fe715ac915d56c0473c9770c2e0c09",
      "parents": [
        "4f74369422b883164c50b5936517d010a3e1ce59"
      ],
      "author": {
        "name": "Lothar Waßmann",
        "email": "LW@KARO-electronics.de",
        "time": "Thu May 29 17:54:52 2008 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu May 29 12:10:12 2008 -0400"
      },
      "message": "[CPUFREQ] fix double unlock of cpu_policy_rwsem in drivers/cpufreq/cpufreq.c\n\nIn drivers/cpufreq/cpufreq.c the function cpufreq_add_dev() takes the\nerror exit \u0027err_out_unregister\u0027 from different places once with the\n\u0027cpu_policy_rwsem\u0027 lock held, once with the lock released:\n|\t\tif (ret)\n|\t\t\tgoto err_out_unregister;\n|\t}\n|\n|\tpolicy-\u003egovernor \u003d NULL; /* to assure that the starting sequence is\n|\t\t\t\t  * run in cpufreq_set_policy */\n|\n|\t/* set default policy */\n|\tret \u003d __cpufreq_set_policy(policy, \u0026new_policy);\n|\tpolicy-\u003euser_policy.policy \u003d policy-\u003epolicy;\n|\tpolicy-\u003euser_policy.governor \u003d policy-\u003egovernor;\n|\n|\tunlock_policy_rwsem_write(cpu);\n|\n|\tif (ret) {\n|\t\tdprintk(\"setting policy failed\\n\");\n|\t\tgoto err_out_unregister;\n|\t}\n\nThis leads to the following error message in case of a failing\n__cpufreq_set_policy() call:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ BUG: bad unlock balance detected! ]\n-------------------------------------\nswapper/1 is trying to release lock (\u0026per_cpu(cpu_policy_rwsem, cpu)) at:\n[\u003cc01b4564\u003e] unlock_policy_rwsem_write+0x30/0x40\nbut there are no more locks to release!\n\nother info that might help us debug this:\n1 lock held by swapper/1:\n #0:  (sysdev_drivers_lock){--..}, at: [\u003cc018fd18\u003e] sysdev_driver_register+0x74/0x130\n\nstack backtrace:\n[\u003cc002f588\u003e] (dump_stack+0x0/0x14) from [\u003cc00692fc\u003e] (print_unlock_inbalance_bug+0xc8/0x104)\n[\u003cc0069234\u003e] (print_unlock_inbalance_bug+0x0/0x104) from [\u003cc006b7ac\u003e] (lock_release_non_nested+0xc4/0x19c)\n r6:00000028 r5:c3c1ab80 r4:c01b4564\n[\u003cc006b6e8\u003e] (lock_release_non_nested+0x0/0x19c) from [\u003cc006b9e0\u003e] (lock_release+0x15c/0x18c)\n r8:60000013 r7:00000001 r6:c01b4564 r5:c0541bb4 r4:c3c1ab80\n[\u003cc006b884\u003e] (lock_release+0x0/0x18c) from [\u003cc0061ba0\u003e] (up_write+0x24/0x30)\n r8:c0541b80 r7:00000000 r6:ffffffea r5:c3c34828 r4:c0541b8c\n[\u003cc0061b7c\u003e] (up_write+0x0/0x30) from [\u003cc01b4564\u003e] (unlock_policy_rwsem_write+0x30/0x40)\n r4:c3c34884\n[\u003cc01b4534\u003e] (unlock_policy_rwsem_write+0x0/0x40) from [\u003cc01b4c40\u003e] (cpufreq_add_dev+0x324/0x398)\n[\u003cc01b491c\u003e] (cpufreq_add_dev+0x0/0x398) from [\u003cc018fd64\u003e] (sysdev_driver_register+0xc0/0x130)\n[\u003cc018fca4\u003e] (sysdev_driver_register+0x0/0x130) from [\u003cc01b3574\u003e] (cpufreq_register_driver+0xbc/0x174)\n\nSigned-off-by: Lothar Waßmann \u003cLW@KARO-electronics.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "a7624837261b55259d4a88309fd88529643fbb80",
      "tree": "0008c6c21c29eabc10fa2c289139b6038e859ec2",
      "parents": [
        "135a5484c3e0c6710035630b630cef3c856b78e2"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Tue May 27 11:15:08 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:48 2008 -0400"
      },
      "message": "rndis_wlan: add missing range check for power_output modparam\n\nRange check for power_output were missing.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "135a5484c3e0c6710035630b630cef3c856b78e2",
      "tree": "301d0167f8fb2a01fbfa27e9a0fe64666b570247",
      "parents": [
        "47cfd463962ab0748ecbad761ff6ef2916b54aac"
      ],
      "author": {
        "name": "Guy Cohen",
        "email": "guy.cohen@intel.com",
        "time": "Tue May 27 11:29:35 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:48 2008 -0400"
      },
      "message": "iwlwifi: fix rate scale TLC column selection bug\n\nThis patch fixes a case that a wrong maximal rate is selected when\nsearching for better configurations.\n\nSigned-off-by: Guy Cohen \u003cguy.cohen@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47cfd463962ab0748ecbad761ff6ef2916b54aac",
      "tree": "6590ee92320215c9faa2345db28b27aa181e3413",
      "parents": [
        "4364623cb79d02945ace7a4faa1f11e617dde198"
      ],
      "author": {
        "name": "Guy Cohen",
        "email": "guy.cohen@intel.com",
        "time": "Tue May 27 11:29:34 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:47 2008 -0400"
      },
      "message": "iwlwifi: fix exit from stay_in_table state\n\nWhen exiting from stay in table state (e.g. timer expiration),\nall the statistics are reset and the RS flow should not continue\nbut only after enough statistics are collected again.\n\nSigned-off-by: Guy Cohen \u003cguy.cohen@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4364623cb79d02945ace7a4faa1f11e617dde198",
      "tree": "37b628ae9996de08caa81a0dfca00431f7237272",
      "parents": [
        "d4231ca3e162387a2b6964dacaa83604e065c4e9"
      ],
      "author": {
        "name": "Scott Ashcroft",
        "email": "scott.ashcroft@talk21.com",
        "time": "Tue May 27 00:06:15 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:46 2008 -0400"
      },
      "message": "rndis_wlan: Make connections to TKIP PSK networks work\n\nThis patch allows the rndis_wlan driver to connect to TKIP PSK\nnetworks.  It uses the ASSOCIATION_INFORMATION RNDIS call to pull back\nthe IEs and sends them back to userspace using wireless events. Tested\non a few wireless networks I have access to. Based on the similar\ncode in ndiswrapper.\n\nSigned-off-by: Scott Ashcroft \u003cscott.ashcroft@talk21.com\u003e\n[edit: cleanups]\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "633257d3db547e7553500f05e0aa2692c876d7a5",
      "tree": "8c70d9d4cef50523eb3439d72a23e8242ae8a130",
      "parents": [
        "f06a0f486dc8bbe8808f46b81fbfd73241529fae"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Fri May 23 18:14:02 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:45 2008 -0400"
      },
      "message": "rt2x00: Use atomic interface iteration in irq context\n\nrt2x00lib_beacondone() is called from interrupt context,\nthis means we cannot use the mac80211 interface iterator\nthat uses the rtnl lock (since that uses a mutex which can sleep).\nInstead we should use the atomic mac80211 interface iterator.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f06a0f486dc8bbe8808f46b81fbfd73241529fae",
      "tree": "9f905bd290a16ff30f1f359f1f86a8bc8dce584d",
      "parents": [
        "2088d4174e4292aef892bb7095fc3c3ea5bd117c"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Fri May 23 18:13:56 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:45 2008 -0400"
      },
      "message": "rt2x00: Reset antenna RSSI after switch\n\nWhen the antenna configuration has changed we should reset\nthe antenna RSSI value. Otherwise the value will be influenced\nby the previous configuration quality which in turn will affect\nthe antenna diversity.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2088d4174e4292aef892bb7095fc3c3ea5bd117c",
      "tree": "b120e0d720a70a4640ff2f84e2f523ea81660068",
      "parents": [
        "0f3e63a55b1a7b695a79bf3eec2ff5ab6b336037"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Fri May 23 18:13:49 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:44 2008 -0400"
      },
      "message": "rt2x00: Don\u0027t count retries as failure\n\nLink quality estimation became quite low for all rt2x00 drivers\nbecause the number of retries it took to send the frame were\ncounted as failure.\nThis does not correspond to the legacy driver link quality calculation,\nby not counting it we will send somewhat more optimistic values to\nmac80211.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0f3e63a55b1a7b695a79bf3eec2ff5ab6b336037",
      "tree": "b24b5dd41ef30145d52e17eb43cd8595f2d84b98",
      "parents": [
        "9381be059bf5831d259e8735005cfa35b7488543"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Fri May 23 18:13:41 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:43 2008 -0400"
      },
      "message": "rt2x00: Fix memleak in tx() path\n\nWhen the tx() handler runs while the device has disapeared,\nwe did return NETDEV_TX_OK but didn\u0027t free the skb.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3bf0a32e22fedc0b46443699db2d61ac2a883ac4",
      "tree": "5ac0288be689a7fda9a5e6ec2e34bafb72a3f532",
      "parents": [
        "167ad6f7a2b2ae58dfaa46620b9b3212594f38e6"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Thu May 22 16:32:16 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:42 2008 -0400"
      },
      "message": "b43: Fix controller restart crash\n\nThis fixes a kernel crash on rmmod, in the case where the controller\nwas restarted before doing the rmmod.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6b4bec010d888c5b8c731aa596635cd83dd3416c",
      "tree": "c90eff9d7e421caf8d7954b893261e8604d42ca2",
      "parents": [
        "bc1b1fb2753873314ad1bf56bc7d5b8dd447cd2a"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Tue May 20 12:16:28 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:40 2008 -0400"
      },
      "message": "b43: Upload both beacon templates on initial load\n\nThis updates the beacon template code to upload both templates,\nif we never uploaded one before.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bc1b1fb2753873314ad1bf56bc7d5b8dd447cd2a",
      "tree": "d544beec5d609c67ab3ffa8598455605c2c3c35c",
      "parents": [
        "0a0ab41e833c8184c6d4ab663f137d5bbd50e049"
      ],
      "author": {
        "name": "Andrea Merello",
        "email": "andrea.merello@gmail.com",
        "time": "Sat May 10 13:34:16 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:40 2008 -0400"
      },
      "message": "rtl8180: fix wrong parameter in grf5101_rf_set_channel\n\nThe grf5101 RF code needs to invoke grf5101_write_phy_antenna every time the\nchannel is being switch.\n\nThis should be done passing the channel number to that function.\nIncorrectly we were passing the same value that is written on the\nchannel RF register.\nThis may cause problems when operating on ch 14.\n\nThis patch fixes it.\n\nThanks to Alessandro Di Marco who found this issue!\n\nSigned-off-by: Andrea Merello \u003candreamrl@tiscali.it\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0a0ab41e833c8184c6d4ab663f137d5bbd50e049",
      "tree": "f39473769febd13131a7cd2234a4ae11c7132fe5",
      "parents": [
        "0823b2c3c10a4db21cd39a8c72cda96b4dd6d914"
      ],
      "author": {
        "name": "Andrea Merello",
        "email": "andrea.merello@gmail.com",
        "time": "Sat May 10 13:32:34 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:39 2008 -0400"
      },
      "message": "rtl8180: fix wrong parameter in max2820_rf_set_channel\n\nThe max2820 RF code needs to invoke max2820_write_phy_antenna every time the\nchannel is being switch.\n\nThis should be done passing the channel number to that function.\nIncorrectly we were passing the same value that is written on the\nchannel RF register.\nThis may cause problems when operating on ch 14.\n\nThis patch fixes it.\n\nThanks to Alessandro Di Marco who found this issue!\n\nSigned-off-by: Andrea Merello \u003candreamrl@tiscali.it\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0823b2c3c10a4db21cd39a8c72cda96b4dd6d914",
      "tree": "b53f61039d2bf7c6e1ba3ca0ad40ed949aed29e6",
      "parents": [
        "6f6c218f68e632e4596cae6e6d43658d26a5e0fe"
      ],
      "author": {
        "name": "Andrea Merello",
        "email": "andreamrl@tiscali.it",
        "time": "Sat May 10 13:30:12 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:38 2008 -0400"
      },
      "message": "rtl8180: fix wrong parameter in sa2400_rf_set_channel\n\nThe sa2400 RF code needs to invoke sa2400_write_phy_antenna every time the\nchannel is being switch.\n\nThis should be done passing the channel number to that function.\nIncorrectly we were passing the same value that is written on the\nchannel RF register.\nThis may cause problems when operating on ch 14.\n\nThis patch fixes it.\n\nThanks to Alessandro Di Marco who found this issue!\n\nSigned-off-by: Andrea Merello \u003candreamrl@tiscali.it\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6f6c218f68e632e4596cae6e6d43658d26a5e0fe",
      "tree": "8586bdd871c382f673005a669a1c48f23c595782",
      "parents": [
        "289c79a4bd350e8a25065102563ad1a183d1b402"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 27 17:01:55 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 28 16:43:38 2008 -0400"
      },
      "message": "rtl8180: avoid NULL dereference in max2820_rf_set_channel\n\nThe static function max2820_rf_set_channel is called with conf \u003d\u003d NULL\nwithin its compilation unit.  Originally this defaulted to b/g channel\n1, but \"cfg80211 API for channels/bitrates, mac80211 and driver\nconversion\" (commit 8318d78a44d49ac1edf2bdec7299de3617c4232e) mistakenly\ndropped this check.  This patch minimally restores the expected\nbehavior.\n\nReported-by: Colin Lai \u003ccolin_sh@163.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "471637a575329f9250e7e4099e84084820a35e11",
      "tree": "4f7e469b133cdaa901c0a13e9a9e4a1f3aa97689",
      "parents": [
        "57f5b1590f2d801a3a7f072e2c65f14d4545852c"
      ],
      "author": {
        "name": "Antonio Ospite",
        "email": "ospite@studenti.unina.it",
        "time": "Wed May 28 14:35:52 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed May 28 14:35:52 2008 -0400"
      },
      "message": "Input: pxa27x_keypad - miscellaneous fixes\n\n1. Set input bits for direct keys codes\n2. Set input bits for rotary encoder codes only if rotary\n   encoder is enabled\n3. Enable EV_REL only if rotary encoder is enabled and rel_codes\n   are set up\n\nSigned-off-by: Antonio Ospite \u003cao2@openezx.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "57f5b1590f2d801a3a7f072e2c65f14d4545852c",
      "tree": "3db357ca8b0f79e873e037733854062b170dd929",
      "parents": [
        "87a54a28970fb6a91de3993120eccc01a0ece732"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed May 28 00:54:01 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed May 28 00:54:01 2008 -0400"
      },
      "message": "Input: atkbd - mark keyboard as disabled when suspending/unloading\n\nThis will shut off garbage that may come from KBD port during resume.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "1ec7d99c16e69a9ed8ffeaa6c1846025b84bebad",
      "tree": "c01a0eb7355cb00d6db27f222559cd8bbe7c7bb3",
      "parents": [
        "3dbfd0801bbbaf2800d7497d83d743a614430e82",
        "9e4f2e8d4ddb04ad16a3828cd9a369a5a5287009"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 27 18:47:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 27 18:47:59 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  pciehp: add message about pciehp_slot_with_bus option\n  pci hotplug core: add check of duplicate slot name\n  pciehp: move msleep after power off\n  pciehp: poll cmd completion if hotplug interrupt is disabled\n  pciehp: fix slow probing\n  pciehp: fix NULL dereference in interrupt handler\n  shpchp: add message about shpchp_slot_with_bus option\n  PCI: don\u0027t enable ASPM on devices with mixed PCIe/PCI functions\n"
    },
    {
      "commit": "9e4f2e8d4ddb04ad16a3828cd9a369a5a5287009",
      "tree": "af2653041dbfb77139f24bc8ffd1c2553fd4ba1e",
      "parents": [
        "a86161b3134465f072d965ca7508ec9c1e2e52c7"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue May 27 19:07:33 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue May 27 15:43:47 2008 -0700"
      },
      "message": "pciehp: add message about pciehp_slot_with_bus option\n\nSome (broken?) platform assign the same slot name to multiple hotplug\nslots. On such system, slot initialization would fail because of name\ncollision. The pciehp driver already have a \"slot_with_bus\" module\noption which adds the bus number into the slot name. This patch adds\nthe message about this module option that will be displayed when slot\nname collision is detected.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a86161b3134465f072d965ca7508ec9c1e2e52c7",
      "tree": "23fc2e69e260ab7365d1665fa021c5a6b2a9fa89",
      "parents": [
        "0711c70ec0e9d2c002b1e9b5fb9f21e49d77f4fd"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue May 27 19:07:01 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue May 27 15:43:40 2008 -0700"
      },
      "message": "pci hotplug core: add check of duplicate slot name\n\nFix the following errors reported by Jan C. Nordholz in\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10751.\n\nkobject_add_internal failed for 2 with -EEXIST, don\u0027t try to register things with the same name in the same directory.\nPid: 1, comm: swapper Tainted: G        W 2.6.26-rc3 #1\n [\u003cc0266980\u003e] kobject_add_internal+0x140/0x190\n [\u003cc0266afd\u003e] kobject_init_and_add+0x2d/0x40\n [\u003cc027bc91\u003e] pci_hp_register+0x81/0x2f0\n [\u003cc027fd07\u003e] pciehp_probe+0x1a7/0x470\n [\u003cc01b3b84\u003e] sysfs_add_one+0x44/0xa0\n [\u003cc01b3c1f\u003e] sysfs_addrm_start+0x3f/0xb0\n [\u003cc01b497a\u003e] sysfs_create_link+0x8a/0xf0\n [\u003cc0279570\u003e] pcie_port_probe_service+0x50/0x80\n [\u003cc02e0545\u003e] driver_sysfs_add+0x55/0x70\n [\u003cc02e0662\u003e] driver_probe_device+0x82/0x180\n [\u003cc02e07cc\u003e] __driver_attach+0x6c/0x70\n [\u003cc02dfe0a\u003e] bus_for_each_dev+0x3a/0x60\n [\u003cc05db2d0\u003e] pcied_init+0x0/0x80\n [\u003cc02e04e6\u003e] driver_attach+0x16/0x20\n [\u003cc02e0760\u003e] __driver_attach+0x0/0x70\n [\u003cc02e0341\u003e] bus_add_driver+0x1a1/0x220\n [\u003cc05db2d0\u003e] pcied_init+0x0/0x80\n [\u003cc02e09cd\u003e] driver_register+0x4d/0x120\n [\u003cc05db050\u003e] ibm_acpiphp_init+0x0/0x190\n [\u003cc0125aab\u003e] printk+0x1b/0x20\n [\u003cc05db2d0\u003e] pcied_init+0x0/0x80\n [\u003cc05db2de\u003e] pcied_init+0xe/0x80\n [\u003cc05c751a\u003e] kernel_init+0x10a/0x300\n [\u003cc0120138\u003e] schedule_tail+0x18/0x50\n [\u003cc0103b9a\u003e] ret_from_fork+0x6/0x1c\n [\u003cc05c7410\u003e] kernel_init+0x0/0x300\n [\u003cc05c7410\u003e] kernel_init+0x0/0x300\n [\u003cc010485b\u003e] kernel_thread_helper+0x7/0x1c\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npci_hotplug: Unable to register kobject \u00272\u0027\u003c3\u003epciehp: pci_hp_register failed with error -22\n\nSlot with the same name can be registered multiple times if shpchp or\npciehp driver is loaded after acpiphp is loaded because ACPI based\nhotplug driver and Native OS hotplug driver trying to handle the same\nphysical slot. In this case, current pci_hotplug core will call\nkobject_init_and_add() muliple time with the same name. This is the\ncause of this problem. To fix this problem, this patch adds the check\ninto pci_hp_register() to see if the slot with the same name.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0711c70ec0e9d2c002b1e9b5fb9f21e49d77f4fd",
      "tree": "3660b129fe485637baf164e7092b630e5ad3cd19",
      "parents": [
        "6592e02ae4bd7b277230aa0c5821588a13b9d8e3"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue May 27 19:06:22 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue May 27 15:43:33 2008 -0700"
      },
      "message": "pciehp: move msleep after power off\n\nAccording to the PCI Express specification, we must wait for at least\n1 second after turning power off before taking any action that relies\non power having been removed from the slot/adapter. For this, current\npciehp wait for 1 second after issuing the power off command in\nhpc_power_off_slot() function. But waiting for 1 second in\nhpc_power_off_slot() can make pciehp probing slow-down because pciehp\nprobe code calls hpc_power_off_slot() if the slot is not occupied just\nin case. We don\u0027t need to wait for 1 second at the pciehp probe time\nbecause there is no action on that empty slot. So move 1 second wait\nfrom hpc_power_off_slot() to the caller of hpc_power_off_slot().\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6592e02ae4bd7b277230aa0c5821588a13b9d8e3",
      "tree": "91f51146d5fbda41840b846e81d55555d9363f18",
      "parents": [
        "5808639bfa98d69f77a481d759570d85f164fea0"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue May 27 19:05:26 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue May 27 15:43:25 2008 -0700"
      },
      "message": "pciehp: poll cmd completion if hotplug interrupt is disabled\n\nFix improper long wait for command completion in pciehp probing.\n\nAs described in PCI Express specification, software notification is\nnot generated if the command that occurs as a result of a write to the\nSlot Control register that disables software notification of command\ncompleted events. Since pciehp driver doesn\u0027t take it into account,\nsuch command is issued in pciehp probing, and it causes improper long\nwait for command completion.\n\nThis patch changes the pciehp driver to take such command into\naccount.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5808639bfa98d69f77a481d759570d85f164fea0",
      "tree": "f691cf1890db51cb201a64c9420281684bf80608",
      "parents": [
        "dbd79aed1aea2bece0bf43cc2ff3b2f9baf48a08"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue May 27 19:04:30 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue May 27 15:43:16 2008 -0700"
      },
      "message": "pciehp: fix slow probing\n\nFix the \"pciehp probing slow\" problem reported from Jan C. Nordholz in\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10751.\n\nThe command completed bit in Slot Status register applies only to\ncommands issued to control the attention indicator, power indicator,\npower controller, or electromechanical interlock. However, writes to\nother parts of the Slot Control register would end up writing to the\ncontrol fields. Hence, any write to Slot Control register is\nconsidered as a command. However, if the controller doesn\u0027t support\nany of attention indicator, power indicator, power controller and\nelectromechanical interlock, command completed bit would not set in\nwriting to Slot Control register. In this case, we should not wait for\ncommand completed bit set, otherwise all commands would be considered\nnot completed in timeout seconds (1 sec.).\n\nThe cause of the problem is pciehp driver didn\u0027t take this situation\ninto account. This patch changes pciehp to take it into account. This\npatch also add the check for \"No Command Completed Support\" bit in\nSlot Capability register. If it is set, we should not wait for command\ncompleted bit set as well.\n\nThis problem seems to be revealed by the commit\nc27fb883dffe11aa4cb35ecea1fa1832ba45d4da that fixed the bug that\npciehp did not wait for command completed properly (pciehp just\nignored the command completion event).\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "dbd79aed1aea2bece0bf43cc2ff3b2f9baf48a08",
      "tree": "df47f2f54a1263ce55b0265237d2f7aaf9f34532",
      "parents": [
        "b3bd307c628af2f0a581c42d5d7e4bcdbbf64b6a"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue May 27 19:03:16 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue May 27 15:43:08 2008 -0700"
      },
      "message": "pciehp: fix NULL dereference in interrupt handler\n\nFix the following NULL dereference problem reported from Pierre Ossman\nand Ingo Molnar.\n\npciehp: HPC vendor_id 8086 device_id 27d0 ss_vid 0 ss_did 0\npciehp: pciehp_find_slot: slot (device\u003d0x0) not found\nBUG: unable to handle kernel NULL pointer dereference at 0000000000000070\nIP: [\u003cffffffff80494a8b\u003e] pciehp_handle_presence_change+0x7e/0x113\nPGD 0\nOops: 0000 [1]\nCPU 0\nModules linked in:\nPid: 1, comm: swapper Tainted: G        W 2.6.26-rc3-sched-devel.git-00001-g2b99b26-dirty #170\nRIP: 0010:[\u003cffffffff80494a8b\u003e]  [\u003cffffffff80494a8b\u003e] pciehp_handle_presence_change+0x7e/0x113\nRSP: 0000:ffff81003f83fbb0  EFLAGS: 00010046\nRAX: 0000000000000039 RBX: 0000000000000000 RCX: 0000000000000000\nRDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000046\nRBP: ffff81003f83fbd0 R08: 0000000000000001 R09: ffffffff80245103\nR10: 0000000000000020 R11: 0000000000000000 R12: ffff81003ea53a30\nR13: 0000000000000000 R14: 0000000000000011 R15: ffffffff80495926\nFS:  0000000000000000(0000) GS:ffffffff80be7400(0000) knlGS:0000000000000000\nCS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\nCR2: 0000000000000070 CR3: 0000000000201000 CR4: 00000000000006a0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess swapper (pid: 1, threadinfo ffff81003f83e000, task ffff81003f840000)\nStack:  0000000000000008 ffff81003f83fbf6 ffff81003ea53a30 0000000000000008\n ffff81003f83fc10 ffffffff80495ab4 0000000000000011 0000000000000002\n 0000000000000202 0000000000000202 00000000fffffff4 ffff81003ea53a30\nCall Trace:\n [\u003cffffffff80495ab4\u003e] pcie_isr+0x18e/0x1bc\n [\u003cffffffff80260831\u003e] request_irq+0x106/0x12f\n [\u003cffffffff80495fb6\u003e] pcie_init+0x15e/0x6cc\n [\u003cffffffff804933a3\u003e] pciehp_probe+0x64/0x541\n [\u003cffffffff8048f4e7\u003e] pcie_port_probe_service+0x4c/0x76\n [\u003cffffffff8054af70\u003e] driver_probe_device+0xd4/0x1f0\n [\u003cffffffff8054b108\u003e] __driver_attach+0x7c/0x7e\n [\u003cffffffff8054b08c\u003e] ? __driver_attach+0x0/0x7e\n [\u003cffffffff8054a4b6\u003e] bus_for_each_dev+0x53/0x7d\n [\u003cffffffff8054ad3c\u003e] driver_attach+0x1c/0x1e\n [\u003cffffffff8054a9c2\u003e] bus_add_driver+0xdd/0x25b\n [\u003cffffffff80c09d3d\u003e] ? pcied_init+0x0/0x8b\n [\u003cffffffff8054b288\u003e] driver_register+0x5f/0x13e\n [\u003cffffffff80c09d3d\u003e] ? pcied_init+0x0/0x8b\n [\u003cffffffff8048f441\u003e] pcie_port_service_register+0x47/0x49\n [\u003cffffffff80c09d52\u003e] pcied_init+0x15/0x8b\n [\u003cffffffff80bf3938\u003e] kernel_init+0x75/0x243\n [\u003cffffffff808639d2\u003e] ? _spin_unlock_irq+0x2b/0x3a\n [\u003cffffffff80228d1f\u003e] ? finish_task_switch+0x57/0x9a\n [\u003cffffffff8020c258\u003e] child_rip+0xa/0x12\n [\u003cffffffff8020bcec\u003e] ? restore_args+0x0/0x30\n [\u003cffffffff80bf38c3\u003e] ? kernel_init+0x0/0x243\n [\u003cffffffff8020c24e\u003e] ? child_rip+0x0/0x12\n\nCode: 83 80 00 00 00 48 39 f0 75 e1 0f b6 c9 48 c7 c2 00 0e 8d 80 48 c7 c6 8a 60 a6 80 48 c7 c7 10 db a8 80 31 c0 e8 3f 8d d9 ff 31 db \u003c48\u003e 8b 43 70 48 8d 75 ef 48 89 df ff 50 30 80 7d ef 00 74 37 48\nRIP  [\u003cffffffff80494a8b\u003e] pciehp_handle_presence_change+0x7e/0x113\n RSP \u003cffff81003f83fbb0\u003e\nCR2: 0000000000000070\nKernel panic - not syncing: Fatal exception\n\nThe situation under which it occurs is hw and timing related: it appears\nto happen on a system that has PCI hotplug hardware but with no active\nhotplug cards, and another interrupt in the same (shared) IRQ line\narrives too early, before the hotplug-slot entry has been set up - as\ntriggered by CONFIG_DEBUG_SHIRQ\u003dy:\n\nThis patch contains the following two fixes.\n\n(1) Clear all events bits in Slot Status register to prevent the pciehp\n    driver from detecting the spurious events that would have been occur\n    before pciehp loading.\n\n(2) Add check whether slot initialization had been already done.\n\nThis is short term fix. We need more structural fixes to install\ninterrupt handler after slot initialization is done.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b3bd307c628af2f0a581c42d5d7e4bcdbbf64b6a",
      "tree": "49ab6365a55d0a4fd86aba5b7a8c31d0559eb517",
      "parents": [
        "ddc9753fcddfe5f9885dc133824962c047252b43"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue May 27 19:08:23 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue May 27 15:42:55 2008 -0700"
      },
      "message": "shpchp: add message about shpchp_slot_with_bus option\n\nSome (broken?) platform assign the same slot name to multiple hotplug\nslots. On such system, slot initialization would fail because of name\ncollision. The shpchp driver already have a \"slot_with_bus\" module\noption which adds the bus number into the slot name. This patch adds\nthe message about this module option that will be displayed when slot\nname collision is detected.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c433a1b6426880d3e23267938c3542706f3d03a6",
      "tree": "afba65d4d74024b112847f77de3003b373fa8940",
      "parents": [
        "8962cadbe7cbc4ed0fff94f56ebab505a10afd2e"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue May 27 16:07:26 2008 -0500"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue May 27 16:07:45 2008 -0500"
      },
      "message": "electra_cf: Add MODULE_DEVICE_TABLE()\n\nAdd a module device table to electra_cf so that modules can be\nauto-probed/loaded.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "edb2301f2903e96beadc333f9584222c05858518",
      "tree": "e3d02d778ad49d546fa097dc1859f8931580b517",
      "parents": [
        "e490517a039a99d692cb3a5561941b0a5f576172"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue May 27 06:31:43 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 27 07:34:38 2008 -0700"
      },
      "message": "ck804rom: fix driver_data in probe table.\n\nThere\u0027s a reason why using C99 initialisers even in the supposedly\ntrivial structs is a good idea.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87a54a28970fb6a91de3993120eccc01a0ece732",
      "tree": "21373bd987f3573e36d5cd61a8b0d1de6833e28d",
      "parents": [
        "43f83a8f9963a11a9c3f41beecc363da21ae3602"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Tue May 27 01:38:45 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue May 27 01:38:45 2008 -0400"
      },
      "message": "Input: apanel - remove duplicate include\n\nRemove duplicate include file \u003clinux/module.h\u003e.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "43f83a8f9963a11a9c3f41beecc363da21ae3602",
      "tree": "a9c53e4c7a491437698945d1a3ac2229e89a4846",
      "parents": [
        "5de4cd431db749bdca58ec88862462729f6159b2"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue May 27 01:37:26 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue May 27 01:37:26 2008 -0400"
      },
      "message": "Input: wm9713 - support five wire panels\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "5de4cd431db749bdca58ec88862462729f6159b2",
      "tree": "86a4d81c487645e3bdb87c0ee31cf3ba62c9dc7e",
      "parents": [
        "ef9db4929a4d9559abf1812fd89cc3b09c56b49b"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue May 27 01:37:19 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue May 27 01:37:19 2008 -0400"
      },
      "message": "Input: wm97xx-core - fix race on PHY init\n\nThe chip phy_init() function must be called before the dig_enable() function\nbut dig_enable() is called when the device is opened and we only call\nphy_init() after having reigstered the device, meaning the two can race.\nFix this by doing the phy_init() before we register the input device.\n\nThanks to Rodolfo Giometti \u003cgiometti@enneenne.com\u003e for the report.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "ef9db4929a4d9559abf1812fd89cc3b09c56b49b",
      "tree": "b236be061e17c7525bff7bcbbba918604d47e1b1",
      "parents": [
        "6b32ca39d70f5d92f4d450dc54966f20e8b5c1f6"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue May 27 01:37:08 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue May 27 01:37:08 2008 -0400"
      },
      "message": "Input: wm97xx-core - fix driver name\n\nFix driver name - thanks to Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e for\nreporting this.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "6b32ca39d70f5d92f4d450dc54966f20e8b5c1f6",
      "tree": "0f306a5deecdd394ed304a3a8577d7897e7f2224",
      "parents": [
        "d35895db7aadc24086b6002101154eec478e9dd6"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue May 27 01:36:47 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue May 27 01:36:47 2008 -0400"
      },
      "message": "Input: wm97xx-core - report a phys for WM97xx touchscreens\n\nphys is displayed in diagnostic output like that from evbug so ensure\nthat it is set to something.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "d35895db7aadc24086b6002101154eec478e9dd6",
      "tree": "b62557d16b6944d1caedf8a90a172993f3ab1aa6",
      "parents": [
        "65e660aa3f76b120c2fe69bf07e1b416dae404a7"
      ],
      "author": {
        "name": "Bruno Prémont",
        "email": "bonbons@linux-vserver.org",
        "time": "Tue May 27 01:36:04 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue May 27 01:36:04 2008 -0400"
      },
      "message": "Input: i8042 - make sure Dritek quirk is invoked at resume\n\nAlso do not fail i8042 entire initialization if enabling dritek extension\nfails.\n\nSigned-off-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    }
  ],
  "next": "84a881657d391121cd88c37f0a312dec3528fa44"
}
