10 Mar, 2011

4 commits

  • With the plugging now being explicitly controlled by the
    submitter, callers need not pass down unplugging hints
    to the block layer. If they want to unplug, it's because they
    manually plugged on their own - in which case, they should just
    unplug at will.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Code has been converted over to the new explicit on-stack plugging,
    and delay users have been converted to use the new API for that.
    So lets kill off the old plugging along with aops->sync_page().

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • It was always abuse to reuse the plugging infrastructure for this,
    convert it to the (new) real API for delaying queueing a bit. A
    default delay of 3 msec is defined, to match the previous
    behaviour.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • It was always abuse to reuse the plugging infrastructure for this,
    convert it to the (new) real API for delaying queueing a bit.

    Signed-off-by: Jens Axboe
    Acked-by: David S. Miller

    Jens Axboe
     

22 Feb, 2011

11 commits

  • The current code does not follow Intel documentation: It misses some things
    and does other, undocumented things. This causes wrong backlight values in
    certain conditions. Instead of adding tricky code handling badly documented
    and rare corner cases, don't handle combination mode specially at all. This
    way PCI_LBPC is never touched and weird things shouldn't happen.

    If combination mode is enabled, then the only downside is that changing the
    brightness has a greater granularity (the LBPC value), but LBPC is at most
    254 and the maximum is in the thousands, so this is no real functional loss.

    A potential problem with not handling combined mode is that a brightness of
    max * PCI_LBPC is not bright enough. However, this is very unlikely because
    from the documentation LBPC seems to act as a scaling factor and doesn't look
    like it's supposed to be changed after boot. The value at boot should always
    result in a bright enough screen.

    IMPORTANT: However, although usually the above is true, it may not be when
    people ran an older (2.6.37) kernel which messed up the LBPC register, and
    they are unlucky enough to have a BIOS that saves and restores the LBPC value.
    Then a good kernel may seem to not work: Max brightness isn't bright enough.
    If this happens people should boot back into the old kernel, set brightness
    to the maximum, and then reboot. After that everything should be fine.

    For more information see the below links. This fixes bugs:

    http://bugzilla.kernel.org/show_bug.cgi?id=23472
    http://bugzilla.kernel.org/show_bug.cgi?id=25072

    Signed-off-by: Indan Zupancic
    Tested-by: Alex Riesen
    Signed-off-by: Linus Torvalds

    Indan Zupancic
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86:
    dell-laptop: Toggle the unsupported hardware killswitch
    thinkpad_acpi: Always report scancodes for hotkeys
    acer-wmi: Fix capitalisation of GUID
    platform/x86: ideapad-laptop depends on INPUT
    platform: x86: acer-wmi: world-writable sysfs threeg file
    platform: x86: asus_acpi: world-writable procfs files
    platform: x86: tc1100-wmi: world-writable sysfs wireless and jogdial files
    platform-drivers: x86: pmic: Use request_irq instead of chained handler
    platform-drivers: x86: pmic: Use irq_chip buslock mechanism
    platform-drivers: x86: Convert pmic to new irq_chip functions
    platform-drivers: x86: pmic: Fix up bogus irq hackery

    Linus Torvalds
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
    [S390] net: provide architecture specific NET_SKB_PAD
    [S390] atomic: use inline asm
    [S390] correct ipl parameter block safe guard
    [S390] atomic: use ACCESS_ONCE() for atomic_read()
    [S390] dasd: correct device table

    Linus Torvalds
     
  • It is found on Dell Inspiron 1018 that the firmware reports that the hardware
    killswitch is not supported. This makes the rfkill key not functional.

    This patch forces the driver to toggle the firmware rfkill status in the case
    that the hardware killswitch is indicated as unsupported by the firmware.

    Signed-off-by: Keng-Yu Lin
    Tested-by: Alessio Igor Bogani
    Signed-off-by: Matthew Garrett

    Keng-Yu Lin
     
  • Some thinkpad hotkeys report key codes like KEY_FN_F8 when something
    like KEY_VOLUMEDOWN is desired. Always provide the scan codes in
    addition to the key codes to assist with debugging these issues. Also
    send the scan code before the key code to match what other drivers do,
    as some userspace utilities expect this ordering.

    Signed-off-by: Seth Forshee
    Signed-off-by: Matthew Garrett

    Seth Forshee
     
  • 6AF4F258-B401-42fd-BE91-3D4AC2D7C0D3 needs to be
    6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3 to match the hardware alias.

    Signed-off-by: Matthew Garrett
    Acked-by: Carlos Corbacho
    Cc: stable@kernel.org

    Matthew Garrett
     
  • Most platform/x86 drivers that use INPUT_SPARSEKMAP also depend on INPUT,
    so do the same for ideapad-laptop. This fixes a kconfig warning and
    subsequent build errors when CONFIG_INPUT is disabled.

    warning: (ACER_WMI && ASUS_LAPTOP && DELL_WMI && HP_WMI && PANASONIC_LAPTOP && IDEAPAD_LAPTOP && EEEPC_LAPTOP && EEEPC_WMI && MSI_WMI && TOPSTAR_LAPTOP && ACPI_TOSHIBA) selects INPUT_SPARSEKMAP which has unmet direct dependencies (!S390 && INPUT)

    ERROR: "input_free_device" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "input_register_device" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "sparse_keymap_setup" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "input_allocate_device" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "input_unregister_device" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "sparse_keymap_free" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "sparse_keymap_report_event" [drivers/platform/x86/ideapad-laptop.ko] undefined!

    Signed-off-by: Randy Dunlap
    Cc: David Woodhouse
    Cc: Matthew Garrett
    Cc: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Randy Dunlap
     
  • Don't allow everybody to write to hardware registers.

    Signed-off-by: Vasiliy Kulikov
    Signed-off-by: Matthew Garrett

    Vasiliy Kulikov
     
  • Don't allow everybody to change ACPI settings. The comment says that it
    is done deliberatelly, however, the comment before disp_proc_write()
    says that at least one of these setting is experimental.

    Signed-off-by: Vasiliy Kulikov
    Signed-off-by: Matthew Garrett

    Vasiliy Kulikov
     
  • Don't allow everybody to change WMI settings.

    Signed-off-by: Vasiliy Kulikov
    Signed-off-by: Matthew Garrett

    Vasiliy Kulikov
     
  • There is no need to install a chained handler for this hardware. This
    is a plain x86 IOAPIC interrupt which is handled by the core code
    perfectly fine. There is nothing special about demultiplexing these
    gpio interrupts which justifies a custom hack. Replace it by a plain
    old interrupt handler installed with request_irq. That makes the code
    agnostic about the underlying primary interrupt hardware. The overhead
    for this is minimal, but it gives us the advantage of accounting,
    balancing and to detect interrupt storms. gpio interrupts are not
    really that performance critical.

    Patch fixups from akpm

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Matthew Garrett
    Signed-off-by: Andrew Morton

    Thomas Gleixner
     

21 Feb, 2011

2 commits

  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:
    hwmon: (lm85) extend to support EMC6D103 chips
    MAINTAINERS: Remove stale hwmon quilt tree
    hwmon: (k10temp) add support for AMD Family 12h/14h CPUs
    hwmon: (jc42) do not allow writing to locked registers
    hwmon: (jc42) more helpful documentation
    hwmon: (jc42) fix type mismatch

    Linus Torvalds
     
  • This reverts commit 9b29050f8f75916f974a2d231ae5d3cd59792296.

    It has caused hibernate regressions, for example Juri Sladby's report:

    "I'm unable to hibernate 2.6.37.1 unless I rmmod tpm_tis:
    [10974.074587] Suspending console(s) (use no_console_suspend to debug)
    [10974.103073] tpm_tis 00:0c: Operation Timed out
    [10974.103089] legacy_suspend(): pnp_bus_suspend+0x0/0xa0 returns -62
    [10974.103095] PM: Device 00:0c failed to freeze: error -62"

    and Rafael points out that some of the new conditionals in that commit
    seem to make no sense. This commit needs more work and testing, let's
    revert it for now.

    Reported-by: Norbert Preining
    Reported-and-requested-by: Jiri Slaby
    Cc: Stefan Berger
    Cc: Guillaume Chazarain
    Cc: Rajiv Andrade
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

19 Feb, 2011

5 commits

  • The interface is identical EMC6D102, so all that needs to be added are
    some definitions and their uses.

    Registers apparently missing in EMC6D103S/EMC6D103:A2 compared to EMC6D103:A0,
    EMC6D103:A1, and EMC6D102 (according to the data sheets), but used
    unconditionally in the driver: 62[5:7], 6D[0:7], and 6E[0:7]. For that
    reason, EMC6D103S chips don't get enabled for the time being.

    Signed-off-by: Jan Beulich
    (Guenter Roeck: Replaced EMC6D103_A2 with EMC6D103S per EMC6D103S datasheet)
    Signed-off-by: Guenter Roeck
    Cc: stable@kernel.org

    Jan Beulich
     
  • * 'rtc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    RTC: Re-enable UIE timer/polling emulation
    RTC: Revert UIE emulation removal
    RTC: Release mutex in error path of rtc_alarm_irq_enable

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits)
    net: deinit automatic LIST_HEAD
    net: dont leave active on stack LIST_HEAD
    net: provide default_advmss() methods to blackhole dst_ops
    tg3: Restrict phy ioctl access
    drivers/net: Call netif_carrier_off at the end of the probe
    ixgbe: work around for DDP last buffer size
    ixgbe: fix panic due to uninitialised pointer
    e1000e: flush all writebacks before unload
    e1000e: check down flag in tasks
    isdn: hisax: Use l2headersize() instead of dup (and buggy) func.
    arp_notify: unconditionally send gratuitous ARP for NETDEV_NOTIFY_PEERS.
    cxgb4vf: Use defined Mailbox Timeout
    cxgb4vf: Quiesce Virtual Interfaces on shutdown ...
    cxgb4vf: Behave properly when CONFIG_DEBUG_FS isn't defined ...
    cxgb4vf: Check driver parameters in the right place ...
    pch_gbe: Fix the MAC Address load issue.
    iwlwifi: Delete iwl3945_good_plcp_health.
    net/can/softing: make CAN_SOFTING_CS depend on CAN_SOFTING
    netfilter: nf_iterate: fix incorrect RCU usage
    pch_gbe: Fix the issue that the receiving data is not normal.
    ...

    Linus Torvalds
     
  • * 'for-linus/bugfixes' of git://xenbits.xen.org/people/ianc/linux-2.6:
    xen: suspend and resume system devices when running PVHVM

    Linus Torvalds
     
  • * 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies long
    workqueue, freezer: unify spelling of 'freeze' + 'able' to 'freezable'
    workqueue: wake up a worker when a rescuer is leaving a gcwq

    Linus Torvalds
     

18 Feb, 2011

10 commits

  • Add the PCI ID to support the internal temperature sensor of the
    AMD "Llano" and "Brazos" processor families.

    Signed-off-by: Clemens Ladisch
    Cc: stable@kernel.org # ca86828: x86, AMD, PCI: Add AMD northbridge PCI device
    Cc: stable@kernel.org
    Signed-off-by: Guenter Roeck

    Clemens Ladisch
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/radeon/kms: add missing frac fb div flag for dce4+
    drm/radeon/kms: do not reject X16 and Y16X16 floating-point formats on r300
    drm/nouveau: fix suspend/resume on GPUs that don't have PM support
    drm/nouveau: flips/flipd need to always set 'evict' for move_accel_cleanup()
    drm/nv40: fix tiling-related setup for a number of chipsets
    drm/nouveau: fix non-EDIDful native mode selection
    drm/nouveau: Fix detection of DDC-based LVDS on DCB15 boards.
    drm/nv04-nv40: Fix NULL dereference when we fail to find an LVDS native mode.
    drm/nv10: Fix crash when allocating a BO larger than half the available VRAM.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB/qib: Prevent double completions after a timeout or RNR error
    IB/qib: Fix double add_timer()
    RDMA/nes: Don't generate async events for unregistered devices

    Linus Torvalds
     
  • This patch re-enables UIE timer/polling emulation for rtc devices
    that do not support alarm irqs.

    CC: Uwe Kleine-König
    CC: Thomas Gleixner
    Reported-by: Uwe Kleine-König
    Tested-by: Uwe Kleine-König
    Signed-off-by: John Stultz

    John Stultz
     
  • Uwe pointed out that my alarm based UIE emulation is not sufficient
    to replace the older timer/polling based UIE emulation on devices
    where there is no alarm irq. This causes rtc devices without alarms
    to return -EINVAL to UIE ioctls. The fix is to re-instate the old
    timer/polling method for devices without alarm irqs.

    This patch reverts the following commits:
    042620a018afcfba1d678062b62e46 - Remove UIE emulation
    1daeddd5962acad1bea55e524fc0fa - Cleanup removed UIE emulation declaration
    b5cc8ca1c9c3a37eaddf709b2fd3e1 - Remove Kconfig symbol for UIE emulation

    The emulation mode will still need to be wired-in with a following
    patch before it will work.

    CC: Uwe Kleine-König
    CC: Thomas Gleixner
    Reported-by: Uwe Kleine-König
    Signed-off-by: John Stultz

    John Stultz
     
  • On hardware that doesn't support alarm interrupts, rtc_alarm_irq_enable
    could return without releasing the ops_lock mutex.

    This was introduced in
    aa0be0f (RTC: Propagate error handling via rtc_timer_enqueue properly)

    This patch corrects the issue by only returning once the mutex is
    released.

    [john.stultz: Reworded the commit log]

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: John Stultz

    Uwe Kleine-König
     
  • If management firmware is present and the device is down, the firmware
    will assume control of the phy. If a phy access were allowed from the
    host, it will collide with firmware phy accesses, resulting in
    unpredictable behavior. This patch fixes the problem by disallowing phy
    accesses during the problematic condition.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Without calling of netif_carrier_off at the end of the probe the operstate
    is unknown when the device is initially opened. By default the carrier is
    on so when the device is opened and netif_carrier_on is called the link
    watch event is not fired and operstate remains zero (unknown).

    This patch fixes this behavior in forcedeth and r8169.

    Signed-off-by: Ivan Vecera
    Acked-by: Francois Romieu
    Signed-off-by: David S. Miller

    Ivan Vecera
     
  • Roland Dreier
     
  • There is a double completion associated with error handling for RC QPs.

    The sequence is:

    - The do_rc_ack() routine fields an RNR nack and there are 0
    rnr_retries configured on the QP.
    - qib_error_qp() stops the pending timer
    - qib_rc_send_complete() is called from sdma_complete()
    - qib_rc_send_complete() starts the timer because the msb of the psn
    just completed says an ack is needed.
    - a bunch of flushes occur as ipoib posts WQEs to an error'ed QP
    - rc_timeout() calls qib_restart_rc()
    - qib_restart_rc() calls qib_send_complete() with a
    IB_WC_RETRY_EXC_ERR on a wqe that has already been completed in the
    past

    The fix avoids starting the timer since another packet will never
    arrive.

    Signed-off-by: Mike Marciniszyn
    Signed-off-by: Roland Dreier

    Mike Marciniszyn
     

17 Feb, 2011

8 commits

  • The 3880 storage control unit supports a 3380 device
    type, but not a 3390 device type.

    Reported-by: Stephen Powell
    Signed-off-by: Stefan Haberland
    Signed-off-by: Martin Schwidefsky

    Stefan Haberland
     
  • Otherwise we fail to properly suspend/resume all of the emulated devices.

    Something between 2.6.38-rc2 and rc3 appears to have exposed this
    issue, but it's always been wrong not to do this.

    Signed-off-by: Ian Campbell
    Acked-by: Stefano Stabellini
    Acked-by: Jeremy Fitzhardinge

    Ian Campbell
     
  • A HW limitation was recently discovered where the last buffer in a DDP offload
    cannot be a full buffer size in length. Fix the issue with a work around by
    adding another buffer with size = 1.

    Signed-off-by: Amir Hanania
    Tested-by: Ross Brattain
    Signed-off-by: Jeff Kirsher

    Amir Hanania
     
  • Systems containing an 82599EB and running a backported driver from
    upstream were panicing on boot. It turns out hw->mac.ops.setup_sfp is
    only set for 82599, so one should check to be sure that pointer is set
    before continuing in ixgbe_sfp_config_module_task. I verified by
    inspection that the upstream driver has the same issue and also added a
    check before the call in ixgbe_sfp_link_config.

    Signed-off-by: Andy Gospodarek
    Signed-off-by: Jeff Kirsher

    Andy Gospodarek
     
  • The driver was not flushing all writebacks before unloading, possibly
    causing memory to be written by the hardware after the driver had
    reinitialized the rings.

    This adds missing functionality to flush any pending writebacks and is
    called in all spots where descriptors should be completed before the driver
    begins processing.

    Signed-off-by: Jesse Brandeburg
    Reviewed-by: Bruce Allan
    Tested-by: Jeff Pieper
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • This change is part of a fix to avoid any tasks running while the driver is
    exiting and deinitializing resources.

    Signed-off-by: Jesse Brandeburg
    Tested-by: Jeff Pieper
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • * 'nouveau/drm-nouveau-next' of /ssd/git/drm-nouveau-next:
    drm/nouveau: fix suspend/resume on GPUs that don't have PM support
    drm/nouveau: flips/flipd need to always set 'evict' for move_accel_cleanup()
    drm/nv40: fix tiling-related setup for a number of chipsets
    drm/nouveau: fix non-EDIDful native mode selection
    drm/nouveau: Fix detection of DDC-based LVDS on DCB15 boards.
    drm/nv04-nv40: Fix NULL dereference when we fail to find an LVDS native mode.
    drm/nv10: Fix crash when allocating a BO larger than half the available VRAM.

    Dave Airlie
     
  • The fixed ref/post dividers are set by the AdjustPll table
    rather than the ss info table on dce4+. Make sure we enable
    the fractional feedback dividers when using a fixed post
    or ref divider on them as well.

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

    Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher