18 Aug, 2011

10 commits

  • 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

30 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
     
  • commit f61500e000eedc0c7a0201200a7f00ba5529c002 upstream.

    When an eCryptfs inode's lower file has been closed, and the pointer has
    been set to NULL, return an error when trying to do a lower read or
    write rather than calling BUG().

    https://bugzilla.kernel.org/show_bug.cgi?id=37292

    Signed-off-by: Tyler Hicks
    Signed-off-by: Greg Kroah-Hartman

    Tyler Hicks
     
  • commit 764355487ea220fdc2faf128d577d7f679b91f97 upstream.

    Close a TOCTOU race for mounts done via ecryptfs-mount-private. The mount
    source (device) can be raced when the ownership test is done in userspace.
    Provide Ecryptfs a means to force the uid check at mount time.

    Signed-off-by: John Johansen
    Signed-off-by: Tyler Hicks
    Signed-off-by: Greg Kroah-Hartman

    John Johansen
     
  • [ Upstream commit 0785a8e87be0202744d8681363aecbd4ffbb5f5a ]

    arch/sparc/mm/init_64.c:1622:22: error: unused variable '__swapper_4m_tsb_phys_patch_end' [-Werror=unused-variable]
    arch/sparc/mm/init_64.c:1621:22: error: unused variable '__swapper_4m_tsb_phys_patch' [-Werror=unused-variable]

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

    David S. Miller
     
  • [ Upstream commit 961f65fc41cdc1f9099a6075258816c0db98e390 ]

    There is currently no upper limit on the mondo queue sizes we'll use,
    which guarentees that we'll eventually his page allocation limits, and
    thus allocation failures, due to MAX_ORDER.

    Cap the sizes sanely, current limits are:

    CPU MONDO 2 * max_possible_cpus
    DEV MONDO 256 (basically NR_IRQS)
    RES MONDO 128
    NRES MONDO 4

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

    David S. Miller
     
  • [ Upstream commit 9076d0e7e02b98f7a65df10d1956326c8d8ba61a ]

    On sun4v this is basically required since we point the hypervisor and
    the TSB walking hardware at these tables using physical addressing
    too.

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

    David S. Miller
     
  • [ Upstream commit 56d205cc5c0a3032a605121d4253e111193bf923 ]

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

    David S. Miller
     
  • [ Upstream commit ea5e7447ea9d555558e0f13798f5143dd51a915a ]

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

    David S. Miller
     
  • [ Upstream commit e2eb9f8158ead43a88c0f0b4d74257b1be938a18 ]

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

    David S. Miller
     
  • [ Upstream commit d600cbed0fe8fceec04500824f638dfe4996c653 ]

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

    David S. Miller
     
  • [ Upstream commit ef7c4d4675d2a9206f913f26ca1a5cd41bff9d41 ]

    Just like powerpc, we code patch at boot time.

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

    David S. Miller
     
  • [ Upstream commit e95ade083939dcb4b0c51c1a2c8504ea9ef3d6ef ]

    Don't use floating point on Niagara2, use the traditional
    plain Niagara code instead.

    Unroll Niagara loops to 128 bytes for copy, and 256 bytes
    for clear.

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

    David S. Miller
     
  • [ Upstream commit ac85fe8b21248054851e05bfaa352562e5b06dd3 ]

    Instead of evaluating the cpu features for ELF_HWCAP every exec,
    calculate it once at boot time.

    Add AV_SPARC_* capability flag bits, compatible with what Solaris
    reports to applications.

    Report these capabilities once in the kernel log, and also via
    /proc/cpuinfo in a new "cpucaps" entry.

    If available, fetch the cpu features from the machine description
    'hwcap-list' property of the 'cpu' node.

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

    David S. Miller
     
  • [ Upstream commit 4ba991d3eb379fbaa22049e7002341e97a673685 ]

    The cpu compatible string we look for is "SPARC-T3".

    As far as memset/memcpy optimizations go, we treat this chip the same
    as Niagara-T2/T2+. Use cache initializing stores for memset, and use
    perfetch, FPU block loads, cache initializing stores, and block stores
    for copies.

    We use the Niagara-T2 perf support, since T3 is a close relative in
    this regard. Later we'll add support for the new events T3 can
    report, plus enable T3's new "sample" mode.

    For now I haven't added any new ELF hwcap flags. We probably need
    to add a couple, for example:

    T2 and T3 both support the population count instruction in hardware.

    T3 supports VIS3 instructions, including support (finally) for
    partitioned shift. One can also now move directly between float
    and integer registers.

    T3 supports instructions meant to help with Galois Field and other HPC
    calculations, such as XOR multiply. Also there are "OP and negate"
    instructions, for example "fnmul" which is multiply-and-negate.

    T3 recognizes the transactional memory opcodes, however since
    transactional memory isn't supported: 1) 'commit' behaves as a NOP and
    2) 'chkpt' always branches 3) 'rdcps' returns all zeros and 4) 'wrcps'
    behaves as a NOP.

    So we'll need about 3 new elf capability flags in the end to represent
    all of these things.

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

    David S. Miller
     
  • [ Upstream commit 314ff52727fe94dfbe07f3a9a489ab3ca8d8df5a ]

    The hypervisor call is only necessary if hypervisor events are
    being requested.

    So if we're not tracking hypervisor events, simply do a direct
    register write.

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

    David S. Miller
     
  • [ Upstream commit 15e3608d7c273947dbf2eadbcaa66e51143928fb ]

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

    David S. Miller
     
  • [ Upstream commit facfddef2c76110b8e321921f7e54518c3dd1579 ]

    Otherwise we'll crash in the sparc perf init code.

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

    David S. Miller
     
  • commit c97951ec46d4b076c2236b77db34eeed6dddb8eb upstream.

    This patch addresses many endian issues solved by runing sparse with the
    option __CHECK_ENDIAN__ turned on.

    Signed-off-by: Kashyap Desai
    Signed-off-by: James Bottomley
    Cc: David Miller
    Signed-off-by: Greg Kroah-Hartman

    Kashyap, Desai