Permalink
Commits on Jan 31, 2013
  1. Merge branch 'bfq-3.7' into pf-3.7

    Oleksandr Natalenko committed Jan 31, 2013
  2. block, bfq: do not update peak rate if service rate of the active que…

    …ue is zero
    
    It may happen that the amount of service received by the active
    queue is so small that the computed service rate is zero. In this
    case, do not update the peak rate.
    ariava committed with Oleksandr Natalenko Jan 26, 2013
  3. block, bfq: do not update peak rate if no I/O was done during the ser…

    …vice round
    
    It may happen that, due to I/O errors, the active queue is expired
    without any of its requests being actually completed. If this happens,
    do not update the peak rate.
    ariava committed with Oleksandr Natalenko Jan 17, 2013
  4. Merge branch 'bfq-3.7' into pf-3.7

    Oleksandr Natalenko committed Jan 31, 2013
  5. block, bfq: introduce Early Queue Merge (v3.5.0, v3.6.0, v3.7.0)

    A set of processes may happen  to perform interleaved reads, i.e., the union
    of their  requests would give rise  to a sequential read  pattern. There are
    two typical  cases: in the first  case, processes read fixed-size  chunks of
    data at a fixed distance from each other, while in the second case processes
    may read variable-size chunks at  variable distances. The latter case occurs
    for  example with  KVM, which  splits the  I/O generated  by the  guest into
    multiple chunks,  and lets these chunks  be served by a  pool of cooperating
    processes,  iteratively  assigning  the  next  chunk of  I/O  to  the  first
    available  process. CFQ  uses actual  queue merging  for the  first type  of
    processes, whereas it  uses preemption to get a sequential  read pattern out
    of the read requests  performed by the second type of  processes. In the end
    it uses  two different  mechanisms to  achieve the  same goal:  boosting the
    throughput with interleaved I/O.
    
    This patch introduces Early Queue Merge  (EQM), a unified mechanism to get a
    sequential  read pattern  with both  types of  processes. The  main idea  is
    checking newly arrived requests against the next request of the active queue
    both in case of actual request insert and in case of request merge. By doing
    so, both the types of processes can be handled by just merging their queues.
    EQM is  then simpler and  more compact than the  pair of mechanisms  used in
    CFQ.
    
    Finally, EQM  also preserves the  typical low-latency properties of  BFQ, by
    properly restoring the weight-raising state of  a queue when it gets back to
    a non-merged state.
    
    Signed-off-by: Mauro Andreolini <mauro.andreolini@unimore.it>
    Signed-off-by: Arianna Avanzini <avanzini.arianna@gmail.com>
    Reviewed-by: Paolo Valente <paolo.valente@unimore.it>
    ariava committed with Oleksandr Natalenko Sep 4, 2012
Commits on Jan 29, 2013
  1. Merge branch 'ck-3.7' into pf-3.7

    Oleksandr Natalenko committed Jan 29, 2013
  2. ck-3.7: merge BFS v0.427

    Oleksandr Natalenko committed Jan 29, 2013
Commits on Jan 28, 2013
  1. Merge branch 'distro-3.7' into pf-3.7

    Oleksandr Natalenko committed Jan 28, 2013
  2. Merge branch 'version-3.7' into pf-3.7

    Oleksandr Natalenko committed Jan 28, 2013
  3. distro-3.7: bump to v3.7.4-pf

    Oleksandr Natalenko committed Jan 28, 2013
  4. version-3.7: bump to v3.7.4-pf

    Oleksandr Natalenko committed Jan 28, 2013
  5. fix merge conflict

    Oleksandr Natalenko committed Jan 28, 2013
  6. Fix TuxOnIce infinite loop in freeing memory.

    Modify our tweaks to the memory freeing logic to avoid an infinite
    loop. Further work is required to improve our ability to get all the
    memory we should get, without the potential for getting stuck in here
    forever.
    
    Signed-off-by: Nigel Cunningham <nigel@nigelcunningham.com.au>
    NigelCunningham committed Jan 28, 2013
  7. Linux 3.7.5

    gregkh committed Jan 28, 2013
  8. dma: tegra: implement flags parameters for cyclic transfer

    commit b9bb37f upstream.
    
    The flag parameter is added in the cyclic transfer request.
    Use the flag option of:
    - DMA_PREP_INTERRUPT for enabling interrupt.
    - DMA_CTRL_ACK for deciding whether ack is requred or not for
      descriptor.
    
    Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ldewangan committed with gregkh Jan 9, 2013
  9. ioat: Fix DMA memory sync direction correct flag

    commit ac49898 upstream.
    
    ioat does DMA memory sync with DMA_TO_DEVICE direction on a buffer allocated
    for DMA_FROM_DEVICE dma, resulting in the following warning from dma debug.
    Fixed the dma_sync_single_for_device() call to use the correct direction.
    
    [  226.288947] WARNING: at lib/dma-debug.c:990 check_sync+0x132/0x550()
    [  226.288948] Hardware name: ProLiant DL380p Gen8
    [  226.288951] ioatdma 0000:00:04.0: DMA-API: device driver syncs DMA memory with different direction [device address=0x00000000ffff7000] [size=4096 bytes] [mapped with DMA_FROM_DEVICE] [synced with DMA_TO_DEVICE]
    [  226.288953] Modules linked in: iTCO_wdt(+) sb_edac(+) ioatdma(+) microcode serio_raw pcspkr edac_core hpwdt(+) iTCO_vendor_support hpilo(+) dca acpi_power_meter ata_generic pata_acpi sd_mod crc_t10dif ata_piix libata hpsa tg3 netxen_nic(+) sunrpc dm_mirror dm_region_hash dm_log dm_mod
    [  226.288967] Pid: 1055, comm: work_for_cpu Tainted: G        W    3.3.0-0.20.el7.x86_64 #1
    [  226.288968] Call Trace:
    [  226.288974]  [<ffffffff810644cf>] warn_slowpath_common+0x7f/0xc0
    [  226.288977]  [<ffffffff810645c6>] warn_slowpath_fmt+0x46/0x50
    [  226.288980]  [<ffffffff81345502>] check_sync+0x132/0x550
    [  226.288983]  [<ffffffff81345c9f>] debug_dma_sync_single_for_device+0x3f/0x50
    [  226.288988]  [<ffffffff81661002>] ? wait_for_common+0x72/0x180
    [  226.288995]  [<ffffffffa019590f>] ioat_xor_val_self_test+0x3e5/0x832 [ioatdma]
    [  226.288999]  [<ffffffff811a5739>] ? kfree+0x259/0x270
    [  226.289004]  [<ffffffffa0195d77>] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
    [  226.289008]  [<ffffffffa01952c3>] ioat_probe+0x2f8/0x348 [ioatdma]
    [  226.289011]  [<ffffffffa0195f51>] ioat3_dma_probe+0x1d5/0x2aa [ioatdma]
    [  226.289016]  [<ffffffffa0194d12>] ioat_pci_probe+0x139/0x17c [ioatdma]
    [  226.289020]  [<ffffffff81354b8c>] local_pci_probe+0x5c/0xd0
    [  226.289023]  [<ffffffff81083e50>] ? destroy_work_on_stack+0x20/0x20
    [  226.289025]  [<ffffffff81083e68>] do_work_for_cpu+0x18/0x30
    [  226.289029]  [<ffffffff8108d997>] kthread+0xb7/0xc0
    [  226.289033]  [<ffffffff8166cef4>] kernel_thread_helper+0x4/0x10
    [  226.289036]  [<ffffffff81662d20>] ? _raw_spin_unlock_irq+0x30/0x50
    [  226.289038]  [<ffffffff81663234>] ? retint_restore_args+0x13/0x13
    [  226.289041]  [<ffffffff8108d8e0>] ? kthread_worker_fn+0x1a0/0x1a0
    [  226.289044]  [<ffffffff8166cef0>] ? gs_change+0x13/0x13
    [  226.289045] ---[ end trace e1618afc7a606089 ]---
    [  226.289047] Mapped at:
    [  226.289048]  [<ffffffff81345307>] debug_dma_map_page+0x87/0x150
    [  226.289050]  [<ffffffffa019653c>] dma_map_page.constprop.18+0x70/0xb34 [ioatdma]
    [  226.289054]  [<ffffffffa0195702>] ioat_xor_val_self_test+0x1d8/0x832 [ioatdma]
    [  226.289058]  [<ffffffffa0195d77>] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
    [  226.289061]  [<ffffffffa01952c3>] ioat_probe+0x2f8/0x348 [ioatdma]
    
    Signed-off-by: Shuah Khan <shuah.khan@hp.com>
    Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Shuah Khan committed with gregkh Oct 25, 2012
  10. intel_idle: Don't register CPU notifier if we are not running.

    commit 6f8c2e7 upstream.
    
    The 'intel_idle_probe' probes the CPU and sets the CPU notifier.
    But if later on during the module initialization we fail (say
    in cpuidle_register_driver), we stop loading, but we neglect
    to unregister the CPU notifier.  This means that during CPU
    hotplug events the system will fail:
    
    calling  intel_idle_init+0x0/0x326 @ 1
    intel_idle: MWAIT substates: 0x1120
    intel_idle: v0.4 model 0x2A
    intel_idle: lapic_timer_reliable_states 0xffffffff
    intel_idle: intel_idle yielding to none
    initcall intel_idle_init+0x0/0x326 returned -19 after 14 usecs
    
    ... some time later, offlining and onlining a CPU:
    
    cpu 3 spinlock event irq 62
    BUG: unable to ] __cpuidle_register_device+0x1c/0x120
    PGD 99b8b067 PUD 99b95067 PMD 0
    Oops: 0000 [#1] SMP
    Modules linked in: xen_evtchn nouveau mxm_wmi wmi radeon ttm i915 fbcon tileblit font atl1c bitblit softcursor drm_kms_helper video xen_blkfront xen_netfront fb_sys_fops sysimgblt sysfillrect syscopyarea xenfs xen_privcmd mperf
    CPU 0
    Pid: 2302, comm: udevd Not tainted 3.8.0-rc3upstream-00249-g09ad159 #1 MSI MS-7680/H61M-P23 (MS-7680)
    RIP: e030:[<ffffffff814d956c>]  [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120
    RSP: e02b:ffff88009dacfcb8  EFLAGS: 00010286
    RAX: 0000000000000000 RBX: ffff880105380000 RCX: 000000000000001c
    RDX: 0000000000000000 RSI: 0000000000000055 RDI: ffff880105380000
    RBP: ffff88009dacfce8 R08: ffffffff81a4f048 R09: 0000000000000008
    R10: 0000000000000008 R11: 0000000000000000 R12: ffff880105380000
    R13: 00000000ffffffdd R14: 0000000000000000 R15: ffffffff81a523d0
    FS:  00007f37bd83b7a0(0000) GS:ffff880105200000(0000) knlGS:0000000000000000
    CS:  e033 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000008 CR3: 00000000a09ea000 CR4: 0000000000042660
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process udevd (pid: 2302, threadinfo ffff88009dace000, task ffff88009afb47f0)
    Stack:
     ffffffff8107f2d0 ffffffff810c2fb7 ffff88009dacfce8 00000000ffffffea
     ffff880105380000 00000000ffffffdd ffff88009dacfd08 ffffffff814d9882
     0000000000000003 ffff880105380000 ffff88009dacfd28 ffffffff81340afd
    Call Trace:
     [<ffffffff8107f2d0>] ? collect_cpu_info_local+0x30/0x30
     [<ffffffff810c2fb7>] ? __might_sleep+0xe7/0x100
     [<ffffffff814d9882>] cpuidle_register_device+0x32/0x70
     [<ffffffff81340afd>] intel_idle_cpu_init+0xad/0x110
     [<ffffffff81340bc8>] cpu_hotplug_notify+0x68/0x80
     [<ffffffff8166023d>] notifier_call_chain+0x4d/0x70
     [<ffffffff810bc369>] __raw_notifier_call_chain+0x9/0x10
     [<ffffffff81094a4b>] __cpu_notify+0x1b/0x30
     [<ffffffff81652cf7>] _cpu_up+0x103/0x14b
     [<ffffffff81652e18>] cpu_up+0xd9/0xec
     [<ffffffff8164a254>] store_online+0x94/0xd0
     [<ffffffff814122fb>] dev_attr_store+0x1b/0x20
     [<ffffffff81216404>] sysfs_write_file+0xf4/0x170
     [<ffffffff811a1024>] vfs_write+0xb4/0x130
     [<ffffffff811a17ea>] sys_write+0x5a/0xa0
     [<ffffffff816643a9>] system_call_fastpath+0x16/0x1b
    Code: 03 18 00 c9 c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 48 83 ec 30 48 89 5d e8 4c 89 65 f0 48 89 fb 4c 89 6d f8 e8 84 08 00 00 <48> 8b 78 08 49 89 c4 e8 f8 7f c1 ff 89 c2 b8 ea ff ff ff 84 d2
    RIP  [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120
     RSP <ffff88009dacfcb8>
    
    This patch fixes that by moving the CPU notifier registration
    as the last item to be done by the module.
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Konrad Rzeszutek Wilk committed with gregkh Jan 16, 2013
  11. i2c: mxs: Fix type of error code

    commit 0f40cbc upstream.
    
    cmd_err is used to handle error code, so it should not be unsigned.
    
    This fixes the following warning when building with W=1 option:
    
    drivers/i2c/busses/i2c-mxs.c: In function 'mxs_i2c_xfer_msg':
    drivers/i2c/busses/i2c-mxs.c:331:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    
    Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
    Acked-by: Marek Vasut <marex@denx.de>
    Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Fabio Estevam committed with gregkh Jan 8, 2013
  12. ACPI: Check MSR valid bit before using P-state frequencies

    commit 9855d8c upstream.
    
    To fix incorrect P-state frequencies which can happen on
    some AMD systems f594065
       "ACPI: Add fixups for AMD P-state figures"
    introduced a quirk to obtain the correct values by reading
    from AMD specific MSRs.
    
    This did cause a regression when running a kernel using that
    quirk under Xen which does (currently) not pass through MSR
    reads to the HW. Instead the guest gets a 0 in return.
    And this seems to cause a failure to initialize the ondemand
    governour (hard to say for sure as all P-states appear to run
    at the same frequency).
    
    While this should also be fixed in the hypervisor (to allow
    a guest to read that MSR), this patch is intended to work
    around the issue in the meantime. In discussion it turned out
    that indeed real HW/BIOSes may choose to not set the valid bit
    and thus mark the P-state as invalid. So this could be considered
    a fix for broken BIOSes that also works around the issue on Xen.
    
    Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
    Acked-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Stefan Bader committed with gregkh Jan 22, 2013
  13. ACPI / processor: Get power info before updating the C-states

    commit f427e5f upstream.
    
    acpi_processor_get_power_info() has to be called before
    acpi_processor_setup_cpuidle_states() to have the latest
    information available. This fixes the missing C-state information
    after AC-->DC transition.
    
    Signed-off-by: Thomas Schlichter <thomas.schlichter@web.de>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Thomas Schlichter committed with gregkh Jan 18, 2013
  14. ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled

    commit b88a634 upstream.
    
    If cpuidle is disabled, that means that:
    
    	per_cpu(acpi_cpuidle_device, pr->id)
    
    is set to NULL as the acpi_processor_power_init ends up failing at
    
    	 retval = cpuidle_register_driver(&acpi_idle_driver)
    
    (in acpi_processor_power_init) and never sets the per_cpu idle
    device.  So when acpi_processor_hotplug on CPU online notification
    tries to reference said device it crashes:
    
    cpu 3 spinlock event irq 62
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000004
    IP: [<ffffffff81381013>] acpi_processor_setup_cpuidle_cx+0x3f/0x105
    PGD a259b067 PUD ab38b067 PMD 0
    Oops: 0002 [#1] SMP
    odules linked in: dm_multipath dm_mod xen_evtchn iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi libcrc32c crc32c nouveau mxm_wmi wmi radeon ttm sg sr_mod sd_mod cdrom ata_generic ata_piix libata crc32c_intel scsi_mod atl1c i915 fbcon tileblit font bitblit softcursor drm_kms_helper video xen_blkfront xen_netfront fb_sys_fops sysimgblt sysfillrect syscopyarea xenfs xen_privcmd mperf
    CPU 1
    Pid: 3047, comm: bash Not tainted 3.8.0-rc3upstream-00250-g165c029 #1 MSI MS-7680/H61M-P23 (MS-7680)
    RIP: e030:[<ffffffff81381013>]  [<ffffffff81381013>] acpi_processor_setup_cpuidle_cx+0x3f/0x105
    RSP: e02b:ffff88001742dca8  EFLAGS: 00010202
    RAX: 0000000000010be9 RBX: ffff8800a0a61800 RCX: ffff880105380000
    RDX: 0000000000000003 RSI: 0000000000000200 RDI: ffff8800a0a61800
    RBP: ffff88001742dce8 R08: ffffffff81812360 R09: 0000000000000200
    R10: aaaaaaaaaaaaaaaa R11: 0000000000000001 R12: ffff8800a0a61800
    R13: 00000000ffffff01 R14: 0000000000000000 R15: ffffffff81a907a0
    FS:  00007fd6942f7700(0000) GS:ffff880105280000(0000) knlGS:0000000000000000
    CS:  e033 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000004 CR3: 00000000a6773000 CR4: 0000000000042660
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process bash (pid: 3047, threadinfo ffff88001742c000, task ffff880017944000)
    Stack:
     0000000000000150 ffff880100f59e00 ffff88001742dcd8 ffff8800a0a61800
     0000000000000000 00000000ffffff01 0000000000000000 ffffffff81a907a0
     ffff88001742dd18 ffffffff813815b1 ffff88001742dd08 ffffffff810ae336
    Call Trace:
     [<ffffffff813815b1>] acpi_processor_hotplug+0x7c/0x9f
     [<ffffffff810ae336>] ? schedule_delayed_work_on+0x16/0x20
     [<ffffffff8137ee8f>] acpi_cpu_soft_notify+0x90/0xca
     [<ffffffff8166023d>] notifier_call_chain+0x4d/0x70
     [<ffffffff810bc369>] __raw_notifier_call_chain+0x9/0x10
     [<ffffffff81094a4b>] __cpu_notify+0x1b/0x30
     [<ffffffff81652cf7>] _cpu_up+0x103/0x14b
     [<ffffffff81652e18>] cpu_up+0xd9/0xec
     [<ffffffff8164a254>] store_online+0x94/0xd0
     [<ffffffff814122fb>] dev_attr_store+0x1b/0x20
     [<ffffffff81216404>] sysfs_write_file+0xf4/0x170
    
    This patch fixes it.
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Konrad Rzeszutek Wilk committed with gregkh Jan 16, 2013
  15. cpufreq: Add module aliases for acpi-cpufreq

    commit efa1719 upstream.
    
    The acpi core will call request_module("acpi-cpufreq") on subsystem init,
    but this will fail if the module isn't available at that stage of boot.
    Add some module aliases to ensure that udev can load the module on Intel
    and AMD systems with the appropriate feature bits - I /think/ that this
    will also work on VIA systems, but haven't verified that.
    
    References: http://lkml.kernel.org/r/1448223.sdUJnNSRz4@vostro.rjw.lan
    Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
    Tested-by: Leonid Isaev <lisaev@umail.iu.edu>
    Acked-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Matthew Garrett committed with gregkh Jan 22, 2013
  16. powernow-k8: Add a kconfig dependency on acpi-cpufreq

    commit 631e8ac upstream.
    
    Andreas reports in https://bugzilla.kernel.org/show_bug.cgi?id=51741
    that with his Gentoo config, acpi-cpufreq wasn't enabled and
    powernow-k8 couldn't handoff properly to acpi-cpufreq leading to
    running without P-state support (i.e., cores are constantly in P0).
    
    To alleaviate that, we need to make powernow-k8 depend on acpi-cpufreq
    so that acpi-cpufreq is always present.
    
    References: https://bugzilla.kernel.org/show_bug.cgi?id=51741
    Reported-by: Andreas <linuxuser330250@gmx.net>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Borislav Petkov committed with gregkh Jan 17, 2013
  17. module: fix missing module_mutex unlock

    commit ee61abb upstream.
    
    Commit 1fb9341 ("module: put modules in list much earlier") moved
    some of the module initialization code around, and in the process
    changed the exit paths too.  But for the duplicate export symbol error
    case the change made the ddebug_cleanup path jump to after the module
    mutex unlock, even though it happens with the mutex held.
    
    Rusty has some patches to split this function up into some helper
    functions, hopefully the mess of complex goto targets will go away
    eventually.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    torvalds committed with gregkh Jan 21, 2013
  18. module: put modules in list much earlier.

    commit 1fb9341 upstream.
    
    Prarit's excellent bug report:
    > In recent Fedora releases (F17 & F18) some users have reported seeing
    > messages similar to
    >
    > [   15.478160] kvm: Could not allocate 304 bytes percpu data
    > [   15.478174] PERCPU: allocation failed, size=304 align=32, alloc from
    > reserved chunk failed
    >
    > during system boot.  In some cases, users have also reported seeing this
    > message along with a failed load of other modules.
    >
    > What is happening is systemd is loading an instance of the kvm module for
    > each cpu found (see commit e9bda3b).  When the module load occurs the kernel
    > currently allocates the modules percpu data area prior to checking to see
    > if the module is already loaded or is in the process of being loaded.  If
    > the module is already loaded, or finishes load, the module loading code
    > releases the current instance's module's percpu data.
    
    Now we have a new state MODULE_STATE_UNFORMED, we can insert the
    module into the list (and thus guarantee its uniqueness) before we
    allocate the per-cpu region.
    
    Reported-by: Prarit Bhargava <prarit@redhat.com>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Tested-by: Prarit Bhargava <prarit@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    rustyrussell committed with gregkh Jan 12, 2013
  19. module: add new state MODULE_STATE_UNFORMED.

    commit 0d21b0e upstream.
    
    You should never look at such a module, so it's excised from all paths
    which traverse the modules list.
    
    We add the state at the end, to avoid gratuitous ABI break (ksplice).
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    rustyrussell committed with gregkh Jan 12, 2013
  20. drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled

    commit 4283908 upstream.
    
    Quoting from Bspec, 3D_CHICKEN1, bit 10
    
    This bit needs to be set always to "1", Project: DevSNB "
    
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    danvet committed with gregkh Dec 14, 2012
  21. drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists

    commit 9f9c9cb upstream.
    
    The right dmi version is in SMBIOS if it's zero in DMI region
    
    This issue was originally found from an oracle bug.
    One customer noticed system UUID doesn't match between dmidecode & uek2.
    
     - HP ProLiant BL460c G6 :
       # cat /sys/devices/virtual/dmi/id/product_uuid
       00000000-0000-4C48-3031-4D5030333531
       # dmidecode | grep -i uuid
       UUID: 00000000-0000-484C-3031-4D5030333531
    
    From SMBIOS 2.6 on, spec use little-endian encoding for UUID other than
    network byte order.
    
    So we need to get dmi version to distinguish.  If version is 0.0, the
    real version is taken from the SMBIOS version.  This is part of original
    kernel comment in code.
    
    [akpm@linux-foundation.org: checkpatch fixes]
    Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
    Cc: Feng Jin <joe.jin@oracle.com>
    Cc: Jean Delvare <khali@linux-fr.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Abdallah Chatila <abdallah.chatila@ericsson.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Zhenzhong Duan committed with gregkh Dec 20, 2012
  22. drivers/firmware/dmi_scan.c: check dmi version when get system uuid

    commit f1d8e61 upstream.
    
    As of version 2.6 of the SMBIOS specification, the first 3 fields of the
    UUID are supposed to be little-endian encoded.
    
    Also a minor fix to match variable meaning and mute checkpatch.pl
    
    [akpm@linux-foundation.org: tweak code comment]
    Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
    Cc: Feng Jin <joe.jin@oracle.com>
    Cc: Jean Delvare <khali@linux-fr.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Abdallah Chatila <abdallah.chatila@ericsson.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Zhenzhong Duan committed with gregkh Dec 20, 2012
  23. SCSI: sd: Reshuffle init_sd to avoid crash

    commit afd5e34 upstream.
    
    scsi_register_driver will register a prep_fn() function, which
    in turn migh need to use the sd_cdp_pool for DIF.
    Which hasn't been initialised at this point, leading to
    a crash. So reshuffle the init_sd() and exit_sd() paths
    to have the driver registered last.
    
    Signed-off-by: Joel D. Diaz <joeldiaz@us.ibm.com>
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>
    Cc: CAI Qian <caiqian@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Joel D. Diaz committed with gregkh Oct 10, 2012
  24. usb: musb: cppi_dma: drop '__init' annotation

    commit 091a62c upstream.
    
    This patch fixes the following:
    
    WARNING: vmlinux.o(.text+0x1e709c): Section mismatch in reference from the funct
    ion dma_controller_create() to the function .init.text:cppi_controller_start()
    The function dma_controller_create() references
    the function __init cppi_controller_start().
    This is often because dma_controller_create lacks a __init
    annotation or the annotation of cppi_controller_start is wrong.
    
    This warning is there due to the deficiency in the commit 07a67bb (usb: musb:
    Make dma_controller_create __devinit).
    
    Since the start() method is only called from musb_init_controller() which is
    not annotated, drop '__init' annotation from cppi_controller_start() and also
    cppi_pool_init() since it gets called from that function, to avoid another
    section mismatch warning...
    
    Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Sergei Shtylyov committed with gregkh Dec 14, 2012
  25. usb: gadget: FunctionFS: Fix missing braces in parse_opts

    commit b810075 upstream.
    
    Add missing braces around an if block in ffs_fs_parse_opts. This broke
    parsing the uid/gid mount options and causes mount to fail when using
    uid/gid. This has been introduced by commit b9b73f7 (userns: Convert usb
    functionfs to use kuid/kgid where appropriate) in 3.7.
    
    Signed-off-by: Benoit Goby <benoit@android.com>
    Acked-by: Michal Nazarewicz <mina86@mina86.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    benoitgoby committed with gregkh Jan 9, 2013
  26. usb: dwc3: gadget: fix ep->maxburst for ep0

    commit 6048e4c upstream.
    
    dwc3_gadget_set_ep_config expects maxburst as incremented by 1. So, by
    default initialize ep->maxburst to 1 for ep0.
    
    Signed-off-by: Pratyush Anand <pratyush.anand@st.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Pratyush Anand committed with gregkh Jan 18, 2013
  27. USB: UHCI: fix IRQ race during initialization

    commit 0f815a0 upstream.
    
    This patch (as1644) fixes a race that occurs during startup in
    uhci-hcd.  If the IRQ line is shared with other devices, it's possible
    for the handler routine to be called before the data structures are
    fully initialized.
    
    The problem is fixed by adding a check to the IRQ handler routine.  If
    the initialization hasn't finished yet, the routine will return
    immediately.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Reported-by: Don Zickus <dzickus@redhat.com>
    Tested-by: "Huang, Adrian (ISS Linux TW)" <adrian.huang@hp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Alan Stern committed with gregkh Jan 22, 2013