linux-2.6.git
14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
Linus Torvalds [Tue, 27 Nov 2007 03:41:28 +0000 (19:41 -0800)]
Merge git://git./linux/kernel/git/x86/linux-2.6-x86

* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
  x86: fix APIC related bootup crash on Athlon XP CPUs
  time: add ADJ_OFFSET_SS_READ
  x86: export the symbol empty_zero_page on the 32-bit x86 architecture
  x86: fix kprobes_64.c inlining borkage
  pci: use pci=bfsort for HP DL385 G2, DL585 G2
  x86: correctly set UTS_MACHINE for "make ARCH=x86"
  lockdep: annotate do_debug() trap handler
  x86: turn off iommu merge by default
  x86: fix ACPI compile for LOCAL_APIC=n
  x86: printk kernel version in WARN_ON and other dump_stack users
  ACPI: Set max_cstate to 1 for early Opterons.
  x86: fix NMI watchdog & 'stopped time' problem

14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney...
Linus Torvalds [Tue, 27 Nov 2007 03:40:27 +0000 (19:40 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/cooloney/blackfin-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (56 commits)
  Blackfin arch: fix bug when enable uart1 with uart0 disabled => no initial console
  Blackfin arch: split apart dump_bfin_regs and merge/remove show_regs from process.c, which was largely duplicated
  Blackfin arch: use common __INIT/__FINIT defines rather than setting the .section ourselves to .init.text
  Blackfin arch: fix bug when sending signals with the wrong PC, cause gdb get confused
  Blackfin arch: Ensure we printk out strings with the proper loglevel
  Blackfin arch: Need to specify ax with the .init.text section,
  Blackfin arch: Update Kconfig to latest Blackfin silicon datasheets
  Blackfin arch: update defconfig files
  Blackfin arch: Fix typo, and add ENDPROC - no functional changes
  Blackfin arch: convert READY to DMA_READY as it causes build errors in common sound code otherwise
  Blackfin arch: add defines for the on-chip L1 ROM of BF54x
  Blackfin arch: cplb and map header file cleanup
  Blackfin arch: cleanup the cplb declares
  Blackfin arch: fix broken on BF52x, remove silly checks on processors for L1_SCRATCH defines
  Blackfin arch: add support for working around anomaly 05000312
  Blackfin arch: cleanup BF54x header file and add BF547 definition
  Blackfin arch: fix building for BF542 processors which only have 1 TWI
  Blackfin arch: rename _return_from_exception to _bfin_return_from_exception and export it
  Blackfin arch: move EXPORT_SYMBOL() to C files where the symbol is actually defined
  Blackfin arch: fix bug NOR Flash MTD mount fail
  ...

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.24
Linus Torvalds [Tue, 27 Nov 2007 03:39:55 +0000 (19:39 -0800)]
Merge git://git./linux/kernel/git/lethal/sh-2.6.24

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.24:
  sh: include ax88796 in the defconfig for r7785rp
  sh: include ax88796 in the defconfig for r7780mp
  sh: fix R2D-1 CF support
  fb: Orphan imsttfb.
  sh: Update mailing list info.
  sh: lockless UTLB miss fast-path.
  sh: Kill off UTLB flush in fast-path.
  sh: Fix copy_{to,from}_user_page() with cache disabled.

14 years agoplip: fix parport_register_device name parameter
Mikulas Patocka [Thu, 22 Nov 2007 20:26:01 +0000 (21:26 +0100)]
plip: fix parport_register_device name parameter

Plip passes a string "name" that is allocated on stack to
parport_register_device.  parport_register_device holds the pointer to
"name" and when the registering function exits, it points nowhere.

On some machine, this bug causes bad names to appear in /proc, such as
/proc/sys/dev/parport/parport0/devices/T^/�X^/�, on others, the plip
proc node is completely missing.

The patch also fixes documentation to note this requirement.

Signed-off-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agoplip: use netif_rx_ni() for packet receive
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>
14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
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

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
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

14 years agoradeonfb: add chip definition for RV370 5b63
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>
14 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
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
  ...

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
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

14 years agomac68k: mailing list addresss
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>
14 years agoAmiga zorro bus: Add missing zorro_device_remove()
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>
14 years agom68k: export atari_keyb_init
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>
14 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
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.
  ...

14 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
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

14 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
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
  ...

14 years agoisdn: avoid copying overly-long strings
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>
14 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
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.

14 years agoMerge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa
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

14 years agox86: correctly set UTS_MACHINE for "make ARCH=x86"
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>
14 years agox86: fix APIC related bootup crash on Athlon XP CPUs
Ingo Molnar [Mon, 26 Nov 2007 19:42:20 +0000 (20:42 +0100)]
x86: fix APIC related bootup crash on Athlon XP CPUs

warmbloodedcreature@gmail.com reported that an APIC-enabled
Asus a7v8x-x with an Athlon XP reboots early in the bootup:

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

after a long marathon of spontaneous-reboot debugging, it turns
out to be caused by sync_Arb_ids(). AMD CPUs never really needed
this sequence anyway, so just return early if we meet an AMD CPU.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
14 years agotime: add ADJ_OFFSET_SS_READ
John Stultz [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
time: add ADJ_OFFSET_SS_READ

Michael Kerrisk reported that a long standing bug in the adjtimex()
system call causes glibc's adjtime(3) function to deliver the wrong
results if 'delta' is NULL.

add the ADJ_OFFSET_SS_READ API detail, which will be used by glibc
to fix this API compatibility bug.

Also see: http://bugzilla.kernel.org/show_bug.cgi?id=6761

[ mingo@elte.hu: added patch description and made it backwards compatible ]

NOTE: the new flag is defined 0xa001 so that it returns -EINVAL on
older kernels - this way glibc can use it safely. Suggested by Ulrich
Drepper.

Acked-by: Ulrich Drepper <drepper@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
14 years agox86: export the symbol empty_zero_page on the 32-bit x86 architecture
Theodore Ts'o [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
x86: export the symbol empty_zero_page on the 32-bit x86 architecture

The latest KVM driver wants to use the empty_zero_page symbol, and it's
not exported in 32-bit x86 (although it is exported by x86_64, s390, and
uml architectures).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: tglx@linutronix.de
Cc: linux-kernel@vger.kernel.com
Cc: kvm-devel@lists.sourceforge.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
14 years agox86: fix kprobes_64.c inlining borkage
Andrew Morton [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
x86: fix kprobes_64.c inlining borkage

fix:

arch/x86/kernel/kprobes_64.c: In function 'set_current_kprobe':
arch/x86/kernel/kprobes_64.c:152: sorry, unimplemented: inlining failed in call to 'is_IF_modifier': recursive inlining
arch/x86/kernel/kprobes_64.c:166: sorry, unimplemented: called from here

Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: mingo@elte.hu
Cc: akpm@linux-foundation.org
Cc: tglx@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
14 years agopci: use pci=bfsort for HP DL385 G2, DL585 G2
Michal Schmidt [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
pci: use pci=bfsort for HP DL385 G2, DL585 G2

HP ProLiant systems DL385 G2 and DL585 G2 need pci=bfsort to enumerate PCI
devices in the expected order.

Matt sayeth:

  biosdevname is a userspace app I wrote to help solve this so we don't need
  to patch the kernel for future systems.  It's not integrated into any
  distributions properly yet, but is included in openSUSE 10.3 and Fedora 8
  for people who want to download and install it there.  It acts as a udev
  helper.

  For the time being, patching the kernel is necessary.  I really hope
  biosdevname eliminates that need in future distributions.

  http://linux.dell.com/biosdevname/

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Acked-by: Andy Gospodarek <andy@greyhouse.net>
Cc: mingo@elte.hu
Cc: andy@greyhouse.net
Cc: john.cagle@hp.com
Cc: Matt Domsch <Matt_Domsch@dell.com>
Cc: Greg KH <greg@kroah.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
14 years agox86: correctly set UTS_MACHINE for "make ARCH=x86"
Andreas Herrmann [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
x86: correctly set UTS_MACHINE for "make ARCH=x86"

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.

Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andreas Herrmann <aherrman@arcor.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@redhat.com>
14 years agolockdep: annotate do_debug() trap handler
Peter Zijlstra [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
lockdep: annotate do_debug() trap handler

Ensure the hardirq state is consistent before using locks. Use the rare
trace_hardirqs_fixup() because the trap can happen in any context.

resolves this rare lockdep warning:

WARNING: at kernel/lockdep.c:2658 check_flags()
 [<c013571e>] check_flags+0x90/0x140
 [<c0138a69>] lock_release+0x4b/0x1d0
 [<c0507fea>] notifier_call_chain+0x2a/0x47
 [<c050806b>] __atomic_notifier_call_chain+0x64/0x6d
 [<c0508007>] __atomic_notifier_call_chain+0x0/0x6d
 [<c050808b>] atomic_notifier_call_chain+0x17/0x1a
 [<c0131802>] notify_die+0x30/0x34
 [<c0506b09>] do_debug+0x3e/0xd4
 [<c050658f>] debug_stack_correct+0x27/0x2c
 [<c04be389>] tcp_rcv_established+0x1/0x620
 [<c04c38c2>] tcp_v4_do_rcv+0x2b/0x313
 [<c04c56b6>] tcp_v4_rcv+0x467/0x85d
 [<c0505ff2>] _spin_lock_nested+0x27/0x32
 [<c04c5a4d>] tcp_v4_rcv+0x7fe/0x85d
 [<c04c560e>] tcp_v4_rcv+0x3bf/0x85d
 [<c04adbb5>] ip_local_deliver_finish+0x11b/0x1b0
 [<c04adac8>] ip_local_deliver_finish+0x2e/0x1b0
 [<c04ada7b>] ip_rcv_finish+0x27b/0x29a
 [<c04961e5>] netif_receive_skb+0xfb/0x2a6
 [<c04add0f>] ip_rcv+0x0/0x1fb
 [<c0496354>] netif_receive_skb+0x26a/0x2a6
 [<c04961e5>] netif_receive_skb+0xfb/0x2a6
 [<c049872e>] process_backlog+0x7f/0xc6
 [<c04983ba>] net_rx_action+0xb9/0x1ac
 [<c0498348>] net_rx_action+0x47/0x1ac
 [<c01376cb>] trace_hardirqs_on+0x118/0x16b
 [<c01225e2>] __do_softirq+0x49/0xa2
 [<c010595f>] do_softirq+0x60/0xdd
 [<c0506300>] _spin_unlock_irq+0x20/0x2c
 [<c0103e4f>] restore_nocheck+0x12/0x15
 [<c01440e1>] handle_fasteoi_irq+0x0/0x9b
 [<c0105a70>] do_IRQ+0x94/0xaa
 [<c0506300>] _spin_unlock_irq+0x20/0x2c
 [<c0104832>] common_interrupt+0x2e/0x34
 [<c0114703>] native_safe_halt+0x2/0x3
 [<c0102c01>] default_idle+0x44/0x65
 [<c010257f>] cpu_idle+0x42/0x50
 [<c076ea09>] start_kernel+0x26b/0x270
 [<c076e317>] unknown_bootoption+0x0/0x196
 =======================
irq event stamp: 559190
hardirqs last  enabled at (559190): [<c0507316>] kprobe_exceptions_notify+0x299/0x305
hardirqs last disabled at (559189): [<c05067bf>] do_int3+0x1d/0x95
softirqs last  enabled at (559172): [<c010595f>] do_softirq+0x60/0xdd
softirqs last disabled at (559181): [<c010595f>] do_softirq+0x60/0xdd

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
14 years agox86: turn off iommu merge by default
Ingo Molnar [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
x86: turn off iommu merge by default

revert this commit for now:

    commit 948062683004d13ca21c8c05ac052d387978a449
    Author: Andi Kleen <ak@suse.de>
    Date:   Fri Oct 19 20:35:03 2007 +0200

        x86: enable iommu_merge by default

it's causing regressions:

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

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
14 years agox86: fix ACPI compile for LOCAL_APIC=n
Thomas Gleixner [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
x86: fix ACPI compile for LOCAL_APIC=n

ACPI processor idle code references local_apic_timer_c2_ok, which
is not available when LOCAL_APIC is disabled.

Define local_apic_timer_c2_ok as a constant, when LOCAL_APIC=n

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
14 years agox86: printk kernel version in WARN_ON and other dump_stack users
Arjan van de Ven [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
x86: printk kernel version in WARN_ON and other dump_stack users

today, all oopses contain a version number of the kernel, which is nice
because the people who actually do bother to read the oops get this
vital bit of information always without having to ask the reporter in
another round trip.

However, WARN_ON() and many other dump_stack() users right now lack this
information; the patch below adds this. This information is essential
for getting people to use their time effectively when looking at these
things; in addition, it's essential for tools that try to collect
statistics about defects.

Please consider, since its so simple and important for long term kernel
quality processes.

The code is identical between 32/64 bit; a lot of this code should be
unified over time, the patch keeps the identical-ness intact.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
14 years agoACPI: Set max_cstate to 1 for early Opterons.
Alexey Starikovskiy [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
ACPI: Set max_cstate to 1 for early Opterons.

AMD Opteron processors before CG revision don't like C-states > 1.

This solves the long standing bugzilla #5303 and probably some more
on affected machines:

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

[ tglx@linutronix.de: reworked the patch so it does not wreck ia64 ]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
14 years agox86: fix NMI watchdog & 'stopped time' problem
Maciej W. Rozycki [Mon, 26 Nov 2007 19:42:19 +0000 (20:42 +0100)]
x86: fix NMI watchdog & 'stopped time' problem

More than 3 years ago Niclas Gustafsson reported a 'stopped time'
problem:

> Watching the /proc/interrupts with 10s apart after the "stop".
>
> [root@s151 root]# more /proc/interrupts
>            CPU0
>   0:   66413955  local-APIC-edge  timer
[...]
> LOC:   67355837
> ERR:          0
> MIS:          0
> [root@s151 root]# more /proc/interrupts
>            CPU0
>   0:   66413955  local-APIC-edge  timer
[...]
> LOC:   67379568
> ERR:          0
> MIS:          0

This may be because buggy SMM firmware messes with the 8259A (configured
for a transparent mode -- yes that rare "local-APIC-edge" mode is tricky
;-) ) insanely.

this should resolve:

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

Patch-dusted-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
14 years ago[MIPS] vpe: Add missing "space"
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>
14 years ago[MIPS] Compliment va_start() with va_end().
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>
14 years ago[MIPS] IP22: Fix broken eeprom access by using __raw_readl/__raw_writel
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>
14 years ago[MIPS] IP22: Fix broken EISA interrupt setup by switching to generic i8259
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>
14 years ago[MIPS] 64-bit Sibyte kernels need DMA32.
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>
14 years ago[MIPS] Only build r4k clocksource for systems that work ok with it.
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>
14 years ago[MIPS] Handle R4000/R4400 mfc0 from count register.
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.

14 years ago[MIPS] Fix possible hang in LL/SC futex loops.
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>
14 years ago[MIPS] Fix context DSP context / TLS pointer switching bug for new threads.
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>
14 years ago[MIPS] IP32: More interrupt renumbering fixes.
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>
14 years ago[MIPS] time: MIPSsim's plat_time_init doesn't need to be irq safe.
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>
14 years ago[MIPS] time: Fix negated condition in cevt-r4k driver.
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>
14 years ago[MIPS] Fix pcspeaker build.
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>
14 years agolibata: bump transfer chunk size if it's odd
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>
14 years agolibata: Return proper ATA INT status in pata_bf54x driver
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>
14 years ago[CIFS] Fix check after use error in ACL code
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>
14 years agoMerge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Steve French [Sun, 25 Nov 2007 09:53:27 +0000 (09:53 +0000)]
Merge branch 'master' of /linux/kernel/git/torvalds/linux-2.6

14 years agopata_ali: trim trailing whitespace (fix checkpatch complaints)
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>
14 years agopata_isapnp: Polled devices
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>
14 years agopata_hpt37x: Fix cable detect bug spotted by Sergei
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>
14 years agopata_ali: Lots of problems still showing up with small ATAPI DMA
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>
14 years agopata_ali: Add Mitac 8317 and derivatives
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>
14 years agolibata-core: List more documentation sources for reference
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>
14 years agoata_piix: Invalid use of writel/readl with iomap
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>
14 years agosata_sil24: fix sg table sizing
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>
14 years agopata_jmicron: fix disabled port handling in jmicron_pre_reset()
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>
14 years agopata_sil680: kill bogus reset code (take 2)
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>
14 years agosh: include ax88796 in the defconfig for r7785rp
Magnus Damm [Fri, 23 Nov 2007 05:39:55 +0000 (14:39 +0900)]
sh: include ax88796 in the defconfig for r7785rp

This patch adds the ax88796 device driver to the r7785rp defconfig.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
14 years agosh: include ax88796 in the defconfig for r7780mp
Magnus Damm [Fri, 23 Nov 2007 05:39:39 +0000 (14:39 +0900)]
sh: include ax88796 in the defconfig for r7780mp

This patch adds the ax88796 device driver to the r7780mp defconfig.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
14 years agosh: fix R2D-1 CF support
Magnus Damm [Fri, 23 Nov 2007 05:39:13 +0000 (14:39 +0900)]
sh: fix R2D-1 CF support

This patch fixes CF support for R2D-1 boards. Both R2D-1 and
R2D-PLUS are equipped with CF IRQs, but the R2D-1 FPGA version
seem to deliver IRQ spikes with certain CF cards during libata
probing.  This patch enables polling for R2D-1 as a workaround
for this broken FGPA logic.

R2D-1 CF support was recently introduced by commit:
43f4b8c7578b928892b6f01d374346ae14e5eb70.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
14 years agommc: Avoid re-using minor numbers before the original device is closed.
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>
14 years agotifm_sd: handle non-power-of-2 block sizes
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>
14 years agommc_block: check card state after write
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>
14 years agoBlackfin arch: fix bug when enable uart1 with uart0 disabled => no initial console
Sonic Zhang [Wed, 21 Nov 2007 09:04:41 +0000 (17:04 +0800)]
Blackfin arch: fix bug when enable uart1 with uart0 disabled => no initial console

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: split apart dump_bfin_regs and merge/remove show_regs from process...
Mike Frysinger [Wed, 21 Nov 2007 08:46:49 +0000 (16:46 +0800)]
Blackfin arch: split apart dump_bfin_regs and merge/remove show_regs from process.c, which was largely duplicated

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: use common __INIT/__FINIT defines rather than setting the .section...
Mike Frysinger [Wed, 21 Nov 2007 08:45:08 +0000 (16:45 +0800)]
Blackfin arch: use common __INIT/__FINIT defines rather than setting the .section ourselves to .init.text

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: fix bug when sending signals with the wrong PC, cause gdb get confused
Robin Getz [Wed, 21 Nov 2007 08:38:05 +0000 (16:38 +0800)]
Blackfin arch: fix bug when sending signals with the wrong PC, cause gdb get confused

We need to send signals with the proper PC, or gdb gets
confused, and lots of tests fail. This should fix that.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: Ensure we printk out strings with the proper loglevel
Robin Getz [Wed, 21 Nov 2007 08:35:57 +0000 (16:35 +0800)]
Blackfin arch: Ensure we printk out strings with the proper loglevel

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: Need to specify ax with the .init.text section,
Bernd Schmidt [Wed, 21 Nov 2007 08:33:47 +0000 (16:33 +0800)]
Blackfin arch: Need to specify ax with the .init.text section,

Need to specify "ax" with the .init.text section, otherwise the linker will
make unique .init.text.1 .. .init.text.3 sections to cope with the flags

14 years agoBlackfin arch: Update Kconfig to latest Blackfin silicon datasheets
Robin Getz [Wed, 21 Nov 2007 08:29:20 +0000 (16:29 +0800)]
Blackfin arch: Update Kconfig to latest Blackfin silicon datasheets

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: update defconfig files
Mike Frysinger [Wed, 21 Nov 2007 08:23:51 +0000 (16:23 +0800)]
Blackfin arch: update defconfig files

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: Fix typo, and add ENDPROC - no functional changes
Mike Frysinger [Wed, 21 Nov 2007 08:15:48 +0000 (16:15 +0800)]
Blackfin arch: Fix typo, and add ENDPROC - no functional changes

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: convert READY to DMA_READY as it causes build errors in common sound...
Mike Frysinger [Wed, 21 Nov 2007 08:17:11 +0000 (16:17 +0800)]
Blackfin arch: convert READY to DMA_READY as it causes build errors in common sound code otherwise

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: add defines for the on-chip L1 ROM of BF54x
Mike Frysinger [Wed, 21 Nov 2007 08:14:03 +0000 (16:14 +0800)]
Blackfin arch: add defines for the on-chip L1 ROM of BF54x

Should not need separate cplb entry though as we cover L1 with a 4 meg page

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: cplb and map header file cleanup
Mike Frysinger [Wed, 21 Nov 2007 08:12:12 +0000 (16:12 +0800)]
Blackfin arch: cplb and map header file cleanup

 - remove duplicated defines for the BF561
 - generalize L2 support (so that it works for BF54x) and mark it executable
 - add support for reading/executing the Boot ROM sections
   (since it has data/functions we may need at runtime)
 - and fixup names for each map

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: cleanup the cplb declares
Mike Frysinger [Wed, 21 Nov 2007 07:55:45 +0000 (15:55 +0800)]
Blackfin arch: cleanup the cplb declares

 - no need to declare their sizes in the common header
 - no need to tack on the section attribute as only the definition matters, not references

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: fix broken on BF52x, remove silly checks on processors for L1_SCRATCH...
Mike Frysinger [Wed, 21 Nov 2007 07:57:53 +0000 (15:57 +0800)]
Blackfin arch: fix broken on BF52x, remove silly checks on processors for L1_SCRATCH defines

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: add support for working around anomaly 05000312
Mike Frysinger [Wed, 21 Nov 2007 08:08:58 +0000 (16:08 +0800)]
Blackfin arch: add support for working around anomaly 05000312

Anomaly 05000312 - Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted:

DESCRIPTION:
When instruction cache is enabled, erroneous behavior may occur when any of the following instructions are interrupted:

. CSYNC
• SSYNC
• LCx =
• LTx = (only when LCx is non-zero)
• LBx = (only when LCx is non-zero)

When this problem occurs, a variety of incorrect things could happen, including an illegal instruction exception. Additional errors could
show up as an exception, a hardware error, or an instruction that is valid but different than the one that was expected.

WORKAROUND:
Place a cli before all SSYNC, CSYNC, "LCx =", "LTx =", and "LBx =" instructions to disable interrupts, and place an sti after each of these
instructions to re-enable interrupts. When these instructions are executed in code that is already non-interruptible, the problem will not
occur.

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: cleanup BF54x header file and add BF547 definition
Mike Frysinger [Wed, 21 Nov 2007 08:04:49 +0000 (16:04 +0800)]
Blackfin arch: cleanup BF54x header file and add BF547 definition

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: fix building for BF542 processors which only have 1 TWI
Mike Frysinger [Wed, 21 Nov 2007 08:03:07 +0000 (16:03 +0800)]
Blackfin arch: fix building for BF542 processors which only have 1 TWI

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: rename _return_from_exception to _bfin_return_from_exception and export it
Mike Frysinger [Wed, 21 Nov 2007 07:53:49 +0000 (15:53 +0800)]
Blackfin arch: rename _return_from_exception to _bfin_return_from_exception and export it

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: move EXPORT_SYMBOL() to C files where the symbol is actually defined
Mike Frysinger [Wed, 21 Nov 2007 07:34:51 +0000 (15:34 +0800)]
Blackfin arch: move EXPORT_SYMBOL() to C files where the symbol is actually defined

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: fix bug NOR Flash MTD mount fail
Sonic Zhang [Wed, 21 Nov 2007 15:49:52 +0000 (23:49 +0800)]
Blackfin arch: fix bug NOR Flash MTD mount fail

Config EBIU flash mode properly. EBIU_MODE EBIU_FCTL
EBIU_MBSCTL register should be configurd to Flash
mode.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoBlackfin arch: export symbol get_dma_curr_desc_ptr for driver usage
Cliff Cai [Wed, 21 Nov 2007 07:22:58 +0000 (15:22 +0800)]
Blackfin arch: export symbol get_dma_curr_desc_ptr for driver usage

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
14 years agoPull bugzilla-9327 into release branch
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>
14 years agoACPI: EC: Workaround for optimized controllers (version 3)
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>
14 years agoACPI: EC: use printk_ratelimit(), add some DEBUG mode messages
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>
14 years agoRevert "ACPI: EC: Workaround for optimized controllers"
Len Brown [Wed, 21 Nov 2007 00:59:08 +0000 (19:59 -0500)]
Revert "ACPI: EC: Workaround for optimized controllers"

This reverts commit f2d68935ba08cf80f151bbdb5628381184e4a498.

14 years ago[CIFS] Fix potential data corruption when writing out cached dirty pages
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>
14 years ago[POWERPC] 83xx: Update mpc8349emitx(gp) defconfig for USB
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>
14 years ago[POWERPC] 83xx: Update mpc832x_rdb_defconfig to enable MMC-over-SPI
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>
14 years ago[POWERPC] 83xx: MPC832x RDB - remove spidev stub, use mmc_spi
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>
14 years ago[POWERPC] 8xxx: MDS board RTC fixes
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>
14 years ago[ALSA] version 1.0.15
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>
14 years ago[ALSA] emu10k1 - Check value ranges in ctl callbacks
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>
14 years ago[ALSA] emu10k1: Add mixer controls parameter checking.
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>
14 years ago[ALSA] fix private data pointer calculation in CS4270 driver
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>
14 years ago[ALSA] portman2x4 - Fix probe error
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>