27 Jul, 2010

40 commits

  • Now that all arches have been converted over to use generic time via
    clocksources or arch_gettimeoffset(), we can remove the GENERIC_TIME
    config option and simplify the generic code.

    Signed-off-by: John Stultz
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    John Stultz
     
  • After accidentally misusing timespec_add_safe, I wanted to make sure
    we don't accidently trip over that issue again, so I created a simple
    timespec_add() function which we can use to replace the instances
    of timespec_add_safe() that don't want the overflow detection.

    Signed-off-by: John Stultz
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    John Stultz
     
  • Due to vtime calling vgettimeofday(), its possible that an application
    could call time();create("stuff",O_RDRW); only to see the file's
    creation timestamp to be before the value returned by time.

    A similar way to reproduce the issue is to compare the vsyscall time()
    with the syscall time(), and observe ordering issues.

    The modified test case from Oleg Nesterov below can illustrate this:

    int main(void)
    {
    time_t sec1,sec2;
    do {
    sec1 = time(&sec2);
    sec2 = syscall(__NR_time, NULL);
    } while (sec1
    Cc: Jiri Olsa
    Cc: Oleg Nesterov
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    John Stultz
     
  • …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
     
  • * '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
     
  • * 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
     
  • Adds support for the Generic Qualcomm Gobi 2000 WWAN UMTS/CDMA modem

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

    Andrew Bird
     
  • ftdi_sio: support for Signalyzer tools based on FTDI chips

    This patch adds support for the Xverve Signalyzers.

    Signed-off-by: Colin Leitner
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Colin Leitner
     
  • To escape from data abort in interrupt handler, it is required to
    check for a connected gadget before delivering control requests.

    The change fixes the following panic, which occurs with no loaded
    gadget driver and input USB_REQ_GET_DESCRIPTOR request:

    Kernel panic - not syncing: Fatal exception in interrupt
    [] (unwind_backtrace+0x0/0xd8) from [] (panic+0x40/0x110)
    [] (panic+0x40/0x110) from [] (die+0x154/0x180)
    [] (die+0x154/0x180) from [] (__do_kernel_fault+0x64/0x74)
    [] (__do_kernel_fault+0x64/0x74) from [] (do_page_fault+0x1b8/0x1cc)
    [] (do_page_fault+0x1b8/0x1cc) from [] (do_DataAbort+0x34/0x94)
    [] (do_DataAbort+0x34/0x94) from [] (__dabt_svc+0x40/0x60)
    Exception stack(0xc0327ea8 to 0xc0327ef0)
    7ea0: bf0026b0 c0327ef0 c0327ee4 00000000 bf002590 00000093
    7ec0: 00000001 bf0026b0 bf002990 00000000 00000008 0000143d 00003f00 c0327ef0
    7ee0: bf001364 bf001360 20000093 ffffffff
    [] (__dabt_svc+0x40/0x60) from [] (s3c2410_udc_irq+0x5b8/0x778 [s3c2410_udc])
    [] (s3c2410_udc_irq+0x5b8/0x778 [s3c2410_udc]) from [] (handle_IRQ_event+0x3c/0x104)
    [] (handle_IRQ_event+0x3c/0x104) from [] (handle_edge_irq+0x12c/0x164)
    [] (handle_edge_irq+0x12c/0x164) from [] (asm_do_IRQ+0x68/0x88)
    [] (asm_do_IRQ+0x68/0x88) from [] (__irq_svc+0x24/0xa0)

    Signed-off-by: Vladimir Zapolskiy
    Signed-off-by: Greg Kroah-Hartman

    Vladimir Zapolskiy
     
  • Nokia S60 phones expose two ACM channels. The first is
    a modem, the second is 'vendor-specific' but is treated
    as a serial device at the S60 end, so we want to expose
    it on Linux too.

    Signed-off-by: Przemo Firszt
    Signed-off-by: Greg Kroah-Hartman

    Przemo Firszt
     
  • Add VID/PID for Sierra Wireless 250U USB dongle to sierra.c
    Allows use of 3G radio only

    Signed-off-by: August Huber
    Cc: Elina Pasheva
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    august huber
     
  • Signed-off-by: Omer Sezgin Ugurlu
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Ömer Sezgin Ugurlu
     
  • Ported over from the old UMS list. Unfortunately they're still
    necessary especially on older laptop platforms.

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

    Tested-by: Xavier
    Tested-by: Diego Escalante Urrelo
    Signed-off-by: Jesse Barnes
    Signed-off-by: Eric Anholt

    Jesse Barnes
     
  • The crtc mode fixup is run after the encoders adjust the mode to fit on
    their output, so don't reset the mode!

    Fixes:

    Bug 29057 - display corruption under 800x600 on netbook
    (1024x600) with 'Full Aspect' scaling
    https://bugs.freedesktop.org/show_bug.cgi?id=29057

    Signed-off-by: Chris Wilson
    Cc: Jesse Barnes
    Tested-by: Xun Fang
    Signed-off-by: Eric Anholt

    Chris Wilson
     
  • This patch fixes a build failure [1-4] in the atmel_serial code introduced by
    patch the patch ARM: 6092/1: atmel_serial: support for RS485
    communications (e8faff7330a3501eafc9bfe5f4f15af444be29f5)

    The build failure was caused by missing struct field and missing defines
    for the avr32 board - the patch fixes this.

    [1] http://kisskb.ellerman.id.au/kisskb/buildresult/2575242/ - first failure in linux-next, may 11th
    [2] http://kisskb.ellerman.id.au/kisskb/buildresult/2816418/ - still exists as of today
    [3] http://kisskb.ellerman.id.au/kisskb/buildresult/2617511/ - first failure in Linus' tree - May 20th - did really no one notice this?!
    [4] http://kisskb.ellerman.id.au/kisskb/buildresult/2813956/ - still exists in Linus' tree as of today

    Signed-off-by: Peter Huewe
    Signed-off-by: Greg Kroah-Hartman

    Peter Huewe