28 Jul, 2010

3 commits


27 Jul, 2010

37 commits

  • Serial port setup support code

    Signed-off-by: Kevin Wells
    Signed-off-by: Uwe Kleine-König

    Kevin Wells
     
  • Support for system suspend and resume

    Signed-off-by: Kevin Wells

    Kevin Wells
     
  • Common drivers for the LPC32XX used on all platforms

    Signed-off-by: Kevin Wells
    Signed-off-by: Uwe Kleine-König

    Kevin Wells
     
  • Clock driver for the LPC32XX architecture

    Signed-off-by: Kevin Wells
    Signed-off-by: Uwe Kleine-König

    Kevin Wells
     
  • Debug (printascii) and IRQ handler macros for the LPC32XX
    arch

    Signed-off-by: Kevin Wells
    Signed-off-by: Uwe Kleine-König

    Kevin Wells
     
  • Header files for the LPC32xx arch

    Signed-off-by: Kevin Wells
    Signed-off-by: Uwe Kleine-König

    Kevin Wells
     
  • We should use perf_sample_data_init() to initialize struct
    perf_sample_data. As explained in the description of commit dc1d628a
    ("perf: Provide generic perf_sample_data initialization"), it is
    possible for userspace to get the kernel to dereference data.raw,
    so if it is not initialized, that means that unprivileged userspace
    can possibly oops the kernel. Using perf_sample_data_init makes sure
    it gets initialized to NULL.

    This conversion should have been included in commit dc1d628a, but it
    got missed.

    Signed-off-by: Peter Zijlstra
    Acked-by: Kumar Gala
    Signed-off-by: Paul Mackerras

    Peter Zijlstra
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Do not try to disable hpet if it hasn't been initialized before
    x86, i8259: Only register sysdev if we have a real 8259 PIC

    Linus Torvalds
     
  • Patch 9e39f7c5b311a306977c5471f9e2ce4c456aa038 changed the
    DBG_PRINT() macro and the if clause was wrongly changed. It means
    that currently all the DBG_PRINT are being printed, flooding the
    kernel log buffer with things like:

    s2io: eth6: Next block at: c0000000b9c90000
    s2io: eth6: In Neterion Tx routine

    Signed-off-by: Breno Leitao
    Acked-by: Sreenivasa Honnur
    Signed-off-by: David S. Miller

    Breno Leitao
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] powernow-k8: Limit Pstate transition latency check
    [CPUFREQ] Fix PCC driver error path
    [CPUFREQ] fix double freeing in error path of pcc-cpufreq
    [CPUFREQ] pcc driver should check for pcch method before calling _OSC
    [CPUFREQ] fix memory leak in cpufreq_add_dev
    [CPUFREQ] revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)"

    Linus Torvalds
     
  • * 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus:
    MIPS: Set io_map_base for several PCI bridges lacking it
    MIPS: Alchemy: Define eth platform devices in the correct order
    MIPS: BCM63xx: Prevent second enet registration on BCM6338
    MIPS: Quit using undefined behavior of ADDU in 64-bit atomic operations.
    MIPS: N32: Define getdents64.
    MIPS: MTX-1: Fix PCI on the MeshCube and related boards
    MIPS: Make init_vdso a subsys_initcall.
    MIPS: "Fix" useless 'init_vdso successfully' message.
    MIPS: PowerTV: Move register setup to before reading registers.
    SOUND: Au1000: Fix section mismatch
    VIDEO: Au1100fb: Fix section mismatch
    VIDEO: PMAGB-B: Fix section mismatch
    VIDEO: PMAG-BA: Fix section mismatch
    NET: declance: Fix section mismatches
    VIDEO. gbefb: Fix section mismatches.

    Linus Torvalds
     
  • Fix error from the last pull request. Making sure we shut the panel off
    is more correct and saves power.

    Signed-off-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Jesse Barnes
     
  • David S. Miller
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    sysfs: allow creating symlinks from untagged to tagged directories
    sysfs: sysfs_delete_link handle symlinks from untagged to tagged directories.
    sysfs: Don't allow the creation of symlinks we can't remove

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    USB: musb: tusb6010: fix compile error with n8x0_defconfig
    USB: FTDI: Add support for the RT System VX-7 radio programming cable
    USB: add quirk for Broadcom BT dongle
    USB: usb-storage: fix initializations of urb fields
    USB: xhci: Set Mult field in endpoint context correctly.
    USB: sisusbvga: Fix for USB 3.0
    USB: adds Artisman USB dongle to list of quirky devices
    USB: xhci: Set EP0 dequeue ptr after reset of configured device.
    USB: Fix USB3.0 Port Speed Downgrade after port reset
    USB: xHCI: Fix another bug in link TRB activation change.
    USB: option: Add support for AMOI Skypephone S2
    USB: New PIDs for Qualcomm gobi 2000 (qcserial)
    USB: ftdi_sio: support for Signalyzer tools based on FTDI chips
    USB: s3c2410_udc: be aware of connected gadget driver
    USB: Expose vendor-specific ACM channel on Nokia 5230
    USB: Add PID for Sierra 250U to drivers/usb/serial/sierra.c
    USB: option: add support for 1da5:4518

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
    serial: fix rs485 for atmel_serial on avr32

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
    drm/i915: add pipe A force quirks to i915 driver
    drm/i915: Fix panel fitting regression since 734b4157
    drm/i915: fix deadlock in fb teardown
    drm/i915: don't free non-existent compressed llb on ILK+
    agp/intel: Use the correct mask to detect i830 aperture size.
    drm/i915: disable FBC when more than one pipe is active
    drm/i915: Use the correct scanout alignment for fbcon.
    drm/i915: make sure eDP panel is turned on
    drm/i915: add PANEL_UNLOCK_REGS definition
    drm/i915: Make G4X-style PLL search more permissive
    drm/i915: Clear any existing dither mode prior to enabling spatial dithering
    drm/i915: handle shared framebuffers when flipping
    drm/i915: Explosion following OOM in do_execbuffer.
    gpu/drm/i915: Add a blacklist to omit modeset on LID open

    Linus Torvalds
     
  • The Pstate transition latency check was added for broken F10h BIOSen
    which wrongly contain a value of 0 for transition and bus master
    latency. Fam11h and later, however, (will) have similar transition
    latency so extend that behavior for them too.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Dave Jones

    Borislav Petkov
     
  • The PCC cpufreq driver unmaps the mailbox address range if any CPUs fail to
    initialise, but doesn't do anything to remove the registered CPUs from the
    cpufreq core resulting in failures further down the line. We're better off
    simply returning a failure - the cpufreq core will unregister us cleanly if
    we end up with no successfully registered CPUs. Tidy up the failure path
    and also add a sanity check to ensure that the firmware gives us a realistic
    frequency - the core deals badly with that being set to 0.

    Signed-off-by: Matthew Garrett
    Cc: Naga Chumbalkar
    Signed-off-by: Dave Jones

    Matthew Garrett
     
  • Prevent double freeing on error path.

    Signed-off-by: Daniel J Blueman
    Signed-off-by: Dave Jones

    Daniel J Blueman
     
  • The pcc specification documents an _OSC method that's incompatible with the
    one defined as part of the ACPI spec. This shouldn't be a problem as both
    are supposed to be guarded with a UUID. Unfortunately approximately nobody
    (including HP, who wrote this spec) properly check the UUID on entry to the
    _OSC call. Right now this could result in surprising behaviour if the pcc
    driver performs an _OSC call on a machine that doesn't implement the pcc
    specification. Check whether the PCCH method exists first in order to reduce
    this probability.

    Signed-off-by: Matthew Garrett
    Cc: Naga Chumbalkar
    Signed-off-by: Dave Jones

    Matthew Garrett
     
  • We didn't free policy->related_cpus in error path err_unlock_policy.
    This is catched by following kmemleak report:

    unreferenced object 0xffff88022a0b96d0 (size 512):
    comm "modprobe", pid 886, jiffies 4294689177 (age 780.694s)
    hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    backtrace:
    [] create_object+0x186/0x281
    [] kmemleak_alloc+0x60/0xa7
    [] kmem_cache_alloc_node_notrace+0x120/0x142
    [] alloc_cpumask_var_node+0x2c/0xd7
    [] alloc_cpumask_var+0x11/0x13
    [] zalloc_cpumask_var+0xf/0x11
    [] cpufreq_add_dev+0x11f/0x547
    [] sysdev_driver_register+0xc2/0x11d
    [] cpufreq_register_driver+0xcb/0x1b8
    [] 0xffffffffa032e040
    [] do_one_initcall+0x5e/0x15c
    [] sys_init_module+0xa6/0x1e6
    [] system_call_fastpath+0x16/0x1b
    [] 0xffffffffffffffff

    Signed-off-by: Xiaotian Feng
    Cc: Thomas Renninger
    Cc: Prarit Bhargava
    Signed-off-by: Dave Jones

    Xiaotian Feng
     
  • 395913d0b1db37092ea3d9d69b832183b1dd84c5 ("[CPUFREQ] remove rwsem lock
    from CPUFREQ_GOV_STOP call (second call site)") is not needed, because
    there is no rwsem lock in cpufreq_ondemand and cpufreq_conservative
    anymore. Lock should not be released until the work done.

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

    Signed-off-by: Andrej Gelenberg
    Cc: Mathieu Desnoyers
    Cc: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Acked-by: Mathieu Desnoyers
    Signed-off-by: Dave Jones

    Andrej Gelenberg
     
  • Supporting symlinks from untagged to tagged directories is reasonable,
    and needed to support CONFIG_SYSFS_DEPRECATED. So don't fail a prior
    allowing that case to work.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • This happens for network devices when SYSFS_DEPRECATED is enabled.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Recently my tagged sysfs support revealed a flaw in the device core
    that a few rare drivers are running into such that we don't always put
    network devices in a class subdirectory named net/.

    Since we are not creating the class directory the network devices wind
    up in a non-tagged directory, but the symlinks to the network devices
    from /sys/class/net are in a tagged directory. All of which works
    until we go to remove or rename the symlink. When we remove or rename
    a symlink we look in the namespace of the target of the symlink.
    Since the target of the symlink is in a non-tagged sysfs directory we
    don't have a namespace to look in, and we fail to remove the symlink.

    Detect this problem up front and simply don't create symlinks we won't
    be able to remove later. This prevents symlink leakage and fails in
    a much clearer and more understandable way.

    Signed-off-by: Eric W. Biederman
    Cc: Andrew Morton
    Cc: Rafael J. Wysocki
    Cc: Maciej W. Rozycki
    Cc: Kay Sievers
    Cc: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Drop the unnecessary empty stubs in tusb6010.c and avoid
    a compile error when building kernel for n8x0.

    Signed-off-by: Felipe Balbi
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Felipe Balbi
     
  • RT Systems has put out bunch of ham radio cables based on the FT232RL
    chip. Each cable type has a unique PID, this adds one for the Yaesu VX-7
    radios.

    Signed-off-by: Corey Minyard
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Corey Minyard
     
  • This device needs to be reset when resuming

    Signed-off-by: Oliver Neukum
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     
  • Commit 0ede76fcec5415ef82a423a95120286895822e2d, "USB: remove uses of
    URB_NO_SETUP_DMA_MAP" introduced a regression by inadvertantly removing
    initialization of the transfer flags. This caused initialization
    failures in the ums-karma driver. Fix the regression by zeroing it.

    While at it, as Alan Stern points out, the initializers for
    actual_length and status are handled by the core and error_count
    only matters for isochronous urbs, so they don't need to be set here.
    Remove them.

    Signed-off-by: Bob Copeland
    Acked-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Bob Copeland
     
  • The bmAttributes field of the SuperSpeed Endpoint Companion Descriptor has
    different meanings, depending on the endpoint type. If the endpoint is
    isochronous, the bmAttributes field is the maximum number of packets
    within a service interval that this endpoint supports. If the endpoint is
    bulk, it's the number of stream IDs this endpoint supports.

    Only set the Mult field of the xHCI endpoint context using the
    bmAttributes field if the endpoint is isochronous, and the device is a
    SuperSpeed device.

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

    Sarah Sharp
     
  • Super speed is also fast enough to let sisusbvga operate.
    Therefor expand the checks.

    Signed-off-by: Oliver Neukum
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     
  • When an attempt is made to read the interface strings of the Artisman
    Watchdog USB dongle (idVendor:idProduct 04b4:0526) an error is written
    to the dmesg log (uhci_result_common: failed with status 440000) and the
    dongle resets itself, resulting in a disconnect/reconnect loop.

    Adding the dongle to the list of devices in quirks.c, with the same
    quirk Alan Stern's previous patch for the Saitek Cyborg Gold 3D
    joystick, stops the device from resetting and allows it to be used with
    no problems.

    Signed-off-by: Paul Mortier
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Paul Mortier
     
  • When a configured device is reset, the control endpoint's ring is reused.
    If control transfers to the device were issued before the device is reset,
    the dequeue pointer will be somewhere in the middle of the ring. If the
    device is then issued an address with the set address command, the xHCI
    driver must provide a valid input context for control endpoint zero.

    The original code would give the hardware the original input context,
    which had a dequeue pointer set to the top of the ring. This would cause
    the host to re-execute any control transfers until it reached the ring's
    enqueue pointer. When issuing a set address command for a device that has
    just been configured and then reset, use the control endpoint's enqueue
    pointer as the hardware's dequeue pointer.

    Assumption: All control transfers will be completed or cancelled before
    the set address command is issued to the device. If there are any
    outstanding control transfers, this code will not work.

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

    Sarah Sharp
     
  • Without this fix, a USB 3.0 port is downgraded to full speed after a port
    reset of a configured device. The USB 3.0 terminations will be disabled
    permanently, and USB 3.0 devices will always enumerate as full speed
    devices, until the host controller is unplugged (if it is an ExpressCard)
    or the computer is rebooted.

    Fajun Chen traced this traced the speed downgrade issue to the port reset
    and the interpretation of port status in USB hub driver code. The hub
    code was not testing for the port being a SuperSpeed port, and it fell
    through to the else case of Full Speed.

    The following patch adds SuperSpeed mapping from the port status, and
    fixes the speed downgrade issue.

    Reported-by: Fajun Chen
    Signed-off-by: Sarah Sharp
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • Commit 6c12db90f19727c76990e7f4801c67a148b30111 also seems to have
    introduced a bug that is triggered when the command ring is about to wrap.
    The inc_enq() function will not have moved the enqueue pointer past the
    link TRB. It is supposed to be moved past the link TRB in prepare_ring(),
    which should be called before a TD is enqueued. However, the
    queue_command() function never calls the prepare_ring() function because
    prepare_ring() is only supposed to be used for endpoint rings. That means
    the enqueue pointer will not be moved past the link TRB, and will get
    overwritten.

    The fix is to make queue_command() call prepare_ring() with a fake
    endpoint status (set to running). Then the enqueue pointer will get moved
    past the link TRB.

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

    Sarah Sharp
     
  • usbserial: Add AMOI Skypephone S2 support.

    This patch adds support for the AMOI Skypephone S2 to the usbserial module.

    Tested-by: Dennis Jansen
    Signed-off-by: Dennis Jansen
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Dennis Jansen