18 Aug, 2011

27 commits

  • Greg Kroah-Hartman
     
  • commit aba8d056078e47350d85b06a9cabd5afcc4b72ea upstream.

    In addition to /etc/perfconfig and $HOME/.perfconfig, perf looks for
    configuration in the file ./config, imitating git which looks at
    $GIT_DIR/config. If ./config is not a perf configuration file, it
    fails, or worse, treats it as a configuration file and changes behavior
    in some unexpected way.

    "config" is not an unusual name for a file to be lying around and perf
    does not have a private directory dedicated for its own use, so let's
    just stop looking for configuration in the cwd. Callers needing
    context-sensitive configuration can use the PERF_CONFIG environment
    variable.

    Requested-by: Christian Ohm
    Cc: 632923@bugs.debian.org
    Cc: Ben Hutchings
    Cc: Christian Ohm
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20110805165838.GA7237@elie.gateway.2wire.net
    Signed-off-by: Jonathan Nieder
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Greg Kroah-Hartman

    Jonathan Nieder
     
  • commit d5811e8731213f80c80d89e980505052f16aca1c upstream.

    Attempting to try and turn off disconnected display hw in the
    hotput handler lead to more problems than it helped. For
    now just register an event and only attempt the do something
    interesting with DP. Other connectors are just too problematic:
    - Some systems have an HPD pin assigned to LVDS, but it's rarely
    if ever connected properly and we don't really care about hpd
    events on LVDS anyway since it's always connected.
    - The HPD pin is wired up correctly for eDP, but we don't really
    have to do anything since the events since it's always connected.
    - Some HPD pins fire more than once when you connect/disconnect
    - etc.

    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=39882

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie
    Signed-off-by: Greg Kroah-Hartman

    Alex Deucher
     
  • commit 33ae1827d6c3c79c5957536ec29d5a8780623147 upstream.

    Need to add support for 4 crtcs when setting the possible crtcs
    for the encoders.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie
    Signed-off-by: Greg Kroah-Hartman

    Alex Deucher
     
  • commit 73104b5cfe3067d68f2c2de3f3d4d4964c55873e upstream.

    If we get a hotplug event on an connector that is off, don't
    attempt to turn it on or off, it should already be off.

    Fixes:
    https://bugzilla.redhat.com/show_bug.cgi?id=728228

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie
    Signed-off-by: Greg Kroah-Hartman

    Alex Deucher
     
  • commit e22a539824e8ddb82c87b4f415165ede82e6ab56 upstream.

    The CONFIG_RELOCATABLE code tries to align the unpack destination to
    the value of 'kernel_alignment' in the setup_hdr. If that's 0, it
    tries to unpack to address 0, which in fact causes the gunzip code
    to call 'error("Out of memory while allocating output buffer")'.

    The bootloader (ie. the lguest Launcher in this case) should be doing
    setting this field; the normal bzImage is 16M, we can use the same.

    Reported-by: Stefanos Geraggelos
    Signed-off-by: Rusty Russell
    Signed-off-by: Greg Kroah-Hartman

    Rusty Russell
     
  • commit f982f91516fa4cfd9d20518833cd04ad714585be upstream.

    Commit db64fe02258f ("mm: rewrite vmap layer") introduced code that does
    address calculations under the assumption that VMAP_BLOCK_SIZE is a
    power of two. However, this might not be true if CONFIG_NR_CPUS is not
    set to a power of two.

    Wrong vmap_block index/offset values could lead to memory corruption.
    However, this has never been observed in practice (or never been
    diagnosed correctly); what caught this was the BUG_ON in vb_alloc() that
    checks for inconsistent vmap_block indices.

    To fix this, ensure that VMAP_BLOCK_SIZE always is a power of two.

    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=31572
    Reported-by: Pavel Kysilka
    Reported-by: Matias A. Fonzo
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Stefan Richter
    Cc: Nick Piggin
    Cc: Jeremy Fitzhardinge
    Cc: Krzysztof Helt
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Clemens Ladisch
     
  • commit bdc71bc59231f5542af13b5061b9ab124d093050 upstream.

    This cleans up error handling for the beacon in case of dma mapping
    failure. We need to free the skb when dma mapping fails instead of
    nulling and leaking the pointer, and we should bail out to avoid
    giving the hardware the bad descriptor.

    Finally, we need to perform the null check after trying to update
    the beacon, or else beacons will never be sent after a single
    mapping failure.

    Signed-off-by: Bob Copeland
    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    Bob Copeland
     
  • commit 29591ed4ac6fe00e3ff23b5be0cdc7016ef9c47e upstream.

    Two issues were preventing module snd-soc-tegra-wm8903.ko from being
    removed and re-inserted:

    a) The speaker-enable GPIO is hosted by the WM8903 chip. This GPIO must
    be freed before snd_soc_unregister_card() is called, because that
    triggers wm8903.c:wm8903_remove(), which calls gpiochip_remove(), which
    then fails if any of the GPIOs are in use. To solve this, free all GPIOs
    first, so the code doesn't care where they come from.

    b) We need to call snd_soc_jack_free_gpios() to match the call to
    snd_soc_jack_add_gpios() during initialization. Without this, the
    call to snd_soc_jack_add_gpios() fails during any subsequent modprobe
    and initialization, since the GPIO and IRQ are already registered. In
    turn, this causes the headphone state not to be monitored, so the
    headphone is assumed not to be plugged in, and the audio path to it is
    never enabled.

    Signed-off-by: Stephen Warren
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Stephen Warren
     
  • commit a96edd59b2bc88b3d1ea47e0ba48076d65db9302 upstream.

    Not all PCM devices have all sub-streams. Specifically, the SPDIF driver
    only supports playback and hence has no capture substream. Check whether
    a substream exists before dereferencing it, when de-allocating DMA
    buffers in tegra_pcm_deallocate_dma_buffer.

    Signed-off-by: Stephen Warren
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Stephen Warren
     
  • commit 6678050442e90a4e9511a9ed14b9bdfc5e393323 upstream.

    The I2C address is misformatted and would never match.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood
    Signed-off-by: Greg Kroah-Hartman

    Mark Brown
     
  • commit 15439bde3af7ff88459ea2b5520b77312e958df2 upstream.

    This fixes faulty outbount packets in case the inbound packets
    received from the hardware are fragmented and contain bogus input
    iso frames. The bug has been there for ages, but for some strange
    reasons, it was only triggered by newer machines in 64bit mode.

    Signed-off-by: Daniel Mack
    Reported-and-tested-by: William Light
    Reported-by: Pedro Ribeiro
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Daniel Mack
     
  • commit 66a89b2164e2d30661edbd1953eacf0594d8203a upstream.

    rs_resp is dynamically allocated in aem_read_sensor(), so it should be freed
    before exiting in every case. This collects the kfree and the return at
    the end of the function.

    Signed-off-by: Julia Lawall
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Julia Lawall
     
  • commit a08af810cdc29d2ca930e8a869d3d01744c392d8 upstream.

    Reported-by: Pascal Hambourg
    Signed-off-by: Chas Williams
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Chas Williams
     
  • commit 35e9e21fb30dc4452b33aed5cbf233743bffca40 upstream.

    This patch adds the product ID of Huawei's Vodafone K4511 mobile broadband
    modem to option.c. This is necessary so that the driver gets loaded on demand
    without the intervention of usb_modeswitch. This has the benefit of it becoming
    available faster and also ensures that the option driver is not bound to a
    network interface that should be claimed by cdc_ether.

    Signed-off-by: Andrew Bird
    Signed-off-by: Greg Kroah-Hartman

    Andrew Bird
     
  • commit 0930bb46bbbb43afe3381ece2cb2f8a5bc3fb544 upstream.

    This patch adds the product ID of Huawei's Vodafone K4510 mobile broadband
    modem to option.c. This is necessary so that the driver gets loaded on demand
    without the intervention of usb_modeswitch. This has the benefit of it becoming
    available faster and also ensures that the option driver is not bound to a
    network interface that should be claimed by cdc_ether.

    Signed-off-by: Andrew Bird
    Signed-off-by: Greg Kroah-Hartman

    Andrew Bird
     
  • commit e2949080792256d1c979aaf30ecd4cab42829f87 upstream.

    This patch adds the product ID of Huawei's Vodafone K3771 mobile broadband
    modem to option.c. This is necessary so that the driver gets loaded on demand
    without the intervention of usb_modeswitch. This has the benefit of it becoming
    available faster and also ensures that the option driver is not bound to a
    network interface that should be claimed by cdc_ether.

    Signed-off-by: Andrew Bird
    Signed-off-by: Greg Kroah-Hartman

    Andrew Bird
     
  • commit 07b21fd83606263fe6f327b98774d51e13e502fd upstream.

    This patch adds the product ID of Huawei's Vodafone K3770 mobile broadband
    modem to option.c. This is necessary so that the driver gets loaded on demand
    without the intervention of usb_modeswitch. This has the benefit of it becoming
    available faster and also ensures that the option driver is not bound to a
    network interface that should be claimed by cdc_ether.

    Signed-off-by: Andrew Bird
    Signed-off-by: Greg Kroah-Hartman

    Andrew Bird
     
  • commit e468561739fffb972d486b98f66c723936335136 upstream.

    A new device ID pair is added for Qualcomm Modem present in Sagemcom's HiLo3G module.

    Signed-off-by: Vijay Chavan
    Signed-off-by: Greg Kroah-Hartman

    Vijay Chavan
     
  • commit a871e4f5519d8c52430052e1d340dd5710eb5ad6 upstream.

    Connecting the V2M to a Linux host results in a constant stream of
    errors spammed to the console, all of the form

    sd 1:0:0:0: ioctl_internal_command return code = 8070000
    : Sense Key : 0x4 [current]
    : ASC=0x0 ASCQ=0x0

    The errors appear to be otherwise harmless. Add an unusual_devs entry
    which eliminates all of the error messages.

    Signed-off-by: Nick Bowler
    Acked-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Nick Bowler
     
  • commit 1862cdd542025218f7a390b7e6ddc83a1362d1e0 upstream.

    Even if it's unlikely for this to cause an error,
    there is a typo in the code that uses the bitwise-AND
    operator instead of the logical one.

    Signed-off-by: Ionut Nicu
    Signed-off-by: Greg Kroah-Hartman

    Ionut Nicu
     
  • commit 4f1a7a3e78037721496283ea3e87cfefc64d99c7 upstream.

    Assign operator instead of equality test in the usbtmc_ioctl_abort_bulk_in() function.

    Signed-off-by: Maxim A. Nikulin
    Signed-off-by: Greg Kroah-Hartman

    Maxim Nikulin
     
  • commit 72c487dfb94d02025fb7437dfe2314d836d5a9ab upstream.

    an 'unhandled fault' is causes when a gadget driver calls
    usb_gadget_connect() while the USB cable isn't plugged into
    the OTG port.

    the fault is caused by an access to MUSB's memory space
    while its clock is turned off due to pm_runtime kicking
    in.

    in order to fix the fault, we enclose musb_gadget_pullup()
    with pm_runtime_get_sync() ... pm_runtime_put() calls to
    be sure we will always reach that path with clock turned on.

    [ balbi@ti.com : simplified commit log; removed few things
    which didn't belong there ]

    Reported-by: Zach Pfeffer
    Signed-off-by: John Stultz
    Signed-off-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    John Stultz
     
  • commit 7de7c7d2cb49900e0b967be871bf695c7d6135c9 upstream.

    wMaxPacketSize is __le16 and should be accessed as such. Also fix the
    wBytesPerInterval assignment while here.

    v2: also fix the wBytesPerInterval assigment, noticed by Matt Evans

    This patch should be backported to the 3.0 kernel.

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Sarah Sharp
    Acked-by: Matt Evans
    Signed-off-by: Greg Kroah-Hartman

    Sebastian Andrzej Siewior
     
  • commit 7bd89b4017f46a9b92853940fd9771319acb578a upstream.

    Commit fccf4e86200b8f5edd9a65da26f150e32ba79808
    "USB: Free bandwidth when usb_disable_device is called" caused a bit of an
    issue when the xHCI host controller driver is unloaded. It changed the
    USB core to remove all endpoints when a USB device is disabled. When the
    driver is unloaded, it will remove the SuperSpeed split root hub, which
    will disable all devices under that roothub and then halt the host
    controller. When the second High Speed split roothub is removed, the USB
    core will attempt to disable the endpoints, which will submit a Configure
    Endpoint command to a halted host controller.

    The command will eventually time out, but it makes the xHCI driver unload
    take *minutes* if there are a couple of USB 1.1/2.0 devices attached. We
    must halt the host controller when the SuperSpeed roothub is removed,
    because we can't allow any interrupts from things like port status
    changes.

    Make several different functions not submit commands or URBs to the host
    controller when the host is halted, by adding a check in
    xhci_check_args(). xhci_check_args() is used by these functions:

    xhci.c-int xhci_urb_enqueue()
    xhci.c-int xhci_drop_endpoint()
    xhci.c-int xhci_add_endpoint()
    xhci.c-int xhci_check_bandwidth()
    xhci.c-void xhci_reset_bandwidth()
    xhci.c-static int xhci_check_streams_endpoint()
    xhci.c-int xhci_discover_or_reset_device()

    It's also used by xhci_free_dev(). However, we have to take special
    care in that case, because we want the device memory to be freed if the
    host controller is halted.

    This patch should be backported to the 2.6.39 and 3.0 kernel.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • commit 6768458b17f9bf48a4c3a34e49b20344091b5f7e upstream.

    Software should set XHCI_HC_OS_OWNED bit to request ownership of xHC.

    This patch should be backported to kernels as far back as 2.6.31.

    Signed-off-by: JiSheng Zhang
    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    JiSheng Zhang
     
  • commit 589c3ca00b7886bf743998398884cd4f4d354e17 upstream.

    declaring MODULE_FIRMWARE has apparently forgotten while removing the embedded
    firmware arrays in 0a8692b534e18fcec6eac07551bb37a22659f5c7 (rtl8192u_usb:
    Remove built-in firmware images).

    Signed-off-by: Stefan Lippers-Hollmann
    Signed-off-by: Greg Kroah-Hartman

    Stefan Lippers-Hollmann
     

16 Aug, 2011

13 commits

  • Greg Kroah-Hartman
     
  • commit 5c723ba5b7886909b2e430f2eae454c33f7fe5c6 upstream.

    In commit 2efaca927f5c ("mm/futex: fix futex writes on archs with SW
    tracking of dirty & young") we forgot about MMU=n. This patch fixes
    that.

    Signed-off-by: Peter Zijlstra
    Acked-by: Benjamin Herrenschmidt
    Acked-by: David Howells
    Link: http://lkml.kernel.org/r/1311761831.24752.413.camel@twins
    Signed-off-by: Linus Torvalds
    Cc: Mike Frysinger
    Signed-off-by: Greg Kroah-Hartman

    Peter Zijlstra
     
  • commit c92761fd9efcbbcb59e7bf4db88e29ce03229889 upstream.

    Reported-by: Pieter-Paul Giesberts
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    David S. Miller
     
  • commit 118c9db51e7acaf8f16deae8311cce6588b83e31 upstream.

    This patch addresses an issue with incorrect HW register
    AR_PHY_TX_IQCAL_CORR_COEFF_B1 definition which leads to incorrect clibration.

    Signed-off-by: Alex Hacker
    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    Alex Hacker
     
  • commit 15052f81d255eac44e745bc630b36aa86779ad9d upstream.

    CTL power data incorrect in ctlPowerData_2G field of ar9300_eeprom.
    Setting incorrect CTL power in calibration is causing lower tx power.
    Tx power was reported as 3dBm while operating in channel 6 HT40+/
    in channel 11 HT40- due to CTL powers in the calibration is set to
    zero.

    Signed-off-by: Rajkumar Manoharan
    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    Rajkumar Manoharan
     
  • commit 8028837d71ba9904b17281b40f94b93e947fbe38 upstream.

    The dp83640 buffers receive time stamps from special PHY status frames,
    matching them to received PTP packets in a work queue. Because the timeout
    for orphaned time stamps is so long and the buffer is so small, the driver
    can drop time stamps under moderate PTP traffic.

    This commit fixes the issue by decreasing the timeout to (at least) one
    timer tick and increasing the buffer size.

    Signed-off-by: Richard Cochran
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Richard Cochran
     
  • commit cbc056602c7c63620c86904c431ff6b61e029dcc upstream.

    After resetting the time, the PPS signals on the FIPER output channels
    are incorrectly offset from the clock time, as can be readily verified
    by a looping back the FIPER to the external time stamp input.

    Despite its name, setting the "Fiper Realignment Disable" bit seems to
    fix the problem, at least on the P2020.

    Also, following the example code from the Freescale BSP, it is not really
    necessary to disable and re-enable the timer in order to reprogram the
    FIPER. (The documentation is rather unclear on this point. It seems that
    writing to the alarm register also disables the FIPER.)

    Signed-off-by: Richard Cochran
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Richard Cochran
     
  • commit c407bee8a56d874b91f3e4ee790660959ff1a25e upstream.

    This issue is present all the way back to 2.6.34 kernels.

    Signed-off-by: Bruce Allan
    Tested-by: Jeffrey Pieper
    Signed-off-by: Jeff Kirsher
    Signed-off-by: Greg Kroah-Hartman

    Bruce Allan
     
  • commit 8c20871998c082f6fbc963f1449a5ba5140ee39a upstream.

    Commit df5e6223407e ("ext4: fix deadlock in ext4_symlink() in ENOSPC
    conditions") recalculated the number of credits needed for a long
    symlink, in the process of splitting it into two transactions. However,
    the first credit calculation under-counted because if selinux is
    enabled, credits are needed to create the selinux xattr as well.

    Overrunning the reservation will result in an OOPS in
    jbd2_journal_dirty_metadata() due to this assert:

    J_ASSERT_JH(jh, handle->h_buffer_credits > 0);

    Fix this by increasing the reservation size.

    Signed-off-by: Eric Sandeen
    Reviewed-by: Jan Kara
    Acked-by: "Theodore Ts'o"
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Eric Sandeen
     
  • commit d2db60df1e7eb39cf0f378dfc4dd8813666d46ef upstream.

    Commit ae54870a1dc9 ("ext3: Fix lock inversion in ext3_symlink()")
    recalculated the number of credits needed for a long symlink, in the
    process of splitting it into two transactions. However, the first
    credit calculation under-counted because if selinux is enabled, credits
    are needed to create the selinux xattr as well.

    Overrunning the reservation will result in an OOPS in
    journal_dirty_metadata() due to this assert:

    J_ASSERT_JH(jh, handle->h_buffer_credits > 0);

    Fix this by increasing the reservation size.

    Signed-off-by: Eric Sandeen
    Reviewed-by: Jan Kara
    Acked-by: "Theodore Ts'o"
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Eric Sandeen
     
  • commit bed9a31527af8ff3dfbad62a1a42815cef4baab7 upstream.

    On a box with 8TB of RAM the MMU hashtable is 64GB in size. That
    means we have 4G PTEs. pSeries_lpar_hptab_clear was using a signed
    int to store the index which will overflow at 2G.

    Signed-off-by: Anton Blanchard
    Acked-by: Michael Neuling
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Greg Kroah-Hartman

    Anton Blanchard
     
  • commit 966728dd88b4026ec58fee169ccceaeaf56ef120 upstream.

    I have a box that fails in OF during boot with:

    DEFAULT CATCH!, exception-handler=fff00400
    at %SRR0: 49424d2c4c6f6768 %SRR1: 800000004000b002

    ie "IBM,Logh". OF got corrupted with a device tree string.

    Looking at make_room and alloc_up, we claim the first chunk (1 MB)
    but we never claim any more. mem_end is always set to alloc_top
    which is the top of our available address space, guaranteeing we will
    never call alloc_up and claim more memory.

    Also alloc_up wasn't setting alloc_bottom to the bottom of the
    available address space.

    This doesn't help the box to boot, but we at least fail with
    an obvious error. We could relocate the device tree in a future
    patch.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Greg Kroah-Hartman

    Anton Blanchard
     
  • commit b1301797f30370c430244979671978fc232f4533 upstream.

    Recent versions of firmware will fail to unmap the virtual processor
    area if we have a dispatch trace log registered. This causes kexec
    to fail.

    If a trace log is registered this patch unregisters it before the
    SLB shadow and virtual processor areas, fixing the problem.

    The address argument is ignored by firmware on unregister so we
    may as well remove it.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Greg Kroah-Hartman

    Anton Blanchard