Commits on Dec 20, 2012
  1. Merge branch 'configs-3.7' into pf-3.7

    Oleksandr Natalenko committed Dec 20, 2012
  2. configs-3.7: update dell-vostro-3360.config

    Oleksandr Natalenko committed Dec 20, 2012
  3. Merge branch 'kbuild-3.7' into pf-3.7

    Oleksandr Natalenko committed Dec 20, 2012
  4. Merge branch 'kbuild-3.6' into kbuild-3.7

    Oleksandr Natalenko committed Dec 20, 2012
  5. configs-3.7: update dell-vostro-3360.config

    Oleksandr Natalenko committed Dec 20, 2012
  6. Merge branch 'uksm-3.7' into pf-3.7

    Oleksandr Natalenko committed Dec 20, 2012
  7. uksm-3.7: merge UKSM for 3.7 prerelease (may be buggy)

    Oleksandr Natalenko committed Dec 20, 2012
Commits on Dec 19, 2012
  1. Merge branch 'configs-3.6' into configs-3.7

    Oleksandr Natalenko committed Dec 19, 2012
  2. kbuild-3.6: select MDIO for Atheros ethernet devices

    Oleksandr Natalenko committed Dec 19, 2012
    This could be useful for not-yet-mainlined alx driver.
  3. configs-3.6: update dell-vostro-3360.config

    Oleksandr Natalenko committed Dec 19, 2012
Commits on Dec 17, 2012
  1. fix merge conflict

    Oleksandr Natalenko committed Dec 17, 2012
  2. Linux 3.7.1

    gregkh committed Dec 17, 2012
  3. Staging: bcm: Add two products and remove an existing product.

    Kevin McKinney committed with gregkh Nov 13, 2012
    commit 4f29ef0 upstream.
    This patch adds two new products and modifies
    the device id table to include them. In addition,
    product of 0xbccd - BCM_USB_PRODUCT_ID_SM250 is
    removed because Beceem, ZTE, Sprint use this id
    for block devices.
    Reported-by: Muhammad Minhazul Haque <>
    Signed-off-by: Kevin McKinney <>
    Signed-off-by: Greg Kroah-Hartman <>
  4. rcu: Fix batch-limit size problem

    Eric Dumazet committed with gregkh Oct 18, 2012
    commit 878d743 upstream.
    Commit 29c00b4 (rcu: Add event-tracing for RCU callback
    invocation) added a regression in rcu_do_batch()
    Under stress, RCU is supposed to allow to process all items in queue,
    instead of a batch of 10 items (blimit), but an integer overflow makes
    the effective limit being 1.  So, unless there is frequent idle periods
    (during which RCU ignores batch limits), RCU can be forced into a
    state where it cannot keep up with the callback-generation rate,
    eventually resulting in OOM.
    This commit therefore converts a few variables in rcu_do_batch() from
    int to long to fix this problem, along with the module parameters
    controlling the batch limits.
    Signed-off-by: Eric Dumazet <>
    Signed-off-by: Paul E. McKenney <>
    Signed-off-by: Greg Kroah-Hartman <>
  5. USB: EHCI: bugfix: urb->hcpriv should not be NULL

    AlanStern committed with gregkh Nov 8, 2012
    commit 2656a9a upstream.
    This patch (as1632b) fixes a bug in ehci-hcd.  The USB core uses
    urb->hcpriv to determine whether or not an URB is active; host
    controller drivers are supposed to set this pointer to a non-NULL
    value when an URB is queued.  However ehci-hcd sets it to NULL for
    isochronous URBs, which defeats the check in usbcore.
    In itself this isn't a big deal.  But people have recently found that
    certain sequences of actions will cause the snd-usb-audio driver to
    reuse URBs without waiting for them to complete.  In the absence of
    proper checking by usbcore, the URBs get added to their endpoint list
    twice.  This leads to list corruption and a system freeze.
    The patch makes ehci-hcd assign a meaningful value to urb->hcpriv for
    isochronous URBs.  Improving robustness always helps.
    Signed-off-by: Alan Stern <>
    Reported-by: Artem S. Tashkinov <>
    Reported-by: Christof Meerwald <>
    Signed-off-by: Greg Kroah-Hartman <>
  6. perf test: fix a build error on builtin-test

    gnehzuil committed with gregkh Nov 9, 2012
    commit 12f8f74 upstream.
    Recently I build perf and get a build error on builtin-test.c. The error is as
    $ make
        CC perf.o
        CC builtin-test.o
    cc1: warnings being treated as errors
    builtin-test.c: In function ‘sched__get_first_possible_cpu’:
    builtin-test.c:977: warning: implicit declaration of function ‘CPU_ALLOC’
    builtin-test.c:977: warning: nested extern declaration of ‘CPU_ALLOC’
    builtin-test.c:977: warning: assignment makes pointer from integer without a cast
    builtin-test.c:978: warning: implicit declaration of function ‘CPU_ALLOC_SIZE’
    builtin-test.c:978: warning: nested extern declaration of ‘CPU_ALLOC_SIZE’
    builtin-test.c:979: warning: implicit declaration of function ‘CPU_ZERO_S’
    builtin-test.c:979: warning: nested extern declaration of ‘CPU_ZERO_S’
    builtin-test.c:982: warning: implicit declaration of function ‘CPU_FREE’
    builtin-test.c:982: warning: nested extern declaration of ‘CPU_FREE’
    builtin-test.c:992: warning: implicit declaration of function ‘CPU_ISSET_S’
    builtin-test.c:992: warning: nested extern declaration of ‘CPU_ISSET_S’
    builtin-test.c:998: warning: implicit declaration of function ‘CPU_CLR_S’
    builtin-test.c:998: warning: nested extern declaration of ‘CPU_CLR_S’
    make: *** [builtin-test.o] Error 1
    This problem is introduced in 3e7c439. CPU_ALLOC and related macros are
    missing in sched__get_first_possible_cpu function. In 54489c1, commiter
    mentioned that CPU_ALLOC has been removed. So CPU_ALLOC calls in this
    function are removed to let perf to be built.
    Signed-off-by: Vinson Lee <>
    Signed-off-by: Zheng Liu <>
    Cc: David Ahern <>
    Cc: Frederic Weisbecker <>
    Cc: Mike Galbraith <>
    Cc: Paul Mackerras <>
    Cc: Peter Zijlstra <>
    Cc: Stephane Eranian <>
    Cc: Vinson Lee <>
    Cc: Zheng Liu <>
    Signed-off-by: Arnaldo Carvalho de Melo <>
    Signed-off-by: Greg Kroah-Hartman <>
  7. cdc-acm: implement TIOCSSERIAL to avoid blocking close(2)

    dcbw committed with gregkh Nov 8, 2012
    commit ba2d8ce upstream.
    Some devices (ex Nokia C7) simply don't respond at all when data is sent
    to some of their USB interfaces.  The data gets stuck in the TTYs queue
    and sits there until close(2), which them blocks because closing_wait
    defaults to 30 seconds (even though the fd is O_NONBLOCK).  This is
    rarely desired.  Implement the standard mechanism to adjust closing_wait
    and let applications handle it how they want to.
    See also 02303f7 for usb_wwan.c.
    Signed-off-by: Dan Williams <>
    Acked-by: Oliver Neukum <>
    Tested-by: Aleksander Morgado <>
    Signed-off-by: Greg Kroah-Hartman <>
  8. ring-buffer: Fix race between integrity check and readers

    Steven Rostedt committed with gregkh Nov 30, 2012
    commit 9366c1b upstream.
    The function rb_check_pages() was added to make sure the ring buffer's
    pages were sane. This check is done when the ring buffer size is modified
    as well as when the iterator is released (closing the "trace" file),
    as that was considered a non fast path and a good place to do a sanity
    The problem is that the check does not have any locks around it.
    If one process were to read the trace file, and another were to read
    the raw binary file, the check could happen while the reader is reading
    the file.
    The issues with this is that the check requires to clear the HEAD page
    before doing the full check and it restores it afterward. But readers
    require the HEAD page to exist before it can read the buffer, otherwise
    it gives a nasty warning and disables the buffer.
    By adding the reader lock around the check, this keeps the race from
    Signed-off-by: Steven Rostedt <>
    Signed-off-by: Greg Kroah-Hartman <>
  9. ring-buffer: Fix NULL pointer if rb_set_head_page() fails

    Steven Rostedt committed with gregkh Nov 30, 2012
    commit 54f7be5 upstream.
    The function rb_set_head_page() searches the list of ring buffer
    pages for a the page that has the HEAD page flag set. If it does
    not find it, it will do a WARN_ON(), disable the ring buffer and
    return NULL, as this should never happen.
    But if this bug happens to happen, not all callers of this function
    can handle a NULL pointer being returned from it. That needs to be
    Signed-off-by: Steven Rostedt <>
    Signed-off-by: Greg Kroah-Hartman <>
  10. ftrace: Clear bits properly in reset_iter_read()

    Dan Carpenter committed with gregkh Jun 9, 2012
    commit 70f77b3 upstream.
    There is a typo here where '&' is used instead of '|' and it turns the
    statement into a noop.  The original code is equivalent to:
    	iter->flags &= ~((1 << 2) & (1 << 4));
    Signed-off-by: Dan Carpenter <>
    Signed-off-by: Steven Rostedt <>
    Signed-off-by: Greg Kroah-Hartman <>
  11. xhci: Extend Fresco Logic MSI quirk.

    Sarah Sharp committed with gregkh Oct 17, 2012
    commit bba18e3 upstream.
    Ali reports that plugging a device into the Fresco Logic xHCI host with
    PCI device ID 1400 produces an IRQ error:
     do_IRQ: 3.176 No irq handler for vector (irq -1)
    Other early Fresco Logic host revisions don't support MSI, even though
    their PCI config space claims they do.  Extend the quirk to disabling
    MSI to this chipset revision.  Also enable the short transfer quirk,
    since it's likely this revision also has that quirk, and it should be
    harmless to enable.
    04:00.0 0c03: 1b73:1400 (rev 01) (prog-if 30 [XHCI])
            Subsystem: 1d5c:1000
            Physical Slot: 3
            Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
            Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
            Latency: 0, Cache Line Size: 64 bytes
            Interrupt: pin A routed to IRQ 51
            Region 0: Memory at d4600000 (32-bit, non-prefetchable) [size=64K]
            Capabilities: [50] Power Management version 3
                    Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
                    Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
            Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
                    Address: 00000000feeff00c  Data: 41b1
            Capabilities: [80] Express (v1) Endpoint, MSI 00
                    DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <2us, L1 <32us
                            ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                    DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                            RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                            MaxPayload 128 bytes, MaxReadReq 512 bytes
                    DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                    LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 unlimited, L1 unlimited
                            ClockPM- Surprise- LLActRep- BwNot-
                    LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                    LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
            Kernel driver in use: xhci_hcd
    This patch should be backported to stable kernels as old as 2.6.36, that
    contain the commit f5182b4 "xhci:
    Disable MSI for some Fresco Logic hosts."
    Signed-off-by: Sarah Sharp <>
    Reported-by: A Sh <>
    Tested-by: A Sh <>
    Signed-off-by: Greg Kroah-Hartman <>
  12. USB: OHCI: workaround for hardware bug: retired TDs not added to the …

    AlanStern committed with gregkh Nov 26, 2012
    …Done Queue
    commit 50ce5c0 upstream.
    This patch (as1636) is a partial workaround for a hardware bug
    affecting OHCI controllers by NVIDIA at least, maybe others too.  When
    the controller retires a Transfer Descriptor, it is supposed to add
    the TD onto the Done Queue.  But sometimes this doesn't happen, with
    the result that ohci-hcd never realizes the corresponding transfer has
    finished.  Symptoms can vary; a typical result is that USB audio stops
    working after a while.
    The patch works around the problem by recognizing that TDs are always
    processed in order.  Therefore, if a later TD is found on the Done
    Queue than all the earlier TDs for the same endpoint must be finished
    as well.
    Unfortunately this won't solve the problem in cases where the missing
    TD is the last one in the endpoint's queue.  A complete fix would
    require a signficant amount of change to the driver.
    Signed-off-by: Alan Stern <>
    Tested-by: Oliver Neukum <>
    Signed-off-by: Greg Kroah-Hartman <>
  13. ACPI / video: Add "Asus UL30VT" to ACPI video detect blacklist

    Lan Tianyu committed with gregkh Nov 30, 2012
    commit d0c2ce1 upstream.
    The ACPI video driver can't control backlight correctly on
    Asus UL30VT.  Vendor driver (asus-laptop) can work.  This patch is to
    add "Asus UL30VT" to ACPI video detect blacklist in order to use
    asus-laptop for video control on the "Asus UL30VT" rather than ACPI
    video driver.
    Reported-by: Alex Williamson <>
    Signed-off-by: Lan Tianyu <>
    Signed-off-by: Rafael J. Wysocki <>
    Signed-off-by: Greg Kroah-Hartman <>
  14. ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000

    zhang-rui committed with gregkh Dec 4, 2012
    commit 129ff8f upstream.
    Or else the laptop will boot with a dimmed screen.
    Tested-by: Stefan Nagy <>
    Signed-off-by: Zhang Rui <>
    Signed-off-by: Rafael J. Wysocki <>
    Signed-off-by: Greg Kroah-Hartman <>
  15. ACPI / PNP: Do not crash due to stale pointer use during system resume

    Rafael J. Wysocki committed with gregkh Nov 30, 2012
    commit a6b5e88 upstream.
    During resume from system suspend the 'data' field of
    struct pnp_dev in pnpacpi_set_resources() may be a stale pointer,
    due to removal of the associated ACPI device node object in the
    previous suspend-resume cycle.  This happens, for example, if a
    dockable machine is booted in the docking station and then suspended
    and resumed and suspended again.  If that happens,
    pnpacpi_build_resource_template() called from pnpacpi_set_resources()
    attempts to use that pointer and crashes.
    However, pnpacpi_set_resources() actually checks the device's ACPI
    handle, attempts to find the ACPI device node object attached to it
    and returns an error code if that fails, so in fact it knows what the
    correct value of dev->data should be.  Use this observation to update
    dev->data with the correct value if necessary and dump a call trace
    if that's the case (once).
    We still need to fix the root cause of this issue, but preventing
    systems from crashing because of it is an improvement too.
    Reported-and-tested-by: Zdenek Kabelac <>
    Signed-off-by: Rafael J. Wysocki <>
    Signed-off-by: Greg Kroah-Hartman <>
  16. ACPI / PM: Add Sony Vaio VPCEB1S1E to nonvs blacklist.

    Lan Tianyu committed with gregkh Nov 21, 2012
    commit 876ab79 upstream.
    Sony Vaio VPCEB1S1E does not resume correctly without
    acpi_sleep=nonvs, so add it to the ACPI sleep blacklist.
    Reported-by: Sébastien Wilmet <>
    Signed-off-by: Lan Tianyu <>
    Signed-off-by: Rafael J. Wysocki <>
    Signed-off-by: Greg Kroah-Hartman <>
  17. ACPI / battery: Correct battery capacity values on Thinkpads

    Kamil Iskra committed with gregkh Nov 16, 2012
    commit 4000e62 upstream.
    Add a quirk to correctly report battery capacity on 2010 and 2011
    Lenovo Thinkpad models.
    The affected models that I tested (x201, t410, t410s, and x220)
    exhibit a problem where, when battery capacity reporting unit is mAh,
    the values being reported are wrong.  Pre-2010 and 2012 models appear
    to always report in mWh and are thus unaffected.  Also, in mid-2012
    Lenovo issued a BIOS update for the 2011 models that fixes the issue
    (tested on x220 with a post-1.29 BIOS).  No such update is available
    for the 2010 models, so those still need this patch.
    Problem description: for some reason, the affected Thinkpads switch
    the reporting unit between mAh and mWh; generally, mAh is used when a
    laptop is plugged in and mWh when it's unplugged, although a
    suspend/resume or rmmod/modprobe is needed for the switch to take
    effect.  The values reported in mAh are *always* wrong.  This does
    not appear to be a kernel regression; I believe that the values were
    never reported correctly.  I tested back to kernel 2.6.34, with
    multiple machines and BIOS versions.
    Simply plugging a laptop into mains before turning it on is enough to
    reproduce the problem.  Here's a sample /proc/acpi/battery/BAT0/info
    from Thinkpad x220 (before a BIOS update) with a 4-cell battery:
    present:                 yes
    design capacity:         2886 mAh
    last full capacity:      2909 mAh
    battery technology:      rechargeable
    design voltage:          14800 mV
    design capacity warning: 145 mAh
    design capacity low:     13 mAh
    cycle count:              0
    capacity granularity 1:  1 mAh
    capacity granularity 2:  1 mAh
    model number:            42T4899
    serial number:           21064
    battery type:            LION
    OEM info:                SANYO
    Once the laptop switches the unit to mWh (unplug from mains, suspend,
    resume), the output changes to:
    present:                 yes
    design capacity:         28860 mWh
    last full capacity:      29090 mWh
    battery technology:      rechargeable
    design voltage:          14800 mV
    design capacity warning: 1454 mWh
    design capacity low:     200 mWh
    cycle count:              0
    capacity granularity 1:  1 mWh
    capacity granularity 2:  1 mWh
    model number:            42T4899
    serial number:           21064
    battery type:            LION
    OEM info:                SANYO
    Can you see how the values for "design capacity", etc., differ by a
    factor of 10 instead of 14.8 (the design voltage of this battery)?
    On the battery itself it says: 14.8V, 1.95Ah, 29Wh, so clearly the
    values reported in mWh are correct and the ones in mAh are not.
    My guess is that this problem has been around ever since those
    machines were released, but because the most common Thinkpad
    batteries are rated at 10.8V, the error (8%) is small enough that it
    simply hasn't been noticed or at least nobody could be bothered to
    look into it.
    My patch works around the problem by adjusting the incorrectly
    reported mAh values by "10000 / design_voltage".  The patch also has
    code to figure out if it should be activated or not.  It only
    activates on Lenovo Thinkpads, only when the unit is mAh, and, as an
    extra precaution, only when the battery capacity reported through
    ACPI does not match what is reported through DMI (I've never
    encountered a machine where the first two conditions would be true
    but the last would not, but better safe than sorry).
    I've been using this patch for close to a year on several systems
    without any problems.
    Acked-by: Henrique de Moraes Holschuh <>
    Signed-off-by: Rafael J. Wysocki <>
    Signed-off-by: Greg Kroah-Hartman <>
  18. USB: mark uas driver as BROKEN

    gregkh committed Nov 28, 2012
    commit fb37ef9 upstream.
    As reported, the UAS
    driver causes problems and has been asked to be not built into any of
    the major distributions.  To prevent users from running into problems
    with it, and for distros that were not notified, just mark the whole
    thing as broken.
    Acked-by: Sarah Sharp <>
    Signed-off-by: Greg Kroah-Hartman <>
  19. USB: cp210x: add Virtenio Preon32 device id

    markushx committed with gregkh Nov 22, 2012
    commit 356fe44 upstream.
    Signed-off-by: Markus Becker <>
    Signed-off-by: Greg Kroah-Hartman <>
  20. usb: ftdi_sio: fixup BeagleBone A5+ quirk

    jacmet committed with gregkh Nov 22, 2012
    commit 1a88d5e upstream.
    BeagleBone A5+ devices ended up getting shipped with the
    'BeagleBone/XDS100V2' product string, and not XDS100 like it
    was agreed, so adjust the quirk to match.
    For details, see the thread on the beagle list:!msg/beagleboard/zrFPew9_Wvo/ibWr1-eE8JwJ
    Signed-off-by: Peter Korsgaard <>
    Signed-off-by: Greg Kroah-Hartman <>
  21. USB: ftdi_sio: Add support for Newport AGILIS motor drivers

    tecki committed with gregkh Nov 21, 2012
    commit d7e14b3 upstream.
    The Newport AGILIS model AG-UC8 compact piezo motor controller
    is yet another device using an FTDI USB-to-serial chip. It works
    fine with the ftdi_sio driver when adding
      options ftdi-sio product=0x3000 vendor=0x104d
    to modprobe.d. udevadm reports "Newport" as the manufacturer,
    and "Agilis" as the product name.
    Signed-off-by: Martin Teichmann <>
    Signed-off-by: Greg Kroah-Hartman <>
  22. USB: option: blacklist network interface on Huawei E173

    bmork committed with gregkh Nov 25, 2012
    commit f36446c upstream.
    The Huawei E173 will normally appear as 12d1:1436 in Linux.  But
    the modem has another mode with different device ID and a slightly
    different set of descriptors. This is the mode used by Windows like
      3Modem:      USB\VID_12D1&PID_140C&MI_00\6&3A1D2012&0&0000
      Networkcard: USB\VID_12D1&PID_140C&MI_01\6&3A1D2012&0&0001
      Appli.Inter: USB\VID_12D1&PID_140C&MI_02\6&3A1D2012&0&0002
      PC UI Inter: USB\VID_12D1&PID_140C&MI_03\6&3A1D2012&0&0003
    All interfaces have the same ff/ff/ff class codes in this mode.
    Blacklisting the network interface to allow it to be picked up by
    the network driver.
    Reported-by: Thomas Schäfer <>
    Signed-off-by: Bjørn Mork <>
    Signed-off-by: Greg Kroah-Hartman <>
  23. USB: add new zte 3g-dongle's pid to option.c committed with gregkh Nov 20, 2012
    commit 31b6a10 upstream.
    Signed-off-by: Rui li <>
    Signed-off-by: Greg Kroah-Hartman <>
  24. x86: hpet: Fix masking of MSI interrupts

    jbeulich committed with gregkh Nov 2, 2012
    commit 6acf5a8 upstream.
    HPET_TN_FSB is not a proper mask bit; it merely toggles between MSI and
    legacy interrupt delivery. The proper mask bit is HPET_TN_ENABLE, so
    use both bits when (un)masking the interrupt.
    Signed-off-by: Jan Beulich <>
    Signed-off-by: Thomas Gleixner <>
    Signed-off-by: Greg Kroah-Hartman <>
  25. ezusb: add dependency to USB

    Rene Buergel committed with gregkh Nov 22, 2012
    commit 9db72fe upstream.
    This fixes an error during modpost, when ezusb is built into the kernel
    while USB is built as module.
    Signed-off-by: René Bürgel <>
    Cc: Jeff Mahoney <>
    Signed-off-by: Greg Kroah-Hartman <>