27 Nov, 2007

22 commits

  • Amiga zorro bus: Add missing zorro_device_remove(). Without this ifconfig and
    /proc/net/dev oops after unloading a Zorro network device driver module.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • m68k: export atari_keyb_init

    This patch fixes the following build error:

    ..
    MODPOST 25 modules
    ERROR: "atari_keyb_init" [drivers/input/mouse/atarimouse.ko] undefined!
    ERROR: "atari_keyb_init" [drivers/input/keyboard/atakbd.ko] undefined!
    make[2]: *** [__modpost] Error 1

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (39 commits)
    ACPI: EC: Workaround for optimized controllers (version 3)
    ACPI: EC: use printk_ratelimit(), add some DEBUG mode messages
    Revert "ACPI: EC: Workaround for optimized controllers"
    ACPI: fix two IRQ8 issues in IOAPIC mode
    ACPI: Add missing spaces to printk format
    cpuidle: fix HP nx6125 regression
    cpuidle: add sched_clock_idle_[sleep|wakeup]_event() hooks
    cpuidle: fix C3 for no bus-master control case
    ACPI: thinkpad-acpi: fix oops when a module parameter has no value
    Revert "Fix very high interrupt rate for IRQ8 (rtc) unless pnpacpi=off"
    ACPI: EC: Don't init EC early if it has no _INI
    Revert "acpi: make ACPI_PROCFS default to y"
    Revert "ACPI: add documentation for deprecated /proc/acpi/battery in ACPI_PROCFS"
    ACPI: Split out control for /proc/acpi entries from battery, ac, and sbs.
    ACPI: Video: Increase buffer size for writes to brightness proc file.
    ACPI: EC: Workaround for optimized controllers
    ACPI: SBS: Fix retval warning
    ACPI: Enable MSR (FixedHW) support for T-States
    ACPI: Get throttling info from BIOS only after evaluating _PDC
    ACPI: Use _TSS for throttling control, when present. Add error checks.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
    [S390] cio: Register/unregister subchannels only from kslowcrw.
    [S390] Add missing die_notifier() call to die().
    [S390] Fix memory detection.
    [S390] Explicitly code allocpercpu calls in iucv
    [S390] Dont overwrite lowcores on smp_send_stop().
    [S390] Optimize storage key handling for anonymous pages
    [S390] Fix kernel preemption.
    [S390] appldata: remove unused binary sysctls.
    [S390] cmm: remove unused binary sysctls.
    [S390] Fix irq tracing and lockdep_sys_exit calls.
    [S390] magic sysrq: check for in_atomic before doing an console_unblank
    [S390] cio: change device sense procedure to work with pav aliases

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (27 commits)
    [POWERPC] 83xx: Update mpc8349emitx(gp) defconfig for USB
    [POWERPC] 83xx: Update mpc832x_rdb_defconfig to enable MMC-over-SPI
    [POWERPC] 83xx: MPC832x RDB - remove spidev stub, use mmc_spi
    [POWERPC] 8xxx: MDS board RTC fixes
    [POWERPC] Fix 8xx build breakage due to _tlbie changes
    [POWERPC] Fix device tree interrupt map for Freescale ULI1575 boards
    [POWERPC] Fix possible division by zero in scaled time accounting
    [POWERPC] spufs: Fix context destroy vs /spu readdir race
    [POWERPC] Fix RTAS os-term usage on kernel panic
    [POWERPC] 83xx: Handle mpc8360 rev. 2.1 RGMII timing erratum
    [POWERPC] Document rgmii-rxid and rgmii-txid phy-connection-types
    [POWERPC] 83xx: Fix 2nd UCC entry in mpc832x_mds.dts
    [POWERPC] 83xx: mpc832x mds: Fix board PHY reset code
    [POWERPC] Fix potential NULL dereference
    [POWERPC] vdso: Fixes for cache block sizes
    [POWERPC] pasemi: Don't reset mpic at boot
    [POWERPC] Fix kmalloc alignment on non-coherent DMA platforms
    [POWERPC] Fix build failure on legacy iSeries
    [POWERPC] 4xx: Use virtual PVR value to init FPU on arch/ppc 440EP
    [POWERPC] 4xx: UIC add mask_ack callback
    ...

    Linus Torvalds
     
  • Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9416

    Signed-off-by: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Karsten Keil
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] vpe: Add missing "space"
    [MIPS] Compliment va_start() with va_end().
    [MIPS] IP22: Fix broken eeprom access by using __raw_readl/__raw_writel
    [MIPS] IP22: Fix broken EISA interrupt setup by switching to generic i8259
    [MIPS] 64-bit Sibyte kernels need DMA32.
    [MIPS] Only build r4k clocksource for systems that work ok with it.
    [MIPS] Handle R4000/R4400 mfc0 from count register.
    [MIPS] Fix possible hang in LL/SC futex loops.
    [MIPS] Fix context DSP context / TLS pointer switching bug for new threads.
    [MIPS] IP32: More interrupt renumbering fixes.
    [MIPS] time: MIPSsim's plat_time_init doesn't need to be irq safe.
    [MIPS] time: Fix negated condition in cevt-r4k driver.
    [MIPS] Fix pcspeaker build.

    Linus Torvalds
     
  • * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa:
    [ALSA] version 1.0.15
    [ALSA] emu10k1 - Check value ranges in ctl callbacks
    [ALSA] emu10k1: Add mixer controls parameter checking.
    [ALSA] fix private data pointer calculation in CS4270 driver
    [ALSA] portman2x4 - Fix probe error
    [ALSA] ca0106 - Fix write proc assignment
    [ALSA] s3c2443-ac97: compilation fix
    [ALSA] hda-codec - Revert volume knob controls in STAC codecs
    [ALSA] ca0106 - Check value range in ctl callbacks
    [ALSA] hda-codec - Check PINCAP only for PIN widgets
    [ALSA] mpu401: fix recursive locking in timer
    [ALSA] cmipci: fix FLINKON/OFF bits
    [ALSA] hda-codec - Disable shared stream on AD1986A

    Linus Torvalds
     
  • For a kernel built with "make ARCH=x86" the following system
    information is displayed when running the new kernel

    $ uname -m
    x86

    On some i386 systems (e.g. K7) we even have the following information

    $ uname -m
    x66

    This is weird. The usual information for "uname -m" should be "x86_64"
    on 64-bit and "i386" or "i686" on 32-bit.

    This patch fixes the issue by setting UTS_MACHINE to "i386" for 32-bit
    kernel builds and to "x86_64" for 64-bit kernel builds. I.e., "x86"
    won't be used for UTS_MACHINE anymore.

    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Acked-by: Sam Ravnborg
    Signed-off-by: Andreas Herrmann
    Signed-off-by: Linus Torvalds

    Andreas Herrmann
     
  • Signed-off-by: Joe Perches
    Signed-off-by: Ralf Baechle

    Joe Perches
     
  • Signed-off-by: Richard Knutsson
    Signed-off-by: Ralf Baechle

    Richard Knutsson
     
  • Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Ralf Baechle

    Thomas Bogendoerfer
     
  • Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Ralf Baechle

    Thomas Bogendoerfer
     
  • Sibyte SOCs only have 32-bit PCI. Due to the sparse use of the address
    space only the first 1GB of memory is mapped at physical addresses
    below 1GB. If a system has more than 1GB of memory 32-bit DMA will
    not be able to reach all of it.

    For now this patch is good enough to keep Sibyte users happy but it seems
    eventually something like swiotlb will be needed for Sibyte.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • In particular as-is it's not suited for multicore and mutiprocessors
    systems where there is on guarantee that the counter are synchronized
    or running from the same clock at all. This broke Sibyte and probably
    others since the "[MIPS] Handle R4000/R4400 mfc0 from count register."
    commit.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • The R4000 and R4400 have an errata where if the cp0 count register is read
    in the exact moment when it matches the compare register no interrupt will
    be generated.

    This bug may be triggered if the cp0 count register is being used as
    clocksource and the compare interrupt as clockevent. So a simple
    workaround is to avoid using the compare for both facilities on the
    affected CPUs.

    This is different from the workaround suggested in the old errata documents;
    at some opportunity probably the official version should be implemented
    and tested. Another thing to find out is which processor versions
    exactly are affected. I only have errata documents upto R4400 V3.0
    available so for the moment the code treats all R4000 and R4400 as broken.

    This is potencially a problem for some machines that have no other decent
    clocksource available; this workaround will cause them to fall back to
    another clocksource, worst case the "jiffies" source.

    Ralf Baechle
     
  • The LL / SC loops in __futex_atomic_op() have the usual fixups necessary
    for memory acccesses to userspace from kernel space installed:

    __asm__ __volatile__(
    " .set push \n"
    " .set noat \n"
    " .set mips3 \n"
    "1: ll %1, %4 # __futex_atomic_op \n"
    " .set mips0 \n"
    " " insn " \n"
    " .set mips3 \n"
    "2: sc $1, %2 \n"
    " beqz $1, 1b \n"
    __WEAK_LLSC_MB
    "3: \n"
    " .set pop \n"
    " .set mips0 \n"
    " .section .fixup,\"ax\" \n"
    "4: li %0, %6 \n"
    " j 2b \n" for providing the original
    report and a test case.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • A new born thread starts execution not in schedule but rather in
    ret_from_fork which results in it bypassing the part of the code to
    load a new context written in C which are the DSP context and the
    userlocal register which Linux uses for the TLS pointer. Frequently
    we were just getting away with this bug for a number of reasons:

    o Real world application scenarios are very unlikely to use clone or fork
    in blocks of DSP code.
    o Linux by default runs the child process right after the fork, so the
    child by luck will find all the right context in the DSP and userlocal
    registers.
    o So far the rdhwr instruction was emulated on all hardware so userlocal
    wasn't getting referenced at all and the emulation wasn't suffering
    from the issue since it gets it's value straight from the thread's
    thread_info.

    Fixed by moving the code to load the context from switch_to() to
    finish_arch_switch which will be called by newborn and old threads.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • It's running early during the bootup process so interrupts are still off.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     

21 Nov, 2007

16 commits


20 Nov, 2007

2 commits