Mikulas Patocka [Thu, 22 Nov 2007 20:19:39 +0000 (21:19 +0100)]
plip: use netif_rx_ni() for packet receive
netif_rx is meant to be called from interrupts because it doesn't wake
up ksoftirqd. For calling from outside interrupts, netif_rx_ni exists.
This fixes plip to use netif_rx_ni. It fixes the infamous error "NOHZ:
local_softirq_panding 08" that happens on some machines with NOHZ and
plip --- it is caused by the fact that softirq is pending and ksoftirqd
is sleeping.
Signed-off-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 27 Nov 2007 03:25:23 +0000 (19:25 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/drzeus/mmc
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
mmc: Avoid re-using minor numbers before the original device is closed.
tifm_sd: handle non-power-of-2 block sizes
mmc_block: check card state after write
Linus Torvalds [Tue, 27 Nov 2007 03:20:37 +0000 (19:20 -0800)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
[CIFS] Fix check after use error in ACL code
[CIFS] Fix potential data corruption when writing out cached dirty pages
[CIFS] Fix spurious reconnect on 2nd peek from read of SMB length
[CIFS] remove build warning
[CIFS] Have CIFS_SessSetup build correct SPNEGO SessionSetup request
[CIFS] minor checkpatch cleanup
[CIFS] have cifs_get_spnego_key get the hostname from TCP_Server_Info
[CIFS] add hostname field to TCP_Server_Info struct
[CIFS] clean up error handling in cifs_mount
[CIFS] add ver= prefix to upcall format version
[CIFS] Fix buffer overflow if server sends corrupt response to small
Andreas Herrmann [Mon, 19 Nov 2007 08:28:22 +0000 (09:28 +0100)]
radeonfb: add chip definition for RV370 5b63
... which I've found on a Sapphire X550 (Silent).
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andreas Herrmann <aherrman@arcor.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 27 Nov 2007 03:18:22 +0000 (19:18 -0800)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (21 commits)
libata: bump transfer chunk size if it's odd
libata: Return proper ATA INT status in pata_bf54x driver
pata_ali: trim trailing whitespace (fix checkpatch complaints)
pata_isapnp: Polled devices
pata_hpt37x: Fix cable detect bug spotted by Sergei
pata_ali: Lots of problems still showing up with small ATAPI DMA
pata_ali: Add Mitac 8317 and derivatives
libata-core: List more documentation sources for reference
ata_piix: Invalid use of writel/readl with iomap
sata_sil24: fix sg table sizing
pata_jmicron: fix disabled port handling in jmicron_pre_reset()
pata_sil680: kill bogus reset code (take 2)
ata_piix: port enable for the first SATA controller of ICH8 is 0xf not 0x3
ata_piix: only enable the first port on apple macbook pro
ata_piix: reorganize controller IDs
pata_sis.c: Add Packard Bell EasyNote K5305 to laptops
libata-scsi: be tolerant of 12-byte ATAPI commands in 16-byte CDBs
libata: use ATA_HORKAGE_STUCK_ERR for ATAPI tape drives
libata: workaround DRQ=1 ERR=1 for ATAPI tape drives
libata: remove unused functions
...
Linus Torvalds [Tue, 27 Nov 2007 03:17:19 +0000 (19:17 -0800)]
Merge git://git./linux/kernel/git/rusty/linux-2.6-for-linus
* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
virtio: fix net driver loop case where we fail to restart
module: fix and elaborate comments
virtio: fix module/device unloading
lguest: Fix uninitialized members in example launcher
Finn Thain [Sun, 18 Nov 2007 10:10:05 +0000 (11:10 +0100)]
mac68k: mailing list addresss
The mail service for the mac.linux-m68k.org domain is defunct.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Geert Uytterhoeven [Sun, 18 Nov 2007 10:10:04 +0000 (11:10 +0100)]
Amiga zorro bus: Add missing zorro_device_remove()
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 <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Adrian Bunk [Sun, 18 Nov 2007 10:10:03 +0000 (11:10 +0100)]
m68k: export atari_keyb_init
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 <bunk@kernel.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 27 Nov 2007 03:09:58 +0000 (19:09 -0800)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6
* '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 [Tue, 27 Nov 2007 03:09:22 +0000 (19:09 -0800)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6
* '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 [Tue, 27 Nov 2007 03:08:35 +0000 (19:08 -0800)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc
* '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
...
Karsten Keil [Thu, 22 Nov 2007 11:43:13 +0000 (12:43 +0100)]
isdn: avoid copying overly-long strings
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9416
Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 27 Nov 2007 03:05:19 +0000 (19:05 -0800)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus
* '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 [Tue, 27 Nov 2007 03:04:24 +0000 (19:04 -0800)]
Merge branch 'linus' of git://git./linux/kernel/git/perex/alsa
* '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
Andreas Herrmann [Mon, 19 Nov 2007 22:58:57 +0000 (23:58 +0100)]
x86: correctly set UTS_MACHINE for "make ARCH=x86"
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 <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andreas Herrmann <aherrman@arcor.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Joe Perches [Tue, 20 Nov 2007 01:47:54 +0000 (17:47 -0800)]
[MIPS] vpe: Add missing "space"
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Richard Knutsson [Sat, 24 Nov 2007 21:22:19 +0000 (22:22 +0100)]
[MIPS] Compliment va_start() with va_end().
Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Thomas Bogendoerfer [Fri, 23 Nov 2007 19:40:15 +0000 (20:40 +0100)]
[MIPS] IP22: Fix broken eeprom access by using __raw_readl/__raw_writel
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Thomas Bogendoerfer [Fri, 23 Nov 2007 19:34:16 +0000 (20:34 +0100)]
[MIPS] IP22: Fix broken EISA interrupt setup by switching to generic i8259
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Sat, 3 Nov 2007 02:05:43 +0000 (02:05 +0000)]
[MIPS] 64-bit Sibyte kernels need DMA32.
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@linux-mips.org>
Ralf Baechle [Sat, 24 Nov 2007 22:33:28 +0000 (22:33 +0000)]
[MIPS] Only build r4k clocksource for systems that work ok with it.
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@linux-mips.org>
Ralf Baechle [Wed, 21 Nov 2007 16:39:44 +0000 (16:39 +0000)]
[MIPS] Handle R4000/R4400 mfc0 from count register.
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 [Tue, 20 Nov 2007 10:44:18 +0000 (10:44 +0000)]
[MIPS] Fix possible hang in LL/SC futex loops.
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" <-----
" .previous \n"
" .section __ex_table,\"a\" \n"
" "__UA_ADDR "\t1b, 4b \n"
" "__UA_ADDR "\t2b, 4b \n"
" .previous \n"
: "=r" (ret), "=&r" (oldval), "=R" (*uaddr)
: "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT)
: "memory");
The branch at the end of the fixup code, it goes back to the SC
instruction, no matter if the fault was first taken by the LL or SC
instruction resulting in an endless loop which will only terminate if
the address become valid again due to another thread setting up an
accessible mapping and the CPU happens to execute the SC instruction
successfully which due to the preceeding ERET instruction of the fault
handler would only happen if UNPREDICTABLE instruction behaviour of the
SC instruction without a preceeding LL happens to favor that outcome.
But normally processes are nice, pass valid arguments and we were just
getting away with this.
Thanks to Kaz Kylheku <kaz@zeugmasystems.com> for providing the original
report and a test case.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 30 Oct 2007 17:25:26 +0000 (17:25 +0000)]
[MIPS] Fix context DSP context / TLS pointer switching bug for new threads.
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@linux-mips.org>
Ralf Baechle [Tue, 30 Oct 2007 15:43:44 +0000 (15:43 +0000)]
[MIPS] IP32: More interrupt renumbering fixes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 30 Oct 2007 15:39:18 +0000 (15:39 +0000)]
[MIPS] time: MIPSsim's plat_time_init doesn't need to be irq safe.
It's running early during the bootup process so interrupts are still off.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 30 Oct 2007 02:21:08 +0000 (02:21 +0000)]
[MIPS] time: Fix negated condition in cevt-r4k driver.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 15 Nov 2007 23:42:11 +0000 (23:42 +0000)]
[MIPS] Fix pcspeaker build.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Tejun Heo [Mon, 26 Nov 2007 11:58:02 +0000 (20:58 +0900)]
libata: bump transfer chunk size if it's odd
None of the drives I have follows what the standard says about
transfer chunk size. Of the four SATA and six PATA ATAPI devices
tested, four ignore transfer chunk size completely and the ones which
honor it don't behave according to the spec when it's odd.
According to the spec, transfer chunk size can be odd if the amount of
data to transfer equals or is smaller than the chunk size and the
device can indicate the same odd number and transfer the whole thing
at one go with a pad byte appended. However, in reality, none of the
drives I have does that. They all indicate and transfer even number
of bytes one byte shorter than the chunk size first; then indicate and
transfer two bytes, which is clearly out of spec.
In addition to unnecessary second PIO data phase, this also creates a
weird problem when combined with SATA controllers which perform PIO
via DMA. Some of these controllers use actualy number of bytes
received to update DMA pointer so chunks which are sized 4n + 2 makes
DMA pointer off by two bytes. This causes data corruption and buffer
overruns.
This patch rounds nbytes up to the nearest even number such that ATAPI
devices don't split data transfer for the last odd byte. This
shouldn't confuse controllers which depend on transfer chunk size as
devices will report the rounded-up number, actually transfer that much
and padding buffer is there to receive them.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
sonic zhang [Mon, 26 Nov 2007 09:50:56 +0000 (17:50 +0800)]
libata: Return proper ATA INT status in pata_bf54x driver
INT status can be OR.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Steve French [Sun, 25 Nov 2007 10:01:00 +0000 (10:01 +0000)]
[CIFS] Fix check after use error in ACL code
Spotted by the coverity scanner.
CC: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Steve French [Sun, 25 Nov 2007 09:53:27 +0000 (09:53 +0000)]
Merge branch 'master' of /linux/kernel/git/torvalds/linux-2.6
Jeff Garzik [Sat, 24 Nov 2007 02:08:42 +0000 (21:08 -0500)]
pata_ali: trim trailing whitespace (fix checkpatch complaints)
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Alan Cox [Mon, 19 Nov 2007 14:41:05 +0000 (14:41 +0000)]
pata_isapnp: Polled devices
If a card has no IRQ then pass no interrupt handler but allow polled
usage.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Mon, 19 Nov 2007 14:39:13 +0000 (14:39 +0000)]
pata_hpt37x: Fix cable detect bug spotted by Sergei
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Mon, 19 Nov 2007 14:37:58 +0000 (14:37 +0000)]
pata_ali: Lots of problems still showing up with small ATAPI DMA
Hopefully there is a better long term solution but for now lets favour
reliability.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Mon, 19 Nov 2007 14:36:28 +0000 (14:36 +0000)]
pata_ali: Add Mitac 8317 and derivatives
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Mon, 19 Nov 2007 14:30:16 +0000 (14:30 +0000)]
libata-core: List more documentation sources for reference
And next time I'll be able to find the ata tape spec easily...
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Mon, 19 Nov 2007 14:28:28 +0000 (14:28 +0000)]
ata_piix: Invalid use of writel/readl with iomap
Should use ioread* as discussed previously
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Thu, 22 Nov 2007 09:46:57 +0000 (18:46 +0900)]
sata_sil24: fix sg table sizing
sil24 unnecessarily used LIBATA_MAX_PRD and ATAPI sg table was short
by one entry which might cause very obscure problems. This patch
updates sg table sizing such that
* One full page is used for PRB + sg table. On 4k page,
this results in 253 sg's.
* Make ATAPI sg block properly sized.
* Make build fail if command block size doesn't equal PAGE_SIZE.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 19 Nov 2007 09:06:11 +0000 (18:06 +0900)]
pata_jmicron: fix disabled port handling in jmicron_pre_reset()
There are two bugs in disabled port handling.
* test in PORT_PATA0 is reversed
* ->prereset should return -ENOENT for disabled ports not 0
The first bug makes the PATA channel considered disabled but the
second bug saves the day by returning 0. The net result is that cable
is always left at ATA_CBL_UNKNOWN. This results in false 80c
configuration and thus transfer errors.
This patch fixes both bugs.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Sergei Shtylyov [Fri, 16 Nov 2007 16:50:04 +0000 (19:50 +0300)]
pata_sil680: kill bogus reset code (take 2)
Since writing to two reserved bits ain't much of a housekeeping, I think it's
time we get rid of the custom error handler in this driver. ;-)
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
David Woodhouse [Wed, 21 Nov 2007 17:45:12 +0000 (18:45 +0100)]
mmc: Avoid re-using minor numbers before the original device is closed.
Move the code which marks the minor number as free to mmc_blk_put() so
that it happens on the final close() (or removal), instead of doing it
at removal even when the device is still logically open.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Alex Dubov [Wed, 14 Nov 2007 12:55:36 +0000 (23:55 +1100)]
tifm_sd: handle non-power-of-2 block sizes
It is possible to handle arbitrary block sizes with tifm card reader by
conditionally switching to PIO in case such block has to be delivered. At
the beginning of each request, DMA is either disabled (non-power-of-2 block
size) or set to load time user preference.
Signed-off-by: Alex Dubov <oakad@yahoo.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Fri, 2 Nov 2007 17:21:13 +0000 (18:21 +0100)]
mmc_block: check card state after write
Some cards have been reported to signal that they're ready prematurely.
Checking both the busy bit and card state solves the issue.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Len Brown [Wed, 21 Nov 2007 01:07:49 +0000 (20:07 -0500)]
Pull bugzilla-9327 into release branch
Conflicts:
drivers/acpi/ec.c
Signed-off-by: Len Brown <len.brown@intel.com>
Alexey Starikovskiy [Wed, 21 Nov 2007 00:23:32 +0000 (03:23 +0300)]
ACPI: EC: Workaround for optimized controllers (version 3)
Some controllers fail to send confirmation GPE after address or data write.
Detect this and don't expect such confirmation in future.
This is a generalization of previous workaround
(
66c5f4e7367b0085652931b2f3366de29e7ff5ec), which did only read address.
Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9327
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Tested-by: Romano Giannetti <romano.giannetti@gmail.com>
Tested-by: Mats Johannesson
Signed-off-by: Len Brown <len.brown@intel.com>
Márton Németh [Wed, 21 Nov 2007 00:23:26 +0000 (03:23 +0300)]
ACPI: EC: use printk_ratelimit(), add some DEBUG mode messages
Sometimes it is usefull to see raw protocol dump.
Uncomment '#define DEBUG' at the beginning of file to make EC
really verbose.
Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
Len Brown [Wed, 21 Nov 2007 00:59:08 +0000 (19:59 -0500)]
Revert "ACPI: EC: Workaround for optimized controllers"
This reverts commit
f2d68935ba08cf80f151bbdb5628381184e4a498.
Jeff Layton [Tue, 20 Nov 2007 23:19:03 +0000 (23:19 +0000)]
[CIFS] Fix potential data corruption when writing out cached dirty pages
Fix RedHat bug 329431
The idea here is separate "conscious" from "unconscious" flushes.
Conscious flushes are those due to a fsync() or close(). Unconscious
ones are flushes that occur as a side effect of some other operation or
due to memory pressure.
Currently, when an error occurs during an unconscious flush (ENOSPC or
EIO), we toss out the page and don't preserve that error to report to
the user when a conscious flush occurs. If after the unconscious flush,
there are no more dirty pages for the inode, the conscious flush will
simply return success even though there were previous errors when writing
out pages. This can lead to data corruption.
The easiest way to reproduce this is to mount up a CIFS share that's
very close to being full or where the user is very close to quota. mv
a file to the share that's slightly larger than the quota allows. The
writes will all succeed (since they go to pagecache). The mv will do a
setattr to set the new file's attributes. This calls
filemap_write_and_wait,
which will return an error since all of the pages can't be written out.
Then later, when the flush and release ops occur, there are no more
dirty pages in pagecache for the file and those operations return 0. mv
then assumes that the file was written out correctly and deletes the
original.
CIFS already has a write_behind_rc variable where it stores the results
from earlier flushes, but that value is only reported in cifs_close.
Since the VFS ignores the return value from the release operation, this
isn't helpful. We should be reporting this error during the flush
operation.
This patch does the following:
1) changes cifs_fsync to use filemap_write_and_wait and cifs_flush and also
sync to check its return code. If it returns successful, they then check
the value of write_behind_rc to see if an earlier flush had reported any
errors. If so, they return that error and clear write_behind_rc.
2) sets write_behind_rc in a few other places where pages are written
out as a side effect of other operations and the code waits on them.
3) changes cifs_setattr to only call filemap_write_and_wait for
ATTR_SIZE changes.
4) makes cifs_writepages accurately distinguish between EIO and ENOSPC
errors when writing out pages.
Some simple testing indicates that the patch works as expected and that
it fixes the reproduceable known problem.
Acked-by: Dave Kleikamp <shaggy@austin.rr.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Grant Likely [Wed, 17 Oct 2007 23:41:00 +0000 (17:41 -0600)]
[POWERPC] 83xx: Update mpc8349emitx(gp) defconfig for USB
USB support for the 8349itx got added a while back; but the defconfig
never got updated. This patch adds the appropriate USB config options
to the defconfigs
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
CC: Scott Wood <scottwood@freescale.com>
CC: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Anton Vorontsov [Tue, 13 Nov 2007 17:00:43 +0000 (20:00 +0300)]
[POWERPC] 83xx: Update mpc832x_rdb_defconfig to enable MMC-over-SPI
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Anton Vorontsov [Tue, 13 Nov 2007 17:00:11 +0000 (20:00 +0300)]
[POWERPC] 83xx: MPC832x RDB - remove spidev stub, use mmc_spi
mmc_spi has hit the mainline, so we can start using it.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Kim Phillips [Thu, 8 Nov 2007 19:37:06 +0000 (13:37 -0600)]
[POWERPC] 8xxx: MDS board RTC fixes
Now the rtc class ds1374 driver has been added, remove the old rtc
driver hookup code, add rtc node to device trees, and turn on the
new driver in the defconfigs.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Jaroslav Kysela [Tue, 20 Nov 2007 19:16:43 +0000 (20:16 +0100)]
[ALSA] version 1.0.15
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Takashi Iwai [Thu, 15 Nov 2007 12:16:02 +0000 (13:16 +0100)]
[ALSA] emu10k1 - Check value ranges in ctl callbacks
Check value ranges in ctl callbacks properly. This fixes the unexpected
crash due to wrong value assignment.
Also, remove invalid comments in the last patch.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
James Courtier-Dutton [Mon, 12 Nov 2007 14:55:19 +0000 (14:55 +0000)]
[ALSA] emu10k1: Add mixer controls parameter checking.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Timur Tabi [Wed, 14 Nov 2007 11:07:58 +0000 (12:07 +0100)]
[ALSA] fix private data pointer calculation in CS4270 driver
Fix the calculation of the private_data pointer in the CS4270 driver.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Takashi Iwai [Mon, 29 Oct 2007 10:14:31 +0000 (11:14 +0100)]
[ALSA] portman2x4 - Fix probe error
Reported by Ingo Molnar,
when booting an allyesconfig bzImage kernel the bootup hangs in the
portman2x4 driver (on a box that does not have this hardware), at:
Pid: 1, comm: swapper
EIP: 0060:[<
c02f763c>] CPU: 0
EIP is at parport_pc_read_status+0x4/0x8
EFLAGS:
00000202 Not tainted (2.6.23-rc9 #904)
EAX:
f7e57a7f EBX:
00000010 ECX:
c2b808c0 EDX:
00000379
ESI:
f7cb8230 EDI:
00000010 EBP:
f7cb8230 DS: 007b ES: 007b FS: 0000
CR0:
8005003b CR2:
fff9c000 CR3:
007ec000 CR4:
00000690
DR0:
00000000 DR1:
00000000 DR2:
00000000 DR3:
00000000
DR6:
ffff0ff0 DR7:
00000400
[<
c04613de>] portman_flush_input+0xde/0x12c
[<
c0461a24>] snd_portman_probe+0x368/0x484
[<
c02fbb8c>] __device_attach+0x0/0x8
[<
c02fce68>] platform_drv_probe+0xc/0x10
[<
c02fba6c>] driver_probe_device+0x74/0x194
[<
c0587174>] klist_next+0x38/0x70
[<
c02fbb8c>] __device_attach+0x0/0x8
[<
c02faea1>] bus_for_each_drv+0x35/0x68
[<
c02fbc22>] device_attach+0x72/0x78
the reason is due to an inconsistent error return code of 1 or 2, while
snd_portman_probe only realizes negative error codes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Takashi Iwai [Wed, 24 Oct 2007 16:02:17 +0000 (18:02 +0200)]
[ALSA] ca0106 - Fix write proc assignment
The driver assigns the write proc callback to read wrongly.
Fixed now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Krzysztof Helt [Fri, 19 Oct 2007 06:23:00 +0000 (08:23 +0200)]
[ALSA] s3c2443-ac97: compilation fix
The Samsung S3C24xx uses new architecture file layout in the post 2.6.23
kernel. This patch fixes include path for the s3c2443-ac97.c.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Takashi Iwai [Mon, 19 Nov 2007 10:56:26 +0000 (11:56 +0100)]
[ALSA] hda-codec - Revert volume knob controls in STAC codecs
Volume knob controls with STAC codecs seem to cause problems with some
devices. Volumes change very slowly or silent suddenly. It's likely
due to conflict between the software and the hardware volume knob
setup.
Since we'll have a virtual master control in future, it's safer to
remove this control completely right now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Cornelia Huck [Tue, 20 Nov 2007 10:13:41 +0000 (11:13 +0100)]
[S390] cio: Register/unregister subchannels only from kslowcrw.
Make sure all subchannel handling is done on the slow path workqueue
so that we don't have races between an old subchannel unregistering
and a new subchannel with the same name registering.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Tue, 20 Nov 2007 10:13:40 +0000 (11:13 +0100)]
[S390] Add missing die_notifier() call to die().
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Tue, 20 Nov 2007 10:13:39 +0000 (11:13 +0100)]
[S390] Fix memory detection.
Before we're getting short on memory detection fixes here is the next
one: if neither sclp nor diag260 report the storage size the detection
loop will return immediately without detecting anything. Fix this by
breaking the detection loop only if the memory end is known.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Christoph Lameter [Tue, 20 Nov 2007 10:13:38 +0000 (11:13 +0100)]
[S390] Explicitly code allocpercpu calls in iucv
The iucv is the only user of the various functions that are used to bring
parts of cpus up and down. Its the only allocpercpu user that will do
I/O on per cpu objects (which is difficult to do with virtually mapped memory).
And its the only use of allocpercpu where a GFP_DMA allocation is done.
Remove the allocpercpu calls from iucv and code the allocation and freeing
manually. After this patch it is possible to remove a large part of
the allocpercpu API.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Tue, 20 Nov 2007 10:13:37 +0000 (11:13 +0100)]
[S390] Dont overwrite lowcores on smp_send_stop().
Don't perform a sigp store-status-at-address on smp_send_stop().
It will overwrite the lowcores of other cpus and destroys valueable
debug informations.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Christian Borntraeger [Tue, 20 Nov 2007 10:13:36 +0000 (11:13 +0100)]
[S390] Optimize storage key handling for anonymous pages
page_mkclean used to call page_clear_dirty for every given page. This
is different to all other architectures, where the dirty bit in the
PTEs is only resetted, if page_mapping() returns a non-NULL pointer.
We can move the page_test_dirty/page_clear_dirty sequence into the
2nd if to avoid unnecessary iske/sske sequences, which are expensive.
This change also helps kvm for s390 as the host must transfer the
dirty bit into the guest status bits. By moving the page_clear_dirty
operation into the 2nd if, the vm will only call page_clear_dirty
for pages where it walks the mapping anyway. There it calls
ptep_clear_flush for writable ptes, so we can transfer the dirty bit
to the guest.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Tue, 20 Nov 2007 10:13:35 +0000 (11:13 +0100)]
[S390] Fix kernel preemption.
When returning from IRQ handling and TIF_NEED_RESCHED is set we must
call preempt_schedule_irq() instead of schedule().
Otherwise the BKL might be unlocked in schedule() and therfore
everything that relies on the BKL is broken.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Tue, 20 Nov 2007 10:13:34 +0000 (11:13 +0100)]
[S390] appldata: remove unused binary sysctls.
Remove binary sysctls that never worked due to missing strategy functions.
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Gerald Schaefer <geraldsc@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Tue, 20 Nov 2007 10:13:33 +0000 (11:13 +0100)]
[S390] cmm: remove unused binary sysctls.
Remove binary sysctls that never worked due to missing strategy functions.
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Tue, 20 Nov 2007 10:13:32 +0000 (11:13 +0100)]
[S390] Fix irq tracing and lockdep_sys_exit calls.
Current support for TRACE_IRQFLAGS and lockdep_sys_exit is broken.
IRQ flag tracing is broken for program checks. Even worse is that
the newly introduced calls to lockdep_sys_exit are in the critical
section code which is not supposed to call any C functions. In
addition the checks if locks are still held are also done when
returning to kernel code which is broken as well.
Fix all this by disabling interrupts and machine checks at the
exit paths and then do the appropriate checks and calls.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Christian Borntraeger [Tue, 20 Nov 2007 10:13:31 +0000 (11:13 +0100)]
[S390] magic sysrq: check for in_atomic before doing an console_unblank
When doing an magic sysrq reboot on s390 the following bug message
appears:
SysRq : Resetting
BUG: sleeping function called from invalid context at include/asm/semaphore.h:61
in_atomic():1, irqs_disabled():0
07000000004002a8 000000000fe6bc48 0000000000000002 0000000000000000
000000000fe6bce8 000000000fe6bc60 000000000fe6bc60 000000000012a79a
0000000000000000 07000000004002a8 0000000000000006 0000000000000000
0000000000000000 000000000fe6bc48 000000000000000d 000000000fe6bcb8
00000000004000c8 0000000000103234 000000000fe6bc48 000000000fe6bc90
Call Trace:
(¬<
00000000001031b2>| show_trace+0x12e/0x148)
¬<
000000000011ffca>| __might_sleep+0x10a/0x118
¬<
0000000000129fba>| acquire_console_sem+0x92/0xf4
¬<
000000000012a2ca>| console_unblank+0xc2/0xc8
¬<
0000000000107bb4>| machine_restart+0x54/0x6c
¬<
000000000028e806>| sysrq_handle_reboot+0x26/0x30
¬<
000000000028e52a>| __handle_sysrq+0xa6/0x180
¬<
0000000000140134>| run_workqueue+0xcc/0x18c
¬<
000000000014029a>| worker_thread+0xa6/0x108
¬<
00000000001458e4>| kthread+0x64/0x9c
¬<
0000000000106f0e>| kernel_thread_starter+0x6/0xc
¬<
0000000000106f08>| kernel_thread_starter+0x0/0xc
The only reason for doing a console_unblank on s390 is to flush the
log buffer. We have to check for in_atomic before doing a
console_unblank as the console is otherwise filled with an unrelated
bug message.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Peter Oberparleiter [Tue, 20 Nov 2007 10:13:30 +0000 (11:13 +0100)]
[S390] cio: change device sense procedure to work with pav aliases
Modify the sense id channel program to allow device sensing of pav
alias devices which belong to a base device with ungrouped paths.
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Benjamin Herrenschmidt [Tue, 20 Nov 2007 07:32:12 +0000 (18:32 +1100)]
[POWERPC] Fix 8xx build breakage due to _tlbie changes
My changes to _tlbie to fix 4xx unfortunately broke 8xx build in a
couple of places. This fixes it.
Spotted by Olof Johansson.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Paul Mackerras [Tue, 20 Nov 2007 07:40:23 +0000 (18:40 +1100)]
Merge branch 'for-2.6.24' of /linux/kernel/git/galak/powerpc into merge
Len Brown [Tue, 20 Nov 2007 06:21:47 +0000 (01:21 -0500)]
Pull fluff into release branch
Conflicts:
drivers/acpi/ec.c
Signed-off-by: Len Brown <len.brown@intel.com>
Len Brown [Tue, 20 Nov 2007 06:20:57 +0000 (01:20 -0500)]
Pull video-2.6.24 into release branch
Len Brown [Tue, 20 Nov 2007 06:20:42 +0000 (01:20 -0500)]
Pull thinkpad-2.6.24 into release branch
Len Brown [Tue, 20 Nov 2007 06:20:31 +0000 (01:20 -0500)]
Pull thermal into release branch
Len Brown [Tue, 20 Nov 2007 06:20:00 +0000 (01:20 -0500)]
Pull procfs-default into release branch
Conflicts:
drivers/acpi/sbs.c
Signed-off-by: Len Brown <len.brown@intel.com>
Len Brown [Tue, 20 Nov 2007 06:18:37 +0000 (01:18 -0500)]
Pull cpuidle into release branch
Len Brown [Tue, 20 Nov 2007 06:18:19 +0000 (01:18 -0500)]
Pull bugzilla-9327 into release branch
Len Brown [Tue, 20 Nov 2007 06:18:07 +0000 (01:18 -0500)]
Pull bugzilla-9262 into release branch
Len Brown [Tue, 20 Nov 2007 06:17:54 +0000 (01:17 -0500)]
Pull bugzilla-9153 into release branch
Len Brown [Tue, 20 Nov 2007 06:17:42 +0000 (01:17 -0500)]
Pull battery into release branch
Shaohua Li [Sat, 17 Nov 2007 06:05:28 +0000 (01:05 -0500)]
ACPI: fix two IRQ8 issues in IOAPIC mode
Use mp_irqs[] to get PNP device's interrupt polarity and trigger.
There are two reasons to do this:
1. BIOS bug for PNP interrupt
2. BIOS explictly does override
mp_irqs[] should cover all the cases.
http://bugzilla.kernel.org/show_bug.cgi?id=5243
http://bugzilla.kernel.org/show_bug.cgi?id=7679
http://bugzilla.kernel.org/show_bug.cgi?id=9153
[lenb: fixed !IOAPIC and 64-bit !SMP builds]
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Kumar Gala [Tue, 20 Nov 2007 05:36:23 +0000 (23:36 -0600)]
[POWERPC] Fix device tree interrupt map for Freescale ULI1575 boards
The interrupt map for the PCI PHB that had the ULI1575 was not correct
on the boards that have it.
* 8544 DS:
- Fix interrupt mask
- Be explicit about use of INTA for on chip peripherals
* 8572 DS/8641 HPCN:
- Fix interrupt mask
- Expand interrupt map for PCI slots to cover all functions
- Be explicit about use of INTA for on chip peripherals
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Michael Neuling [Tue, 20 Nov 2007 04:18:40 +0000 (15:18 +1100)]
[POWERPC] Fix possible division by zero in scaled time accounting
If we get no user time and no system time allocated since the last
account_system_vtime, the system to user time ratio estimate can end
up dividing by zero.
This was causing a problem noticed by Balbir Singh.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Jeremy Kerr [Fri, 16 Nov 2007 02:32:23 +0000 (13:32 +1100)]
[POWERPC] spufs: Fix context destroy vs /spu readdir race
We can currently cause an oops by repeatedly creating and destroying
contexts, while doing getdents() calls on the "/spu" directory.
This is due to the context's top-level dentry remaining hashed while
the context is being destroyed.
Fix this by unhashing the context's dentry with the
dentry->d_inode->i_mutex held. This way, we'll hit the check for
d_unhashed in dentry_readdir, and won't be included in the
list of subdirs for /spu.
test: spufs-testsuite:tests/01-spu_create/07-destroy-vs-readdir-race
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Linas Vepstas [Tue, 20 Nov 2007 01:28:15 +0000 (12:28 +1100)]
[POWERPC] Fix RTAS os-term usage on kernel panic
The rtas_os_term() routine was being called at the wrong time.
The actual rtas call "os-term" will not ever return, and so
calling it from the panic notifier is too early. Instead,
call it from the machine_reset() call.
This splits the rtas_os_term() routine into two: one part to capture
the kernel panic message, invoked during the panic notifier, and
another part that is invoked during machine_reset().
Prior to this patch, the os-term call was never being made,
because panic_timeout was always non-zero. Calling os-term
helps keep the hypervisor happy! We have to keep the hypervisor
happy to avoid service, dump and error reporting problems.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Kim Phillips [Mon, 5 Nov 2007 18:15:51 +0000 (12:15 -0600)]
[POWERPC] 83xx: Handle mpc8360 rev. 2.1 RGMII timing erratum
If on a rev. 2.1, adjust UCC clock and data timing characteristics
as specified in the rev.2.1 erratum #2.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Kim Phillips [Mon, 5 Nov 2007 18:15:35 +0000 (12:15 -0600)]
[POWERPC] Document rgmii-rxid and rgmii-txid phy-connection-types
A h/w bug requires we program the PHY in RGMII mode for internal delay
on the receive or transmit side only; document the new property values.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Kim Phillips [Tue, 13 Nov 2007 23:26:31 +0000 (17:26 -0600)]
[POWERPC] 83xx: Fix 2nd UCC entry in mpc832x_mds.dts
correct the reg property, remove duplicate io port entry, whitespace fixes.
Thanks to Peter Van Ackeren for pointing this out.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Kim Phillips [Tue, 20 Nov 2007 01:04:43 +0000 (19:04 -0600)]
[POWERPC] 83xx: mpc832x mds: Fix board PHY reset code
currently the board-level PHY reset code for the mpc832x MDS messes with
reset configuration words source settings which is plain wrong (it
looks like this board code was cut-n-pasted from the mpc8360 mds code,
which has the PHY reset bits in a different BCSR); this patch points
the PHY reset code to the proper mpc832x mds PHY reset bits in the BCSR.
Signed-off-by: Peter Van Ackeren <peter.vanackeren@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Cyrill Gorcunov [Thu, 15 Nov 2007 18:47:06 +0000 (21:47 +0300)]
[POWERPC] Fix potential NULL dereference
This patch does fix potential NULL pointer dereference that could take
place inside of strcmp() if of_get_property() call failed.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Olof Johansson [Tue, 20 Nov 2007 01:24:45 +0000 (12:24 +1100)]
[POWERPC] vdso: Fixes for cache block sizes
The current VDSO implementation is hardcoded to 128 byte cache blocks,
which are only used on IBM's 64-bit processors.
Convert it to get the cache block sizes out of vdso_data instead,
similar to how the ppc64 in-kernel cache flush does it.
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Paul Mackerras [Tue, 20 Nov 2007 02:54:46 +0000 (13:54 +1100)]
Merge branch 'for-2.6.24' of /linux/kernel/git/olof/pasemi into merge
Joe Perches [Tue, 20 Nov 2007 01:48:02 +0000 (17:48 -0800)]
ACPI: Add missing spaces to printk format
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Len Brown <len.brown@intel.com>