11 Sep, 2010

1 commit


10 Sep, 2010

26 commits

  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: Range check cpu in blk_cpu_to_group
    scatterlist: prevent invalid free when alloc fails
    writeback: Fix lost wake-up shutting down writeback thread
    writeback: do not lose wakeup events when forking bdi threads
    cciss: fix reporting of max queue depth since init
    block: switch s390 tape_block and mg_disk to elevator_change()
    block: add function call to switch the IO scheduler from a driver
    fs/bio-integrity.c: return -ENOMEM on kmalloc failure
    bio-integrity.c: remove dependency on __GFP_NOFAIL
    BLOCK: fix bio.bi_rw handling
    block: put dev->kobj in blk_register_queue fail path
    cciss: handle allocation failure
    cfq-iosched: Documentation help for new tunables
    cfq-iosched: blktrace print per slice sector stats
    cfq-iosched: Implement tunable group_idle
    cfq-iosched: Do group share accounting in IOPS when slice_idle=0
    cfq-iosched: Do not idle if slice_idle=0
    cciss: disable doorbell reset on reset_devices
    blkio: Fix return code for mkdir calls

    Linus Torvalds
     
  • We don't know how to enable it safely, especially as outputs turn on and
    off. When disabling LP1 we also need to make sure LP2 and 3 are already
    disabled.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=29173
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=29082
    Reported-by: Chris Lord
    Signed-off-by: Jesse Barnes
    Tested-by: Daniel Vetter
    Cc: stable@kernel.org
    Signed-off-by: Chris Wilson

    Jesse Barnes
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata-sff: Reenable Port Multiplier after libata-sff remodeling.
    libata: skip EH autopsy and recovery during suspend
    ahci: AHCI and RAID mode SATA patch for Intel Patsburg DeviceIDs
    ata_piix: IDE Mode SATA patch for Intel Patsburg DeviceIDs
    libata,pata_via: revert ata_wait_idle() removal from ata_sff/via_tf_load()
    ahci: fix hang on failed softreset
    pata_artop: Fix device ID parity check

    Linus Torvalds
     
  • Keep track of the link on the which the current request is in progress.
    It allows support of links behind port multiplier.

    Not all libata-sff is PMP compliant. Code for native BMDMA controller
    does not take in accound PMP.

    Tested on Marvell 7042 and Sil7526.

    Signed-off-by: Gwendal Grignou
    Signed-off-by: Jeff Garzik

    Gwendal Grignou
     
  • For some mysterious reason, certain hardware reacts badly to usual EH
    actions while the system is going for suspend. As the devices won't
    be needed until the system is resumed, ask EH to skip usual autopsy
    and recovery and proceed directly to suspend.

    Signed-off-by: Tejun Heo
    Tested-by: Stephan Diestelhorst
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • This patch adds the Intel Patsburg (PCH) SATA AHCI and RAID Controller
    DeviceIDs.

    Signed-off-by: Seth Heasley
    Signed-off-by: Jeff Garzik

    Seth Heasley
     
  • This patch adds the Intel Patsburg (PCH) IDE mode SATA Controller DeviceIDs.

    Signed-off-by: Seth Heasley
    Signed-off-by: Jeff Garzik

    Seth Heasley
     
  • Commit 978c0666 (libata: Remove excess delay in the tf_load path)
    removed ata_wait_idle() from ata_sff_tf_load() and via_tf_load().
    This caused obscure detection problems in sata_sil.

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

    The commit was pure performance optimization. Revert it for now.

    Reported-by: Dieter Plaetinck
    Reported-by: Jan Beulich
    Bisected-by: gianluca
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • It was a mistake to mark the PL031 IRQ as shared (for the U8500),
    we misread the datasheet. Get rid of this.

    Signed-off-by: Linus Walleij
    Cc: Jonas Aberg
    Cc: Mian Yousaf Kaukab
    Acked-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Walleij
     
  • Replace the arbitrary software-reset call from the device-probe
    method, because:

    - It is defective. To work correctly, it should be two byte writes,
    not a single word write. As it stands, it does nothing.

    - Some devices with sx150x expanders installed have their NRESET pins
    ganged on the same line, so resetting one causes the others to reset -
    not a nice thing to do arbitrarily!

    - The probe, usually taking place at boot, implies a recent hard-reset,
    so a software reset at this point is just a waste of energy anyway.

    Therefore, make it optional, defaulting to off, as this will match the
    common case of probing at powerup and also matches the current broken
    no-op behavior.

    Signed-off-by: Gregory Bean
    Reviewed-by: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gregory Bean
     
  • Commit b485fe5ea ("rtc/m41t80: use rtc_valid_tm() to check returned tm")
    added rtc_valid_tm to m41t80_rtc_read_alarm() but it was wrong while the
    t->time does not contain complete date/time.

    This patch also fixes a warning:
    warning: passing argument 1 of 'rtc_valid_tm' from incompatible pointer type

    Signed-off-by: Atsushi Nemoto
    Cc: Wan ZongShun
    Cc: Alessandro Zummo
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • Move the second if (reg & ...) test into the branch indicated by its
    indentation. The test was previously always executed after the if
    containing that branch, but it was always false unless the if branch was
    taken.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @r disable braces4@
    position p1,p2;
    statement S1,S2;
    @@

    (
    if (...) { ... }
    |
    if (...) S1@p1 S2@p2
    )

    @script:python@
    p1 << r.p1;
    p2 << r.p2;
    @@

    if (p1[0].column == p2[0].column):
    cocci.print_main("branch",p1)
    cocci.print_secs("after",p2)
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Chris Ball
    Cc: Pavel Pisa
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Julia Lawall
     
  • If suspend called when kmmcd is doing host->ops->disable, as kmmcd already
    increased host->en_dis_recurs to 1, the mmc_host_enable in suspend
    function will return directly without increase the nesting_cnt, which will
    cause the followed register access carried out to the disabled host.

    mmc_suspend_host will enable host itself. No need to enable host before
    it. Also works on kmmcd will get flushed in mmc_suspend_host, enable host
    after it will be safe. So make the mmc_host_enable after it.

    [cjb: rebase against current Linus]
    Signed-off-by: Ethan
    Signed-off-by: Chris Ball
    Acked-by: Adrian Hunter
    Acked-by: Madhusudhan Chikkature
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ethan Du
     
  • Fix the following error:

    at91_mci.c: In function 'at91_mci_sg_to_dma':
    at91_mci.c:236: error: implicit declaration of function 'kmap_atomic'
    at91_mci.c:236: error: 'KM_BIO_SRC_IRQ' undeclared (first use in this function)
    at91_mci.c:236: error: (Each undeclared identifier is reported only once
    at91_mci.c:236: error: for each function it appears in.)
    at91_mci.c:236: warning: assignment makes pointer from integer without a cast
    at91_mci.c:252: error: implicit declaration of function 'kunmap_atomic'
    at91_mci.c: In function 'at91_mci_post_dma_read':
    at91_mci.c:302: error: 'KM_BIO_SRC_IRQ' undeclared (first use in this function)
    at91_mci.c:302: warning: assignment makes pointer from integer without a cast
    at91_mci.c:317: error: implicit declaration of function 'flush_kernel_dcache_page'

    Signed-off-by: Marc Kleine-Budde
    Signed-off-by: Chris Ball
    Cc: Nicolas Ferre
    Cc: Andrew Victor
    Cc: Wolfgang Muees
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marc Kleine-Budde
     
  • This fixes the following warning:

    drivers/mmc/host/omap_hsmmc.c: In function 'omap_hsmmc_suspend':
    drivers/mmc/host/omap_hsmmc.c:2275: warning: unused variable 'state'

    Introduced by commit ID:

    commit 1a13f8fa76c880be41d6b1e6a2b44404bcbfdf9e
    Author: Matt Fleming
    Date: Wed May 26 14:42:08 2010 -0700

    mmc: remove the "state" argument to mmc_suspend_host()

    The unique usage of this var was removed there, and missed
    removing the respective declaration aswell.

    Signed-off-by: Sergio Aguirre
    Signed-off-by: Chris Ball
    Acked-by: Matt Fleming
    Cc: Madhusudhan Chikkature
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergio Aguirre
     
  • [cjb: fix line-wrapped patch]
    Signed-off-by: Jiri Pinkava
    Signed-off-by: Chris Ball
    Cc: Matt Fleming
    Cc: Russell King
    Cc: Ben Dooks
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Pinkava
     
  • kunmap_atomic() takes the cookie, returned by the kmap_atomic() as its
    argument and not the page address, used as an argument to kmap_atomic().
    This patch fixes the compile error:

    In file included from drivers/mmc/host/tmio_mmc.c:37:
    drivers/mmc/host/tmio_mmc.h: In function 'tmio_mmc_kunmap_atomic':
    drivers/mmc/host/tmio_mmc.h:192: error: negative width in bit-field ''

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Eric Miao
    Tested-by: Magnus Damm
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Guennadi Liakhovetski
     
  • Previously, it was possible for ack_mmc_irqs() to clear pending interrupt
    bits in the CTL_STATUS register, even though the interrupt handler had not
    been called. This was because of a race that existed when doing a
    read-modify-write sequence on CTL_STATUS. After the read step in this
    sequence, if an interrupt occurred (causing one of the bits in CTL_STATUS
    to be set) the write step would inadvertently clear it.

    Observed with the TMIO_STAT_RXRDY bit together with CMD53 on AR6002 and
    BCM4318 SDIO cards in polled mode.

    This patch eliminates this race by only writing to CTL_STATUS and clearing
    the interrupts that were passed as an argument to ack_mmc_irqs()."

    [matt@console-pimps.org: rewrote changelog]
    Signed-off-by: Yusuke Goda
    Acked-by: Magnus Damm "
    Tested-by: Arnd Hannemann "
    Acked-by: Ian Molton
    Cc: Matt Fleming
    Cc: Samuel Ortiz
    Cc: Paul Mundt
    Cc:
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yusuke Goda
     
  • Added missing axis-mapping for HP ProBook 532x and HP Mini 5102.

    Signed-off-by: Takashi Iwai
    Cc: Eric Piel
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Takashi Iwai
     
  • Much (but not all) of the RTC state is kept in the RTC peripheral which
    has its own power domain. Periodically (1 HZ), that state is synced from
    one power domain to the other (peripheral->core). When we are resuming,
    we need to wait for the sync to occur so that we don't get a mismatch of
    reading undefined state in the rest of the driver.

    Further, once the externally maintained bits have been synced back into
    the core, we then need to restore the bits maintained in the core. In our
    particular case, that is just the write completion interrupt bit.

    If we don't do any of this, working with the RTC causes ~5 second delays
    from time to time after waking up due to the write completion interrupt
    never firing.

    Reported-by: Michael Dean
    Reported-by: Michael Hennerich
    Signed-off-by: Mike Frysinger
    Acked-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • The int_clear helper takes a bitmask of interrupts to keep, not to
    disable. When suspending without wakeup enabled, we want to disable
    all interrupts, so use 0 (keep none) instead of -1 (keep all).

    Signed-off-by: Mike Frysinger
    Acked-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • The introduction of support for SD combo cards breaks the initialization
    of all CSR SDIO chips. The GO_IDLE (CMD0) in mmc_sd_get_cid() causes CSR
    chips to be reset (this is non-standard behavior).

    When initializing an SDIO card check for a combo card by using the memory
    present bit in the R4 response to IO_SEND_OP_COND (CMD5). This avoids the
    call to mmc_sd_get_cid() on an SDIO-only card.

    Signed-off-by: David Vrabel
    Acked-by: Michal Mirolaw
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Vrabel
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits)
    ARM: Update mach-types
    ARM: Partially revert "Auto calculate ZRELADDR and provide option for exceptions"
    ARM: Ensure PTE modifications via dma_alloc_coherent are visible
    ARM: 6359/1: ep93xx: move clock initialization earlier
    Revert "[ARM] pxa: remove now unnecessary dma_needs_bounce()"
    ARM: 6352/1: perf: fix event validation
    ARM: 6344/1: Mark CPU_32v6K as depended on CPU_V7
    ARM: 6343/1: wire up fanotify and prlimit64 syscalls on ARM
    ARM: 6330/1: perf: reword comments relating to perf_event_do_pending
    ARM: pxa168fb: fix section mismatch
    ARM: pxa: Make id const in pwm_probe()
    ARM: pxa: fix CI_HSYNC and CI_VSYNC MFP defines for pxa300
    ARM: pxa: remove __init from cpufreq_driver->init()
    ARM: imx: set cache line size to 64 bytes for i.MX5
    mx5/clock: fix clear bit fields issue in _clk_ccgr_disable function
    mxc/tzic: add base address when accessing TZIC registers
    ARM: mach-shmobile: ap4evb: fix write protect for SDHI1
    ARM: mach-shmobile: ap4evb: modify FSI2 ID
    ARM: mach-shmobile: do not enable the PLLC2 clock on init
    ARM: mach-shmobile: Clock framework comment fix
    ...

    Linus Torvalds
     
  • Russell King
     
  • ahci_do_softreset() compared the current time and deadline in reverse
    when calculating timeout for SRST issue. The result is that if
    @deadline is in future, SRST is issued with 0 timeout, which hasn't
    caused any problem because it later waits for DRDY with the correct
    timeout. If deadline is already exceeded by the time SRST is about to
    be issued, the timeout calculation underflows and if the device
    doesn't respond, timeout doesn't trigger for a _very_ long time.

    Reverse the incorrect comparison order.

    Signed-off-by: Tejun Heo
    Reported-by: Anssi Hannula
    Tested-by: Gwendal Grignou
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • x % 1 always evaluates to 0, which clearly isn't the intent. The
    author probably had "% 2" or "& 1" in mind, and mispelled it.

    Signed-off-by: Jean Delvare
    Cc: Jeff Garzik
    Cc: Alan Cox
    Signed-off-by: Jeff Garzik

    Jean Delvare
     

09 Sep, 2010

9 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    RDMA/nes: Fix hang with modified FIN handling on A0 cards
    RDMA/nes: Change state to closing after FIN
    RDMA/nes: Fix double CLOSE event indication crash
    RDMA/nes: Write correct register write to set TX pause param
    RDMA/cxgb3: Don't exceed the max HW CQ depth

    Linus Torvalds
     
  • If we are busy, then we may have woken up the wait_request handler but
    not yet serviced it before the hang check fires. So in hang check,
    double check that the i915_gem_do_wait_request() is still pending the
    wake-up before declaring all hope lost.

    Fixes regression with e78d73b16bcde921c9cf458d2e4de8e4fc2518f3.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=30073
    Reported-and-tested-by: Sitsofe Wheeler
    Signed-off-by: Chris Wilson

    Chris Wilson
     
  • Roland Dreier
     
  • Changing state to CLOSING when FIN is received causes A0 cards to
    hang. Fix this by checking for A0 cards in FIN handling.

    Signed-off-by: Faisal Latif
    Signed-off-by: Roland Dreier

    Faisal Latif
     
  • When the driver receives an AE for FIN received, it closes the
    connection without changing the state of the connection in the
    hardware to closing. By changing the state to closing, hardware will
    do a normal close sequence.

    Signed-off-by: Faisal Latif
    Signed-off-by: Roland Dreier

    Faisal Latif
     
  • During a stress testing in a large cluster, multiple close event are
    detected and BUG() is hit in the iWARP core. The cause is that the
    active node gave up while waiting for an MPA response from the peer
    and tried to close the connection by sending RST. The passive node
    driver receives the RST but is waiting for MPA response from the user.
    When the MPA accept is received, the driver offloads the connection
    and sends a CLOSE event. The driver gets an AE indicating RESET
    received and also sends a CLOSE event, hitting a BUG().

    Fix this by correcting RESET handling and sending CLOSE events.

    Signed-off-by: Faisal Latif
    Signed-off-by: Roland Dreier

    Faisal Latif
     
  • Setting TX pause param writes to the wrong register location causing
    the adapter to hang. Correct the define used to write the reigster.

    Addresses: https://bugs.openfabrics.org/show_bug.cgi?id=2116
    Reported-by: Shiri Franchi
    Signed-off-by: Chien Tung
    Signed-off-by: Roland Dreier

    Chien Tung
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: i8042 - fix device removal on unload
    Input: bcm5974 - adjust major/minor to scale
    Input: MT - initialize slots to unused
    Input: use PIT_TICK_RATE in vt beep ioctl
    Input: wacom - fix mousewheel handling for old wacom tablets

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf, x86: Try to handle unknown nmis with an enabled PMU
    perf, x86: Fix handle_irq return values
    perf, x86: Fix accidentally ack'ing a second event on intel perf counter
    oprofile, x86: fix init_sysfs() function stub
    lockup_detector: Sync touch_*_watchdog back to old semantics
    tracing: Fix a race in function profile
    oprofile, x86: fix init_sysfs error handling
    perf_events: Fix time tracking for events with pid != -1 and cpu != -1
    perf: Initialize callchains roots's childen hits
    oprofile: fix crash when accessing freed task structs

    Linus Torvalds
     

08 Sep, 2010

4 commits

  • This reverts commit b9421ae8f30958deea98d71477b4a77a066856b4.

    This warning was so prelevant, even for apparently working machines,
    that it was just causing fear, anxiety and panic.

    The root cause still remains, so we will add some better debugging when
    we focus on fixing it.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=17021
    Reported-by: Maciej Rutecki
    Signed-off-by: Chris Wilson

    Chris Wilson
     
  • This reverts commit 0f3ee801b332d6ff22285386675fe5aaedf035c3.

    Enabling LVDS on pipe A was causing excessive wakeups on otherwise idle
    systems due to i915 interrupts. So restrict the LVDS to pipe B once more,
    whilst the issue is properly diagnosed.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=16307
    Reported-and-tested-by: Enrico Bandiello
    Poked-by: Florian Mickler
    Signed-off-by: Chris Wilson
    Cc: Adam Jackson
    Cc: stable@kernel.org

    Chris Wilson
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: bus speed strings should be const
    PCI hotplug: Fix build with CONFIG_ACPI unset
    PCI: PCIe: Remove the port driver module exit routine
    PCI: PCIe: Move PCIe PME code to the pcie directory
    PCI: PCIe: Disable PCIe port services during port initialization
    PCI: PCIe: Ask BIOS for control of all native services at once
    ACPI/PCI: Negotiate _OSC control bits before requesting them
    ACPI/PCI: Do not preserve _OSC control bits returned by a query
    ACPI/PCI: Make acpi_pci_query_osc() return control bits
    ACPI/PCI: Reorder checks in acpi_pci_osc_control_set()
    PCI: PCIe: Introduce commad line switch for disabling port services
    PCI: PCIe AER: Introduce pci_aer_available()
    x86/PCI: only define pci_domain_nr if PCI and PCI_DOMAINS are set
    PCI: provide stub pci_domain_nr function for !CONFIG_PCI configs

    Linus Torvalds
     
  • * 'for-linus' of git://neil.brown.name/md:
    md: resolve confusion of MD_CHANGE_CLEAN
    md: don't clear MD_CHANGE_CLEAN in md_update_sb() for external arrays
    Move .gitignore from drivers/md to lib/raid6

    Linus Torvalds