06 Nov, 2009

2 commits


04 Nov, 2009

5 commits

  • Linus Torvalds
     
  • * 'for-linus' of git://github.com/at91linux/linux-2.6-at91:
    at91: at91sam9g45 family: identify several chip versions
    avr32: add two new at91 to cpu.h definition

    Linus Torvalds
     
  • cpu_is_xxx() macros are identifying generic at91sam9g45 chip. This patch adds
    the capacity to differentiate Engineering Samples and final lots through the
    inclusion of at91_cpu_fully_identify() and the related chip IDs with chip
    version field preserved.

    Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Hans-Christian Egtvedt

    Nicolas Ferre
     
  • Somme common drivers will need those at91 cpu_is_xxx() definitions. As
    at91sam9g10 and at91sam9g45 are on the way to linus' tree, here is the patch
    that adds those chips to cpu.h in AVR32 architecture.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: Haavard Skinnemoen

    Nicolas Ferre
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (38 commits)
    MIPS: O32: Fix ppoll
    MIPS: Oprofile: Rename cpu_type from godson2 to loongson2
    MIPS: Alchemy: Fix hang with high-frequency edge interrupts
    MIPS: TXx9: Fix spi-baseclk value
    MIPS: bcm63xx: Set the correct BCM3302 CPU name
    MIPS: Loongson 2: Set cpu_has_dc_aliases and cpu_icache_snoops_remote_store
    MIPS: Avoid potential hazard on Context register
    MIPS: Octeon: Use lockless interrupt controller operations when possible.
    MIPS: Octeon: Use write_{un,}lock_irq{restore,save} to set irq affinity
    MIPS: Set S-cache linesize to 64-bytes for MTI's S-cache
    MIPS: SMTC: Avoid queing multiple reschedule IPIs
    MIPS: GCMP: Avoid accessing registers when they are not present
    MIPS: GIC: Random fixes and enhancements.
    MIPS: CMP: Fix memory barriers for correct operation of amon_cpu_start
    MIPS: Fix abs.[sd] and neg.[sd] emulation for NaN operands
    MIPS: SPRAM: Clean up support code a little
    MIPS: 1004K: Enable SPRAM support.
    MIPS: Malta: Enable PCI 2.1 compatibility in PIIX4
    MIPS: Kconfig: Fix duplicate default value for MIPS_L1_CACHE_SHIFT.
    MIPS: MTI: Fix accesses to device registers on MIPS boards
    ...

    Linus Torvalds
     

03 Nov, 2009

33 commits

  • * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM: Remove some debug messages producing too much noise
    PM: Fix warning on suspend errors
    PM / Hibernate: Add newline to load_image() fail path
    PM / Hibernate: Fix error handling in save_image()
    PM / Hibernate: Fix blkdev refleaks
    PM / yenta: Split resume into early and late parts (rev. 4)

    Linus Torvalds
     
  • nr_processes() returns the sum of the per cpu counter process_counts for
    all online CPUs. This counter is incremented for the current CPU on
    fork() and decremented for the current CPU on exit(). Since a process
    does not necessarily fork and exit on the same CPU the process_count for
    an individual CPU can be either positive or negative and effectively has
    no meaning in isolation.

    Therefore calculating the sum of process_counts over only the online
    CPUs omits the processes which were started or stopped on any CPU which
    has since been unplugged. Only the sum of process_counts across all
    possible CPUs has meaning.

    The only caller of nr_processes() is proc_root_getattr() which
    calculates the number of links to /proc as
    stat->nlink = proc_root.nlink + nr_processes();

    You don't have to be all that unlucky for the nr_processes() to return a
    negative value leading to a negative number of links (or rather, an
    apparently enormous number of links). If this happens then you can get
    failures where things like "ls /proc" start to fail because they got an
    -EOVERFLOW from some stat() call.

    Example with some debugging inserted to show what goes on:
    # ps haux|wc -l
    nr_processes: CPU0: 90
    nr_processes: CPU1: 1030
    nr_processes: CPU2: -900
    nr_processes: CPU3: -136
    nr_processes: TOTAL: 84
    proc_root_getattr. nlink 12 + nr_processes() 84 = 96
    84
    # echo 0 >/sys/devices/system/cpu/cpu1/online
    # ps haux|wc -l
    nr_processes: CPU0: 85
    nr_processes: CPU2: -901
    nr_processes: CPU3: -137
    nr_processes: TOTAL: -953
    proc_root_getattr. nlink 12 + nr_processes() -953 = -941
    75
    # stat /proc/
    nr_processes: CPU0: 84
    nr_processes: CPU2: -901
    nr_processes: CPU3: -137
    nr_processes: TOTAL: -954
    proc_root_getattr. nlink 12 + nr_processes() -954 = -942
    File: `/proc/'
    Size: 0 Blocks: 0 IO Block: 1024 directory
    Device: 3h/3d Inode: 1 Links: 4294966354
    Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2009-11-03 09:06:55.000000000 +0000
    Modify: 2009-11-03 09:06:55.000000000 +0000
    Change: 2009-11-03 09:06:55.000000000 +0000

    I'm not 100% convinced that the per_cpu regions remain valid for offline
    CPUs, although my testing suggests that they do. If not then I think the
    correct solution would be to aggregate the process_count for a given CPU
    into a global base value in cpu_down().

    This bug appears to pre-date the transition to git and it looks like it
    may even have been present in linux-2.6.0-test7-bk3 since it looks like
    the code Rusty patched in http://lwn.net/Articles/64773/ was already
    wrong.

    Signed-off-by: Ian Campbell
    Cc: Andrew Morton
    Cc: Rusty Russell
    Signed-off-by: Linus Torvalds

    Ian Campbell
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: gpio-keys - use IRQF_SHARED
    Input: winbond-cir - select LEDS_TRIGGERS
    Input: i8042 - try to get stable CTR value when initializing
    Input: atkbd - add a quirk for OQO 01+ multimedia keys

    Linus Torvalds
     
  • * 'fixes-s3c-2632-rc5' of git://git.fluff.org/bjdooks/linux:
    ARM: S3C2410: Fix sparse warnings in arch/arm/mach-s3c2410/gpio.c
    ARM: S3C2440: mini2440: Fix spare warnings
    ARM: S3C24XX: Fix warnings in arch/arm/plat-s3c24xx/gpio.c
    ARM: S3C2440: mini2440: Fix missing CONFIG_S3C_DEV_USB_HOST
    ARM: S3C24XX: arch/arm/plat-s3c24xx: Move dereference after NULL test
    ARM: S3C: Fix adc function exports
    ARM: S3C2410: Fix link if CONFIG_S3C2410_IOTIMING is not set
    ARM: S3C24XX: Introduce S3C2442B CPU
    ARM: S3C24XX: Define a macro to avoid compilation error
    ARM: S3C: Add info for supporting circular DMA buffers
    ARM: S3C64XX: Set rate of crystal mux
    ARM: S3C64XX: Fix S3C64XX_CLKDIV0_ARM_MASK value

    Linus Torvalds
     
  • * 'i2c-fixes' of git://git.fluff.org/bjdooks/linux:
    i2c-mpc: Do not generate STOP after read.
    i2c: imx: disable clock when it's possible to save power.
    i2c: imx: only imx1 needs disable delay
    i2c: imx: check busy bit when START/STOP

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
    nilfs2: add zero-fill for new btree node buffers
    nilfs2: fix irregular checkpoint creation due to data flush
    nilfs2: fix dirty page accounting leak causing hang at write

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
    mac80211: check interface is down before type change
    cfg80211: fix NULL ptr deref
    libertas if_usb: Fix crash on 64-bit machines
    mac80211: fix reason code output endianness
    mac80211: fix addba timer
    ath9k: fix misplaced semicolon on rate control
    b43: Fix DMA TX bounce buffer copying
    mac80211: fix BSS leak
    rt73usb.c : more ids
    ipw2200: fix oops on missing firmware
    gre: Fix dev_addr clobbering for gretap
    sky2: set carrier off in probe
    net: fix sk_forward_alloc corruption
    pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card
    r8169: Fix card drop incoming VLAN tagged MTU byte large jumbo frames
    ibmtr: possible Read buffer overflow?
    net: Fix RPF to work with policy routing
    net: fix kmemcheck annotations
    e1000e: rework disable K1 at 1000Mbps for 82577/82578
    e1000e: config PHY via software after resets
    ...

    Linus Torvalds
     
  • pm_runtime_idle() is somewhat noisy. Remove debug prints.

    Signed-off-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Pavel Machek
     
  • Fixes the point where we need to complete the power transition when
    device suspend fails, so that we don't print warnings about devices
    added to the device hierarchy after a failing suspend.

    [rjw: Modified changelog.]

    Signed-off-by: Romit Dasgupta
    Signed-off-by: Rafael J. Wysocki

    Romit Dasgupta
     
  • Finish a line by \n when load_image fails in the middle of loading.

    Signed-off-by: Jiri Slaby
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Jiri Slaby
     
  • There are too many retval variables in save_image(). Thus error return
    value from snapshot_read_next() may be ignored and only part of the
    snapshot (successfully) written.

    Remove 'error' variable, invert the condition in the do-while loop
    and convert the loop to use only 'ret' variable.

    Switch the rest of the function to consider only 'ret'.

    Also make sure we end printed line by \n if an error occurs.

    Signed-off-by: Jiri Slaby
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Jiri Slaby
     
  • While cruising through the swsusp code I found few blkdev reference
    leaks of resume_bdev.

    swsusp_read: remove blkdev_put altogether. Some fail paths do
    not do that.
    swsusp_check: make sure we always put a reference on fail paths
    software_resume: all fail paths between swsusp_check and swsusp_read
    omit swsusp_close. Add it in those cases. And since
    swsusp_read doesn't drop the reference anymore, do
    it here unconditionally.

    [rjw: Fixed a small coding style issue.]

    Signed-off-by: Jiri Slaby
    Signed-off-by: Rafael J. Wysocki

    Jiri Slaby
     
  • Commit 0c570cdeb8fdfcb354a3e9cd81bfc6a09c19de0c
    (PM / yenta: Fix cardbus suspend/resume regression) caused resume to
    fail on systems with two CardBus bridges. While the exact nature
    of the failure is not known at the moment, it can be worked around by
    splitting the yenta resume into an early part, executed during the
    early phase of resume, that will only resume the socket and power it
    up if there was a card in it during suspend, and a late part,
    executed during "regular" resume, that will carry out all of the
    remaining yenta resume operations.

    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=14334, which is a
    listed regression from 2.6.31.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Dominik Brodowski
    Reported-by: Stephen J. Gowdy
    Tested-by: Jose Marino

    Rafael J. Wysocki
     
  • There is nothing that disallows gpio-keys to share it's IRQ line
    w/ other drivers. Make it use IRQF_SHARED in request_irq().

    An example of other driver with which I'd like to share IRQ line
    for GPIO buttons is ledtrig-gpio.

    Signed-off-by: Dmitry Eremin-Solenikov
    Signed-off-by: Dmitry Torokhov

    Dmitry Eremin-Solenikov
     
  • drivers/input/misc/winbond-cir.c depends on LEDS_TRIGGERS so
    add an appropriate select to drivers/input/misc/Kconfig

    Signed-off-by: David Härdeman
    Signed-off-by: Andrew Morton
    Signed-off-by: Dmitry Torokhov

    David Härdeman
     
  • If user presses keys while i8042 is being initialized there is a chance
    that keyboard data will be mistaken for results of Read Control Register
    command causing futher troubles. Work around this issue by reading CTR
    several times and stop when we get matching results.

    Reported-and-tested-by: Dave Young
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Dmitry Torokhov
     
  • Adds missing initialization of newly allocated b-tree node buffers.
    This avoids garbage data to be mixed in b-tree node blocks.

    Signed-off-by: Ryusuke Konishi

    Ryusuke Konishi
     
  • When nilfs flushes out dirty data to reduce memory pressure, creation
    of checkpoints is wrongly postponed. This bug causes irregular
    checkpoint creation especially in small footprint systems.

    To correct this issue, a timer for the checkpoint creation has to be
    continued if a log writer does not create a checkpoint.

    This will do the correction.

    Signed-off-by: Ryusuke Konishi

    Ryusuke Konishi
     
  • Bruno Prémont and Dunphy, Bill noticed me that NILFS will certainly
    hang on ARM-based targets.

    I found this was caused by an underflow of dirty pages counter. A
    b-tree cache routine was marking page dirty without adjusting page
    account information.

    This fixes the dirty page accounting leak and resolves the hang on
    arm-based targets.

    Reported-by: Bruno Prémont
    Reported-by: Dunphy, Bill
    Signed-off-by: Ryusuke Konishi
    Tested-by: Bruno Prémont
    Cc: stable

    Ryusuke Konishi
     
  • David S. Miller
     
  • The driver always ends a read with a STOP condition which
    breaks subsequent I2C reads/writes in the same transaction as
    these expect to do a repeated START(ReSTART).

    This will also help I2C multimaster as the bus will not be released
    after the first read, but when the whole transaction ends.

    Signed-off-by: Joakim Tjernlund
    Signed-off-by: Ben Dooks

    Joakim Tjernlund
     
  • Enable clock before START, disable it after STOP.

    Signed-off-by: Richard Zhao
    Signed-off-by: Ben Dooks

    Richard Zhao
     
  • check cpu_is_mx1() when disable delay.

    Signed-off-by: Richard Zhao
    Signed-off-by: Ben Dooks

    Richard Zhao
     
  • The controller can't do anything else before it actually generates START/STOP.
    So we check busy bit to make sure START/STOP is successfully finished.

    If we don't check busy bit, START/STOP may fail on some fast CPUs.

    Signed-off-by: Richard Zhao
    Signed-off-by: Ben Dooks

    Richard Zhao
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
    9p: fix readdir corner cases
    9p: fix readlink
    9p: fix a small bug in readdir for long directories

    Linus Torvalds
     
  • For some strange reason the netif_running() check
    ended up after the actual type change instead of
    before, potentially causing all kinds of problems
    if the interface is up while changing the type;
    one of the problems manifests itself as a warning:

    WARNING: at net/mac80211/iface.c:651 ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]()
    Hardware name: Aspire one
    Pid: 2596, comm: wpa_supplicant Tainted: G W 2.6.31-10-generic #32-Ubuntu
    Call Trace:
    [] warn_slowpath_common+0x6d/0xa0
    [] warn_slowpath_null+0x15/0x20
    [] ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]
    [] ieee80211_if_change_type+0x4a/0xc0 [mac80211]
    [] ieee80211_change_iface+0x61/0xa0 [mac80211]
    [] cfg80211_wext_siwmode+0xc7/0x120 [cfg80211]
    [] ioctl_standard_call+0x58/0xf0

    (http://www.kerneloops.org/searchweek.php?search=ieee80211_teardown_sdata)

    Cc: Arjan van de Ven
    Cc: stable@kernel.org
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • commit 211a4d12abf86fe0df4cd68fc6327cbb58f56f81
    Author: Johannes Berg
    Date: Tue Oct 20 15:08:53 2009 +0900

    cfg80211: sme: deauthenticate on assoc failure

    introduced a potential NULL pointer dereference that
    some people have been hitting for some reason -- the
    params.bssid pointer is not guaranteed to be non-NULL
    for what seems to be a race between various ways of
    reaching the same thing.

    While I'm trying to analyse the problem more let's
    first fix the crash. I think the real fix may be to
    avoid doing _anything_ if it ended up being NULL, but
    right now I'm not sure yet.

    I think
    http://bugzilla.kernel.org/show_bug.cgi?id=14342
    might also be this issue.

    Reported-by: Parag Warudkar
    Tested-by: Parag Warudkar
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    Revert "[IA64] fix percpu warnings"
    [IA64] fix percpu warnings
    [IA64] SMT friendly version of spin_unlock_wait()
    [IA64] use printk_once() unaligned.c/io_common.c
    [IA64] Require SAL 3.2 in order to do extended config space ops
    [IA64] unsigned cannot be less than 0 in sn_hwperf_ioctl()
    [IA64] Restore registers in the stack on INIT
    [IA64] Re-implement spinaphores using ticket lock concepts
    [IA64] Squeeze ticket locks back into 4 bytes.

    Linus Torvalds
     
  • This reverts commit d0646f7b636d067d715fab52a2ba9c6f0f46b0d7, as
    requested by Eric Sandeen.

    It can basically cause an ext4 filesystem to miss recovery (and thus get
    mounted with errors) if the journal checksum does not match.

    Quoth Eric:

    "My hand-wavy hunch about what is happening is that we're finding a
    bad checksum on the last partially-written transaction, which is
    not surprising, but if we have a wrapped log and we're doing the
    initial scan for head/tail, and we abort scanning on that bad
    checksum, then we are essentially running an unrecovered filesystem.

    But that's hand-wavy and I need to go look at the code.

    We lived without journal checksums on by default until now, and at
    this point they're doing more harm than good, so we should revert
    the default-changing commit until we can fix it and do some good
    power-fail testing with the fixes in place."

    See

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

    for all the gory details.

    Requested-by: Eric Sandeen
    Cc: Theodore Tso
    Cc: Alexey Fisher
    Cc: Maxim Levitsky
    Cc: Aneesh Kumar K.V
    Cc: Mathias Burén
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
    ARM: ensure initial page tables are setup for SMP systems
    ARM: 5776/1: Check compiler version and EABI support when adding ARM unwind support.
    ARM: 5774/1: Fix Realview ARM1176PB board reboot
    ARM: Fix errata 411920 workarounds
    ARM: Fix sparsemem with SPARSEMEM_EXTREME enabled
    ARM: Use GFP_DMA only for masks _less_ than 32-bit
    ARM: integrator: allow Integrator to be built with highmem
    ARM: Fix signal restart issues with NX and OABI compat

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Don't check invalid HP pin
    ALSA: dummy - Fix descriptions of pcm_substreams parameter
    ALSA: pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (sound)
    ALSA: hda: Use quirk mask for Dell Inspiron Mini9/Vostro A90 using ALC268
    sound: via82xx: deactivate DXS controls of inactive streams
    ALSA: snd-usb-caiaq: Bump version number to 1.3.20
    ALSA: snd-usb-caiaq: Lock on stream start/unpause
    ALSA: snd-usb-caiaq: Missing lock around use of buffer positions
    ALSA: sound/parisc: Move dereference after NULL test
    ALSA: sound: Move dereference after NULL test and drop unnecessary NULL tests
    ALSA: hda_intel: Add the Linux device ID for NVIDIA HDA controller
    ALSA: pcsp - Fix nforce workaround
    ALSA: SND_CS5535AUDIO: Remove the X86 platform dependency
    ASoC: Amstrad Delta: add info about the line discipline requirement to Kconfig help text
    ASoC: Fix possible codec_dai->ops NULL pointer problems
    ALSA: hda - Fix capture source checks for ALC662/663 codecs
    ASoC: Serialize access to dapm_power_widgets()

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

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    futex: Fix spurious wakeup for requeue_pi really

    Linus Torvalds