Skip to content
Commits on Feb 15, 2012
  1. Merge branch 'configs-3.2' into pf-3.2

    Oleksandr Natalenko committed Feb 15, 2012
  2. configs-3.2: enable non-default TOI for Dell Inspiron 1525 laptop for…

    Oleksandr Natalenko committed Feb 15, 2012
    … testing purposes
Commits on Feb 14, 2012
  1. fix merge conflict

    Oleksandr Natalenko committed Feb 15, 2012
  2. fix merge conflict

    Oleksandr Natalenko committed Feb 15, 2012
  3. Merge branch 'configs-3.2' into pf-3.2

    Oleksandr Natalenko committed Feb 15, 2012
  4. Merge remote-tracking branch 'linux-stable/linux-3.2.y' into pf-3.2

    Oleksandr Natalenko committed Feb 15, 2012
  5. Merge branch 'imq-3.2' into pf-3.2

    Oleksandr Natalenko committed Feb 15, 2012
  6. Merge branch 'bfq-3.2' into pf-3.2

    Oleksandr Natalenko committed Feb 15, 2012
  7. ck-3.2: remove redundand info

    Oleksandr Natalenko committed Feb 15, 2012
  8. version-3.2: bump version to 3.2.5-pf

    Oleksandr Natalenko committed Feb 15, 2012
Commits on Feb 13, 2012
  1. @gregkh

    Linux 3.2.6

    gregkh committed Feb 13, 2012
  2. @gregkh

    powernow-k8: Fix indexing issue

    Andreas Herrmann committed with gregkh Jan 6, 2012
    commit a8eb284 upstream.
    
    The driver uses the pstate number from the status register as index in
    its table of ACPI pstates (powernow_table). This is wrong as this is
    not a 1-to-1 mapping.
    
    For example we can have _PSS information to just utilize Pstate 0 and
    Pstate 4, ie.
    
      powernow-k8: Core Performance Boosting: on.
      powernow-k8:    0 : pstate 0 (2200 MHz)
      powernow-k8:    1 : pstate 4 (1400 MHz)
    
    In this example the driver's powernow_table has just 2 entries. Using
    the pstate number (4) as index into this table is just plain wrong.
    
    Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
    Signed-off-by: Dave Jones <davej@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  3. @gregkh

    powernow-k8: Avoid Pstate MSR accesses on systems supporting CPB

    Andreas Herrmann committed with gregkh Jan 6, 2012
    commit 201bf0f upstream.
    
    Due to CPB we can't directly map SW Pstates to Pstate MSRs. Get rid of
    the paranoia check. (assuming that the ACPI Pstate information is
    correct.)
    
    Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
    Signed-off-by: Dave Jones <davej@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  4. @AxelLin @gregkh

    mmc: cb710 core: Add missing spin_lock_init for irq_lock of struct cb…

    AxelLin committed with gregkh Feb 1, 2012
    …710_chip
    
    commit b5266ea upstream.
    
    Signed-off-by: Axel Lin <axel.lin@gmail.com>
    Acked-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  5. @gregkh

    zcache: fix deadlock condition

    Dan Magenheimer committed with gregkh Jan 25, 2012
    commit 9256a47 upstream.
    
    I discovered this deadlock condition awhile ago working on RAMster
    but it affects zcache as well.  The list spinlock must be
    locked prior to the page spinlock and released after.  As
    a result, the page copy must also be done while the locks are held.
    
    Applies to 3.2.  Konrad, please push (via GregKH?)...
    this is definitely a bug fix so need not be pushed during
    a -rc0 window.
    
    Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
    Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  6. @gregkh

    zcache: Set SWIZ_BITS to 8 to reduce tmem bucket lock contention.

    Dan Magenheimer committed with gregkh Jan 23, 2012
    commit e8b4553 upstream.
    
    SWIZ_BITS > 8 results in a much larger number of "tmem_obj"
    allocations, likely one per page-placed-in-frontswap.  The
    tmem_obj is not huge (roughly 100 bytes), but it is large
    enough to add a not-insignificant memory overhead to zcache.
    
    The SWIZ_BITS=8  will get roughly the same lock contention
    without the space wastage.
    
    The effect of SWIZ_BITS can be thought of as "2^SWIZ_BITS is
    the number of unique oids that be generated" (This concept is
    limited to frontswap's use of tmem).
    
    Acked-by: Seth Jennings <sjenning@linux.vnet.ibm.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  7. @gregkh

    USB: add new zte 3g-dongle's pid to option.c

    Rui li committed with gregkh Jan 31, 2012
    commit 1608ea5 upstream.
    
    As ZTE have and will use more pid for new products this year,
    so we need to add some new zte 3g-dongle's pid on option.c ,
    and delete one pid 0x0154 because it use for mass-storage port.
    
    Signed-off-by: Rui li <li.rui27@zte.com.cn>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  8. @milon21 @gregkh

    USB: usbserial: add new PID number (0xa951) to the ftdi driver

    milon21 committed with gregkh Feb 3, 2012
    commit 90451e6 upstream.
    
    Signed-off-by: Milan Kocian <milon@wq.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  9. @gregkh

    usb: Skip PCI USB quirk handling for Netlogic XLP

    Jayachandran C committed with gregkh Jan 27, 2012
    commit e4436a7 upstream.
    
    The Netlogic XLP SoC's on-chip USB controller appears as a PCI
    USB device, but does not need the EHCI/OHCI handoff done in
    usb/host/pci-quirks.c.
    
    The pci-quirks.c is enabled for all vendors and devices, and is
    enabled if USB and PCI are configured.
    
    If we do not skip the qurik handling on XLP, the readb() call in
    ehci_bios_handoff() will cause a crash since byte access is not
    supported for EHCI registers in XLP.
    
    Signed-off-by: Jayachandran C <jayachandranc@netlogicmicro.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  10. @lindi2 @gregkh

    usb: gadget: zero: fix bug in loopback autoresume handling

    lindi2 committed with gregkh Jan 29, 2012
    commit 683da59 upstream.
    
    ab943a2 (USB: gadget: gadget zero uses new suspend/resume hooks)
    introduced a copy-paste error where f_loopback.c writes to a variable
    declared in f_sourcesink.c. This prevents one from creating gadgets
    that only have a loopback function.
    
    Signed-off-by: Timo Juhani Lindfors <timo.lindfors@iki.fi>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  11. @morimoto @gregkh

    usb: ch9.h: usb_endpoint_maxp() uses __le16_to_cpu()

    morimoto committed with gregkh Jan 31, 2012
    commit 9c0a835 upstream.
    
    The usb/ch9.h will be installed to /usr/include/linux,
    and be used from user space.
    But le16_to_cpu() is only defined for kernel code.
    Without this patch, user space compile will be broken.
    Special thanks to Stefan Becker
    
    Reported-by: Stefan Becker <chemobejk@gmail.com>
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  12. @lwfinger @gregkh

    staging: r8712u: Use asynchronous firmware loading

    lwfinger committed with gregkh Feb 5, 2012
    commit 8c213fa upstream.
    
    In https://bugs.archlinux.org/task/27996, failure of driver r8712u is
    reported, with a timeout during module loading due to synchronous loading
    of the firmware. The code now uses request_firmware_nowait().
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  13. @lwfinger @gregkh

    staging: r8712u: Add new Sitecom UsB ID

    lwfinger committed with gregkh Jan 7, 2012
    commit 1793bf1 upstream.
    
    Add USB ID for SITECOM WLA-1000 V1 001 WLAN
    
    Reported-and-tested-by: Roland Gruber <post@rolandgruber.de>
    Reported-and-tested-by: Dario Lucia <dario.lucia@gmail.com>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  14. @ppaalanen @gregkh

    Staging: asus_oled: fix NULL-ptr crash on unloading

    ppaalanen committed with gregkh Jan 22, 2012
    commit 3589e74 upstream.
    
    Asus_oled triggers the following bug on module unloading:
    
     usbcore: deregistering interface driver asus-oled
     BUG: unable to handle kernel NULL pointer dereference at 0000000000000038
     IP: [<ffffffff8111292b>] sysfs_delete_link+0x30/0x66
    
     Call Trace:
      [<ffffffff81225373>] device_remove_class_symlinks+0x6b/0x70
      [<ffffffff812256a8>] device_del+0x9f/0x1ab
      [<ffffffff812257c5>] device_unregister+0x11/0x1e
      [<ffffffffa000cb82>] asus_oled_disconnect+0x4f/0x9e [asus_oled]
      [<ffffffff81277430>] usb_unbind_interface+0x54/0x103
      [<ffffffff812276c4>] __device_release_driver+0xa2/0xeb
      [<ffffffff81227794>] driver_detach+0x87/0xad
      [<ffffffff812269e9>] bus_remove_driver+0x91/0xc1
      [<ffffffff81227fb4>] driver_unregister+0x66/0x6e
      [<ffffffff812771ed>] usb_deregister+0xbb/0xc4
      [<ffffffffa000ce87>] asus_oled_exit+0x2f/0x31 [asus_oled]
      [<ffffffff81068365>] sys_delete_module+0x1b8/0x21b
      [<ffffffff810ae3de>] ? do_munmap+0x2ef/0x313
      [<ffffffff813699bb>] system_call_fastpath+0x16/0x1b
    
    This is due to an incorrect destruction sequence in asus_oled_exit().
    
    Fix the order, fixes the bug. Tested on an Asus G50V laptop only.
    
    Cc: Jakub Schmidtke <sjakub@gmail.com>
    Signed-off-by: Pekka Paalanen <pq@iki.fi>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  15. @ppaalanen @gregkh

    Staging: asus_oled: fix image processing

    ppaalanen committed with gregkh Jan 22, 2012
    commit 635032c upstream.
    
    Programming an image was broken, because odev->buf_offs was not advanced
    for val == 0 in append_values(). This regression was introduced in:
    
     commit 1ff12a4
     Author: Kevin A. Granade <kevin.granade@gmail.com>
     Date:   Sat Sep 5 01:03:39 2009 -0500
    
         Staging: asus_oled: Cleaned up checkpatch issues.
    
    Fix the image processing by special-casing val == 0.
    
    I have tested this change on an Asus G50V laptop only.
    
    Cc: Jakub Schmidtke <sjakub@gmail.com>
    Cc: Kevin A. Granade <kevin.granade@gmail.com>
    Signed-off-by: Pekka Paalanen <pq@iki.fi>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  16. @rolandd @gregkh

    target: Fail INQUIRY commands with EVPD==0 but PAGE CODE!=0

    rolandd committed with gregkh Jan 17, 2012
    commit bf00535 upstream.
    
    My draft of SPC-4 says:
    
        If the PAGE CODE field is not set to zero when the EVPD bit is set
        to zero, the command shall be terminated with CHECK CONDITION
        status, with the sense key set to ILLEGAL REQUEST, and the
        additional sense code set to INVALID FIELD IN CDB.
    
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  17. @rolandd @gregkh

    target: Return correct ASC for unimplemented VPD pages

    rolandd committed with gregkh Jan 17, 2012
    commit bb1acb2 upstream.
    
    My draft of SPC-4 says:
    
        If the device server does not implement the requested vital product
        data page, then the command shall be terminated with CHECK CONDITION
        status, with the sense key set to ILLEGAL REQUEST, and the
        additional sense code set to INVALID FIELD IN CDB.
    
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  18. @nablio3000 @gregkh

    target: Add workaround for zero-length control CDB handling

    nablio3000 committed with gregkh Jan 13, 2012
    commit 91ec1d3 upstream.
    
    This patch adds a work-around for handling zero allocation length
    control CDBs (type SCF_SCSI_CONTROL_SG_IO_CDB) that was causing an
    OOPs with the following raw calls:
    
       # sg_raw -v /dev/sdd 3 0 0 0 0 0
       # sg_raw -v /dev/sdd 0x1a 0 1 0 0 0
    
    This patch will follow existing zero-length handling for data I/O
    and silently return with GOOD status.  This addresses the zero length
    issue, but the proper long-term resolution for handling arbitary
    allocation lengths will be to refactor out data-phase handling in
    individual CDB emulation logic within target_core_cdb.c
    
    Reported-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  19. @rolandd @gregkh

    target: Correct sense key for INVALID FIELD IN {PARAMETER LIST,CDB}

    rolandd committed with gregkh Jan 9, 2012
    commit 9fbc890 upstream.
    
    According to SPC-4, the sense key for commands that are failed with
    INVALID FIELD IN PARAMETER LIST and INVALID FIELD IN CDB should be
    ILLEGAL REQUEST (5h) rather than ABORTED COMMAND (Bh).  Without this
    patch, a tcm_loop LUN incorrectly gives:
    
        # sg_raw -r 1 -v /dev/sda 3 1 0 0 ff 0
        Sense Information:
         Fixed format, current;  Sense key: Aborted Command
         Additional sense: Invalid field in cdb
         Raw sense data (in hex):
                70 00 0b 00 00 00 00 0a  00 00 00 00 24 00 00 00
                00 00
    
    While a real SCSI disk gives:
    
        Sense Information:
         Fixed format, current;  Sense key: Illegal Request
         Additional sense: Invalid field in cdb
         Raw sense data (in hex):
                70 00 05 00 00 00 00 18  00 00 00 00 24 00 00 00
                00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
    
    with the main point being that the real disk gives a sense key of
    ILLEGAL REQUEST (5h).
    
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  20. @msanvido @gregkh

    target: Allow PERSISTENT RESERVE IN for non-reservation holder

    msanvido committed with gregkh Jan 3, 2012
    commit 6816966 upstream.
    
    Initiators that aren't the active reservation holder should be able to
    do a PERSISTENT RESERVE IN command in all cases, so add it to the list
    of allowed CDBs in core_scsi3_pr_seq_non_holder().
    
    Signed-off-by: Marco Sanvido <marco@purestorage.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  21. @msanvido @gregkh

    target: Use correct preempted registration sense code

    msanvido committed with gregkh Jan 3, 2012
    commit 9e08e34 upstream.
    
    The comments quote the right parts of the spec:
    
       * d) Establish a unit attention condition for the
       *    initiator port associated with every I_T nexus
       *    that lost its registration other than the I_T
       *    nexus on which the PERSISTENT RESERVE OUT command
       *    was received, with the additional sense code set
       *    to REGISTRATIONS PREEMPTED.
    
    and
    
       * e) Establish a unit attention condition for the initiator
       *    port associated with every I_T nexus that lost its
       *    persistent reservation and/or registration, with the
       *    additional sense code set to REGISTRATIONS PREEMPTED;
    
    but the actual code accidentally uses ASCQ_2AH_RESERVATIONS_PREEMPTED
    instead of ASCQ_2AH_REGISTRATIONS_PREEMPTED.  Fix this.
    
    Signed-off-by: Marco Sanvido <marco@purestorage.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  22. @gregkh

    mm: fix UP THP spin_is_locked BUGs

    Hugh Dickins committed with gregkh Feb 8, 2012
    commit b9980cd upstream.
    
    Fix CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_SMP=n CONFIG_DEBUG_VM=y
    CONFIG_DEBUG_SPINLOCK=n kernel: spin_is_locked() is then always false,
    and so triggers some BUGs in Transparent HugePage codepaths.
    
    asm-generic/bug.h mentions this problem, and provides a WARN_ON_SMP(x);
    but being too lazy to add VM_BUG_ON_SMP, BUG_ON_SMP, WARN_ON_SMP_ONCE,
    VM_WARN_ON_SMP_ONCE, just test NR_CPUS != 1 in the existing VM_BUG_ONs.
    
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  23. @gregkh

    mm: compaction: check for overlapping nodes during isolation for migr…

    Mel Gorman committed with gregkh Feb 8, 2012
    …ation
    
    commit dc90860 upstream.
    
    When isolating pages for migration, migration starts at the start of a
    zone while the free scanner starts at the end of the zone.  Migration
    avoids entering a new zone by never going beyond the free scanned.
    
    Unfortunately, in very rare cases nodes can overlap.  When this happens,
    migration isolates pages without the LRU lock held, corrupting lists
    which will trigger errors in reclaim or during page free such as in the
    following oops
    
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
      IP: [<ffffffff810f795c>] free_pcppages_bulk+0xcc/0x450
      PGD 1dda554067 PUD 1e1cb58067 PMD 0
      Oops: 0000 [#1] SMP
      CPU 37
      Pid: 17088, comm: memcg_process_s Tainted: G            X
      RIP: free_pcppages_bulk+0xcc/0x450
      Process memcg_process_s (pid: 17088, threadinfo ffff881c2926e000, task ffff881c2926c0c0)
      Call Trace:
        free_hot_cold_page+0x17e/0x1f0
        __pagevec_free+0x90/0xb0
        release_pages+0x22a/0x260
        pagevec_lru_move_fn+0xf3/0x110
        putback_lru_page+0x66/0xe0
        unmap_and_move+0x156/0x180
        migrate_pages+0x9e/0x1b0
        compact_zone+0x1f3/0x2f0
        compact_zone_order+0xa2/0xe0
        try_to_compact_pages+0xdf/0x110
        __alloc_pages_direct_compact+0xee/0x1c0
        __alloc_pages_slowpath+0x370/0x830
        __alloc_pages_nodemask+0x1b1/0x1c0
        alloc_pages_vma+0x9b/0x160
        do_huge_pmd_anonymous_page+0x160/0x270
        do_page_fault+0x207/0x4c0
        page_fault+0x25/0x30
    
    The "X" in the taint flag means that external modules were loaded but but
    is unrelated to the bug triggering.  The real problem was because the PFN
    layout looks like this
    
      Zone PFN ranges:
        DMA      0x00000010 -> 0x00001000
        DMA32    0x00001000 -> 0x00100000
        Normal   0x00100000 -> 0x01e80000
      Movable zone start PFN for each node
      early_node_map[14] active PFN ranges
          0: 0x00000010 -> 0x0000009b
          0: 0x00000100 -> 0x0007a1ec
          0: 0x0007a354 -> 0x0007a379
          0: 0x0007f7ff -> 0x0007f800
          0: 0x00100000 -> 0x00680000
          1: 0x00680000 -> 0x00e80000
          0: 0x00e80000 -> 0x01080000
          1: 0x01080000 -> 0x01280000
          0: 0x01280000 -> 0x01480000
          1: 0x01480000 -> 0x01680000
          0: 0x01680000 -> 0x01880000
          1: 0x01880000 -> 0x01a80000
          0: 0x01a80000 -> 0x01c80000
          1: 0x01c80000 -> 0x01e80000
    
    The fix is straight-forward.  isolate_migratepages() has to make a
    similar check to isolate_freepage to ensure that it never isolates pages
    from a zone it does not hold the LRU lock for.
    
    This was discovered in a 3.0-based kernel but it affects 3.1.x, 3.2.x
    and current mainline.
    
    Signed-off-by: Mel Gorman <mgorman@suse.de>
    Acked-by: Michal Nazarewicz <mina86@mina86.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  24. @gregkh

    iommu/msm: Fix error handling in msm_iommu_unmap()

    Joerg Roedel committed with gregkh Jan 26, 2012
    commit 05df1f3 upstream.
    
    Error handling in msm_iommu_unmap() is broken. On some error
    conditions retval is set to a non-zero value which causes
    the function to return 'len' at the end. This hides the
    error from the user. Zero should be returned in those error
    cases.
    
    Cc: David Brown <davidb@codeaurora.org>
    Cc: Stepan Moskovchenko <stepanm@codeaurora.org>
    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    Acked-by: David Brown <davidb@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  25. @gregkh

    iommu/amd: Work around broken IVRS tables

    Joerg Roedel committed with gregkh Jan 18, 2012
    commit af1be04 upstream.
    
    On some systems the IVRS table does not contain all PCI
    devices present in the system. In case a device not present
    in the IVRS table is translated by the IOMMU no DMA is
    possible from that device by default.
    This patch fixes this by removing the DTE entry for every
    PCI device present in the system and not covered by IVRS.
    
    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Something went wrong with that request. Please try again.