]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Wed, 14 Sep 2011 01:31:03 +0000 (11:31 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

13 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Wed, 14 Sep 2011 01:29:52 +0000 (11:29 +1000)]
Merge remote-tracking branch 'm68k/for-next'

13 years agoMerge remote-tracking branch 'ia64/test'
Stephen Rothwell [Wed, 14 Sep 2011 01:28:40 +0000 (11:28 +1000)]
Merge remote-tracking branch 'ia64/test'

13 years agoMerge branch 'quilt/hexagon'
Stephen Rothwell [Wed, 14 Sep 2011 01:27:23 +0000 (11:27 +1000)]
Merge branch 'quilt/hexagon'

13 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Wed, 14 Sep 2011 01:26:06 +0000 (11:26 +1000)]
Merge remote-tracking branch 'cris/for-next'

13 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Wed, 14 Sep 2011 01:24:55 +0000 (11:24 +1000)]
Merge remote-tracking branch 'blackfin/for-linus'

13 years agoMerge remote-tracking branch 'ux500-core/ux500-core'
Stephen Rothwell [Wed, 14 Sep 2011 01:23:44 +0000 (11:23 +1000)]
Merge remote-tracking branch 'ux500-core/ux500-core'

13 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Wed, 14 Sep 2011 01:22:30 +0000 (11:22 +1000)]
Merge remote-tracking branch 's5p/for-next'

Conflicts:
arch/arm/mach-exynos4/mach-smdkc210.c

13 years agoMerge remote-tracking branch 'i.MX/for-next'
Stephen Rothwell [Wed, 14 Sep 2011 01:12:40 +0000 (11:12 +1000)]
Merge remote-tracking branch 'i.MX/for-next'

13 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Wed, 14 Sep 2011 01:12:39 +0000 (11:12 +1000)]
Merge remote-tracking branch 'at91/at91-next'

13 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Wed, 14 Sep 2011 01:11:26 +0000 (11:11 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'

Conflicts:
arch/arm/include/asm/hardware/cache-l2x0.h
arch/arm/mach-at91/board-usb-a9260.c
arch/arm/mach-msm/board-msm8x60.c
arch/arm/mach-mxs/include/mach/gpio.h
arch/arm/mach-u300/Makefile.boot
arch/arm/plat-mxc/include/mach/gpio.h

13 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Wed, 14 Sep 2011 01:01:20 +0000 (11:01 +1000)]
Merge remote-tracking branch 'arm-lpae/for-next'

Conflicts:
arch/arm/include/asm/page.h
arch/arm/include/asm/pgalloc.h
arch/arm/include/asm/pgtable-hwdef.h
arch/arm/include/asm/pgtable.h
arch/arm/include/asm/tlb.h
arch/arm/kernel/head.S
arch/arm/kernel/sleep.S
arch/arm/mm/dma-mapping.c
arch/arm/mm/mmu.c

13 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Wed, 14 Sep 2011 01:00:01 +0000 (11:00 +1000)]
Merge remote-tracking branch 'arm/for-next'

13 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Wed, 14 Sep 2011 00:58:34 +0000 (10:58 +1000)]
Merge remote-tracking branch 'input-current/for-linus'

13 years agoMerge remote-tracking branch 'wireless-current/master'
Stephen Rothwell [Wed, 14 Sep 2011 00:58:31 +0000 (10:58 +1000)]
Merge remote-tracking branch 'wireless-current/master'

13 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Wed, 14 Sep 2011 00:58:30 +0000 (10:58 +1000)]
Merge remote-tracking branch 'pci-current/for-linus'

13 years agoMerge remote-tracking branch 'net-current/master'
Stephen Rothwell [Wed, 14 Sep 2011 00:58:29 +0000 (10:58 +1000)]
Merge remote-tracking branch 'net-current/master'

13 years agoMerge remote-tracking branch 'scsi-rc-fixes/master'
Stephen Rothwell [Wed, 14 Sep 2011 00:58:28 +0000 (10:58 +1000)]
Merge remote-tracking branch 'scsi-rc-fixes/master'

13 years agoAdd extra arch overrides to asm-generic/checksum.h
Richard Kuo [Wed, 14 Sep 2011 00:50:37 +0000 (10:50 +1000)]
Add extra arch overrides to asm-generic/checksum.h

There are plausible reasons for architectures to provide their own
versions of csum_partial_copy_nocheck and csum_tcpudp_magic.
By protecting these, the architecture can still re-use the
asm-generic checksum.h, instead of copying it.

Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add self to MAINTAINERS
Richard Kuo [Wed, 14 Sep 2011 00:50:37 +0000 (10:50 +1000)]
Hexagon: Add self to MAINTAINERS

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
13 years agoHexagon: Add basic stacktrace functionality for Hexagon architecture.
Richard Kuo [Wed, 14 Sep 2011 00:50:37 +0000 (10:50 +1000)]
Hexagon: Add basic stacktrace functionality for Hexagon architecture.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add configuration and makefiles for the Hexagon architecture.
Richard Kuo [Wed, 14 Sep 2011 00:50:36 +0000 (10:50 +1000)]
Hexagon: Add configuration and makefiles for the Hexagon architecture.

Removed CONFIG_ARCH_HAS_KMAP

Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Comet platform support
Richard Kuo [Wed, 14 Sep 2011 00:50:36 +0000 (10:50 +1000)]
Hexagon: Comet platform support

Used the shortened version of the config; other platform stuff moved out until
it's ready.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: kgdb support files
Richard Kuo [Wed, 14 Sep 2011 00:50:36 +0000 (10:50 +1000)]
Hexagon: kgdb support files

Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add page-fault support.
Richard Kuo [Wed, 14 Sep 2011 00:50:36 +0000 (10:50 +1000)]
Hexagon: Add page-fault support.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add page table header files & etc.
Richard Kuo [Wed, 14 Sep 2011 00:50:35 +0000 (10:50 +1000)]
Hexagon: Add page table header files & etc.

Removed highmem more highmem stuff.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
13 years agoHexagon: Add ioremap support
Richard Kuo [Wed, 14 Sep 2011 00:50:35 +0000 (10:50 +1000)]
Hexagon: Add ioremap support

Removed redundant flush_cache_vmap.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
13 years agoHexagon: Provide DMA implementation
Richard Kuo [Wed, 14 Sep 2011 00:50:35 +0000 (10:50 +1000)]
Hexagon: Provide DMA implementation

Basic DMA implementation for our architecture.

Added sync_single_for_* routines; hexagon_map_page() still seems to be a
convenient place to flush/invalidate.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Implement basic TLB management routines for Hexagon.
Richard Kuo [Wed, 14 Sep 2011 00:50:34 +0000 (10:50 +1000)]
Hexagon: Implement basic TLB management routines for Hexagon.

Mostly all stubs, as the TLB is managed by the hypervisor.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Implement basic cache-flush support
Richard Kuo [Wed, 14 Sep 2011 00:50:34 +0000 (10:50 +1000)]
Hexagon: Implement basic cache-flush support

We have separate I/D caches.  Data caches are physically indexed.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Provide basic implementation and/or stubs for I/O routines.
Richard Kuo [Wed, 14 Sep 2011 00:50:34 +0000 (10:50 +1000)]
Hexagon: Provide basic implementation and/or stubs for I/O routines.

Filled in the ins/outs; leaving them in for now.

Change _IO_BASE and IO_SPACE_LIMIT for safety.

I have compiled this with sparse and it builds; I've also picked over
various files related to the HAS_IOPORT_MAP from arm-soc.git and
tried them out, and they work, so I guess we'll just wait until
they're merged.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
13 years agoHexagon: Add user access functions
Richard Kuo [Wed, 14 Sep 2011 00:50:34 +0000 (10:50 +1000)]
Hexagon: Add user access functions

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add locking types and functions
Richard Kuo [Wed, 14 Sep 2011 00:50:33 +0000 (10:50 +1000)]
Hexagon: Add locking types and functions

Moved rwsem to asm-generic.  Will submit a subsequent patch for PPC
use it from the new location.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
13 years agoHexagon: Add SMP support
Richard Kuo [Wed, 14 Sep 2011 00:50:33 +0000 (10:50 +1000)]
Hexagon: Add SMP support

Changed smp.c to use generic IPI handler functions.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
13 years agoHexagon: Provide basic debugging and system trap support.
Richard Kuo [Wed, 14 Sep 2011 00:50:33 +0000 (10:50 +1000)]
Hexagon: Provide basic debugging and system trap support.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add ptrace support
Richard Kuo [Wed, 14 Sep 2011 00:50:32 +0000 (10:50 +1000)]
Hexagon: Add ptrace support

Will look at the more generic ptrace support in the future.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
13 years agoHexagon: Add time and timer functions
Richard Kuo [Wed, 14 Sep 2011 00:50:31 +0000 (10:50 +1000)]
Hexagon: Add time and timer functions

Cleaned up iomem and register declarations, unnecessary
SMP ifdefs, cpu_relax() in udelay.

Platform stuff is in development; platform defines will be cleaned up.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
13 years agoHexagon: Add interrupts
Richard Kuo [Wed, 14 Sep 2011 00:50:30 +0000 (10:50 +1000)]
Hexagon: Add interrupts

Removed init_IRQ wrapper and fixed up some comments.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add startup code
Richard Kuo [Wed, 14 Sep 2011 00:50:29 +0000 (10:50 +1000)]
Hexagon: Add startup code

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add init_task and process functions
Richard Kuo [Wed, 14 Sep 2011 00:50:29 +0000 (10:50 +1000)]
Hexagon: Add init_task and process functions

Fixed potential race-to-sleep condition in cpu_idle() and calling schedule
with irq's disabled.  I still have to have that extra enable/disbale in the
while() loop else the interrupt never gets serviced, and thus need_resched()
will always be false.

If called with interrupts disabled, our __vmwait() actually just returns
without servicing it.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add signal functions
Richard Kuo [Wed, 14 Sep 2011 00:50:29 +0000 (10:50 +1000)]
Hexagon: Add signal functions

Added vDSO support; signal trampoline is no longer on the stack
so it no longer needs to be executable.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
13 years agoHexagon: Support dynamic module loading.
Richard Kuo [Wed, 14 Sep 2011 00:50:29 +0000 (10:50 +1000)]
Hexagon: Support dynamic module loading.

Modules should be compiled as ordinary .o's; shared objects are not
supported.

Deleted module functions that already have generic equivalents.

Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Export ksyms defined in assembly files.
Richard Kuo [Wed, 14 Sep 2011 00:50:28 +0000 (10:50 +1000)]
Hexagon: Export ksyms defined in assembly files.

Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add hypervisor interface
Richard Kuo [Wed, 14 Sep 2011 00:50:28 +0000 (10:50 +1000)]
Hexagon: Add hypervisor interface

The port of Linux for Hexagon runs on top of a hypervisor layer,
which presents an interface for memory management, events, hardware
control, etc.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add memcpy and memset accelerated functions
Richard Kuo [Wed, 14 Sep 2011 00:50:28 +0000 (10:50 +1000)]
Hexagon: Add memcpy and memset accelerated functions

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add checksum functions
Richard Kuo [Wed, 14 Sep 2011 00:50:28 +0000 (10:50 +1000)]
Hexagon: Add checksum functions

Removed most non-assembly functions and use the generic ones instead.

Made a few more minor changes to use the generic header file.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add delay functions
Richard Kuo [Wed, 14 Sep 2011 00:50:27 +0000 (10:50 +1000)]
Hexagon: Add delay functions

Added read_current_timer elsewhere.

udelay is based off of __vmgettime() which returns processor ticks.

Removed __delay and CONFIG_GENERIC_CALIBRATE_DELAY.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
13 years agoHexagon: Add threadinfo
Richard Kuo [Wed, 14 Sep 2011 00:50:27 +0000 (10:50 +1000)]
Hexagon: Add threadinfo

Removed some cruft and changed to allow kernel stack to be smaller than a page
size.

I left the thread_info alignment alone for the time being; may revisit that in
the future.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add processor and system headers
Richard Kuo [Wed, 14 Sep 2011 00:50:27 +0000 (10:50 +1000)]
Hexagon: Add processor and system headers

Adds Hexagon information for processor/system type stuff
like context switching, register access, and irqflags.

Changed cpu_relax() to call __vmyield().

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add syscalls
Richard Kuo [Wed, 14 Sep 2011 00:50:27 +0000 (10:50 +1000)]
Hexagon: Add syscalls

Removed sys_mmap* and replaced with sys_mmap_pgoff()

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
13 years agoHexagon: Add atomic ops support
Richard Kuo [Wed, 14 Sep 2011 00:50:26 +0000 (10:50 +1000)]
Hexagon: Add atomic ops support

Our architecture uses load locked/store conditional type semantics for atomic
ops.

Added inline assembly version of atomic_add_unless.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add bitops support
Richard Kuo [Wed, 14 Sep 2011 00:50:26 +0000 (10:50 +1000)]
Hexagon: Add bitops support

Merged sub-files into bitops.h; fixed return types and volatiles.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Core arch-specific header files
Richard Kuo [Wed, 14 Sep 2011 00:50:26 +0000 (10:50 +1000)]
Hexagon: Core arch-specific header files

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Linas Vepstas <linas@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agoHexagon: Add generic headers
Richard Kuo [Wed, 14 Sep 2011 00:50:25 +0000 (10:50 +1000)]
Hexagon: Add generic headers

Reworked to use the Kbuild generic headers mechanism.

Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
13 years agolib/sha1.c: quiet sparse noise about symbol not declared
H Hartley Sweeten [Fri, 9 Sep 2011 18:30:27 +0000 (11:30 -0700)]
lib/sha1.c: quiet sparse noise about symbol not declared

Include <linux/cryptohash.h> to pickup the declarations for sha_transform
and sha_init to quite the sparse noise:

  warning: symbol 'sha_transform' was not declared. Should it be static?
  warning: symbol 'sha_init' was not declared. Should it be static?

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Mandeep Singh Baines <msb@chromium.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agopci: Don't crash when reading mpss from root complex
Benjamin Herrenschmidt [Tue, 13 Sep 2011 18:16:33 +0000 (15:16 -0300)]
pci: Don't crash when reading mpss from root complex

In pcie_find_smpss(), we have the following statement:

  if (dev->is_hotplug_bridge && (!list_is_singular(&dev->bus->devices) ||
    dev->bus->self->pcie_type != PCI_EXP_TYPE_ROOT_PORT))

The problem is that at least on my machine, this gets called for the
root complex (virtual P2P bridge), and dev->bus->self is NULL since
the parent bus for this is not itself anchor to a PCI device.

This adds the necessary NULL check.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Jon Mason <mason@myri.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoiwlagn: fix command queue timeout
Johannes Berg [Mon, 12 Sep 2011 19:09:10 +0000 (12:09 -0700)]
iwlagn: fix command queue timeout

If the command queue is constantly busy,
which can happen in P2P, the hangcheck
timer will frequently find a command in
it and will eventually reset the device
because nothing sets the timestamp for
this queue when commands are processed.

Fix this by setting the timestamp when
a command completes.

Cc: stable@kernel.org #2.6.39, #3.0.0 #3.1.0
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
SIgned-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: fix stack corruption
Johannes Berg [Mon, 12 Sep 2011 19:08:25 +0000 (21:08 +0200)]
iwlagn: fix stack corruption

Alexander reported a strange crash in iwlagn that
Meenakshi and Wey couldn't reproduce. I just ran
into the same issue and tracked it down to stack
corruption. This fixes it.

The problem was introduced in
commit 4b8b99b6e650d0527f3a123744b7459976581d14
Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Date:   Fri Jul 8 14:29:48 2011 -0700

    iwlagn: radio sensor offset in le16 format

Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Cc: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
Reported-by: Alexander Diewald <alex@diewald.cc>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: Fix kernel panic on unplugging the device
Mohammed Shafi Shajakhan [Fri, 9 Sep 2011 05:11:08 +0000 (10:41 +0530)]
ath9k: Fix kernel panic on unplugging the device

when the device is yanked out ath_pci_remove starts doing the cleanups,
unregistering the hardware etc. so we should bail out immediately when
we get drv_flush callback from mac80211 when the card is being unplugged.
the panic occurs after we had associated to an AP.

EIP: 0060:[<fb315b00>] EFLAGS: 00010246 CPU: 0
EIP is at ath_reset+0xa0/0x1c0 [ath9k]
EAX: 00000000 EBX: 000697c0 ECX: 00000002 EDX: f3c3ccf0
ESI: 00000000 EDI: 00000000 EBP: f43e7b78 ESP: f43e7b50
  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
  Process kworker/u:2 (pid: 182, ti=f43e6000 task=f3c3c7c0
task.ti=f43e6000)
  Stack:
  0000002a 00000000 00000000 003e7b78 0000000f eaaa8500
ffffffea eaaa97c0
  eaaaa000 00000001 f43e7ba8 fb315d23 f99e7721 ecece680
eaaac738 eaaa8500
  eaaaa020 000000c8 000000c8 00000000 eaaa8d58 eaaa8500
f43e7bd0 fb080b29
  Call Trace:
[<fb315d23>] ath9k_flush+0x103/0x170 [ath9k]
[<fb080b29>] __ieee80211_recalc_idle+0x2c9/0x400
[mac80211]
[<fb080c8e>] ieee80211_recalc_idle+0x2e/0x60 [mac80211]
[<fb07aa73>] ieee80211_mgd_deauth+0x173/0x210 [mac80211]
[<fb084559>] ieee80211_deauth+0x19/0x20 [mac80211]
[<f99dda53>] __cfg80211_mlme_deauth+0xf3/0x140
[cfg80211]
[<c0633d00>] ? __mutex_lock_common+0x1f0/0x380
[<f99e1b5d>] __cfg80211_disconnect+0x18d/0x1f0
[cfg80211]
[<f99c8199>] cfg80211_netdev_notifier_call+0x159/0x5c0
[cfg80211]
[<c0608a64>] ? packet_notifier+0x174/0x1f0
[<c0639202>] notifier_call_chain+0x82/0xb0
[<c0170d8f>] raw_notifier_call_chain+0x1f/0x30
[<c053b86c>] call_netdevice_notifiers+0x2c/0x60
[<c0182184>] ? trace_hardirqs_on_caller+0xf4/0x180
[<c053b8ec>] __dev_close_many+0x4c/0xd0
[<c053ba2d>] dev_close_many+0x6d/0xc0
[<c053bb53>] rollback_registered_many+0x93/0x1c0
[<c018221b>] ? trace_hardirqs_on+0xb/0x10
[<c053bc95>] unregister_netdevice_many+0x15/0x50
[<fb07f83b>] ieee80211_remove_interfaces+0x7b/0xb0
[mac80211]
[<fb06a14b>] ieee80211_unregister_hw+0x4b/0x110
[mac80211]
[<fb311a4a>] ath9k_deinit_device+0x3a/0x60 [ath9k]
[<fb31eed6>] ath_pci_remove+0x46/0x90 [ath9k]
[<c03b4ac4>] pci_device_remove+0x44/0x100
[<c043eb54>] __device_release_driver+0x64/0xb0
[<c043ec67>] device_release_driver+0x27/0x40
[<c043deeb>] bus_remove_device+0x7b/0xa0
[<c043c491>] device_del+0xf1/0x180
[<c043c530>] device_unregister+0x10/0x20
[<c03afafe>] pci_stop_bus_device+0x6e/0x80
[<c03afb72>] pci_remove_bus_device+0x12/0xa0
[<c03c2f29>] pciehp_unconfigure_device+0x89/0x180
[<c0181e54>] ? mark_held_locks+0x64/0x100
[<c063390f>] ? __mutex_unlock_slowpath+0xaf/0x140
[<c03c1f84>] pciehp_disable_slot+0x64/0x1b0
[<c03c2850>] pciehp_power_thread+0xd0/0x100
[<c0164ad0>] ? process_one_work+0x100/0x4d0
[<c0164b4c>] process_one_work+0x17c/0x4d0
[<c0164ad0>] ? process_one_work+0x100/0x4d0
[<c03c2780>] ? queue_interrupt_event+0xa0/0xa0
[<c01662bb>] worker_thread+0x13b/0x320
[<c018221b>] ? trace_hardirqs_on+0xb/0x10
[<c0166180>] ? manage_workers+0x1e0/0x1e0
[<c016a654>] kthread+0x84/0x90
[<c016a5d0>] ? __init_kthread_worker+0x60/0x60
[<c063d106>] kernel_thread_helper+0x6/0x10

Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: fix missing sta_lock in __sta_info_destroy
Johannes Berg [Tue, 6 Sep 2011 10:47:39 +0000 (12:47 +0200)]
mac80211: fix missing sta_lock in __sta_info_destroy

Since my commit 34e895075e21be3e21e71d6317440d1ee7969ad0
("mac80211: allow station add/remove to sleep") there is
a race in mac80211 when it clears the TIM bit because a
sleeping station disconnected, the spinlock isn't held
around the relevant code any more. Use the right API to
acquire the spinlock correctly.

Cc: stable@kernel.org [2.6.34+]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Fix problem when switching connections
George [Sat, 3 Sep 2011 15:58:48 +0000 (10:58 -0500)]
rtlwifi: Fix problem when switching connections

The driver fails to clear encryption keys making it impossible
to switch connections.

Signed-off-by: George <george0505@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@kernel.org> [2.6.39+]
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192su: Fix problem connecting to HT-enabled AP
George [Sat, 3 Sep 2011 15:58:47 +0000 (10:58 -0500)]
rtlwifi: rtl8192su: Fix problem connecting to HT-enabled AP

The driver fails to connect to 802.11n-enabled APs. The patch fixes
Bug #42262.

Signed-off-by: George <george0505@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@kernel.org> [2.6.39+]
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMerge branches 'imx-cleanup', 'imx-fixes' and 'imx-features' into master
Uwe Kleine-König [Tue, 13 Sep 2011 09:36:42 +0000 (11:36 +0200)]
Merge branches 'imx-cleanup', 'imx-fixes' and 'imx-features' into master

Conflicts:
arch/arm/mach-imx/Makefile
arch/arm/mach-mx5/Kconfig

13 years agoMerge branch 'cleanups/mm-tzic' into imx-cleanup
Uwe Kleine-König [Tue, 13 Sep 2011 09:22:15 +0000 (11:22 +0200)]
Merge branch 'cleanups/mm-tzic' into imx-cleanup

Conflicts:
arch/arm/mach-mx5/Makefile

13 years agoarm: mx28: check for gated clocks when setting saif divider
Wolfram Sang [Sat, 10 Sep 2011 10:29:43 +0000 (12:29 +0200)]
arm: mx28: check for gated clocks when setting saif divider

Like with all other clocks, the divider for the SAIF devices should not
be altered when the clock is gated. Bail out when this is the case like
the other clocks do.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
13 years agoarm: mx28: fix bit operation in clock setting
Wolfram Sang [Sat, 10 Sep 2011 10:26:07 +0000 (12:26 +0200)]
arm: mx28: fix bit operation in clock setting

reg | (1 << clk->enable_shift) always evaluates to true. Switch it
to & which makes much more sense. Same fix as 13be9f00 (ARM i.MX28: fix
bit operation) at a different location.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
13 years agoARM: mx5/mm: consolidate TZIC map code
Jason Liu [Fri, 9 Sep 2011 09:17:49 +0000 (17:17 +0800)]
ARM: mx5/mm: consolidate TZIC map code

Use a static mapping for TZIC to get rid of the duplicated code for
ioremap and the corresponding error handling. This is already done on
i.MX50.

This patch also removes TZIC mapping for i.mx51 TO1 since
there is no support for TO1 now since the following commit:
9ab4650 (ARM: imx: Get the silicon version from the IIM module)

Signed-off-by: Jason Liu <jason.hui@linaro.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
13 years agoARM: mx5/mm: Remove MX51_DEBUG related mapping
Jason Liu [Fri, 9 Sep 2011 09:17:48 +0000 (17:17 +0800)]
ARM: mx5/mm: Remove MX51_DEBUG related mapping

MX51_DEBUG related mapping is dead code, no-one uses it

Signed-off-by: Jason Liu <jason.hui@linaro.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
13 years agoARM: mx5/mm: move i.MX50 mm stuff into mm.c
Jason Liu [Fri, 9 Sep 2011 09:17:47 +0000 (17:17 +0800)]
ARM: mx5/mm: move i.MX50 mm stuff into mm.c

i.MX50 is similar enough to i.MX51/53 to handle it in a single file.
No functional change.

Signed-off-by: Jason Liu <jason.hui@linaro.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
13 years agoMerge branch 'acpi' of git://github.com/lenb/linux
Linus Torvalds [Tue, 13 Sep 2011 03:39:53 +0000 (20:39 -0700)]
Merge branch 'acpi' of git://github.com/lenb/linux

* 'acpi' of git://github.com/lenb/linux:
  acpica: ACPI_MAX_SLEEP should be 2 sec, not 20
  ACPI APEI: Add Kconfig option IRQ_WORK for GHES
  PNP: update pnp.debug usage (needs value on command line)
  APEI: Fix WHEA _OSC call

13 years agoMerge branch 'upstream/bugfix' of git://github.com/jsgf/linux-xen
Linus Torvalds [Tue, 13 Sep 2011 00:22:31 +0000 (17:22 -0700)]
Merge branch 'upstream/bugfix' of git://github.com/jsgf/linux-xen

* 'upstream/bugfix' of git://github.com/jsgf/linux-xen:
  xen: use non-tracing preempt in xen_clocksource_read()

13 years agoMerge branches 'apei', 'bz-13195' and 'doc' into acpi
Len Brown [Tue, 13 Sep 2011 00:00:00 +0000 (20:00 -0400)]
Merge branches 'apei', 'bz-13195' and 'doc' into acpi

13 years agoLinux 3.1-rc6 v3.1-rc6
Linus Torvalds [Mon, 12 Sep 2011 21:02:02 +0000 (14:02 -0700)]
Linux 3.1-rc6

13 years agoMerge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Linus Torvalds [Mon, 12 Sep 2011 20:49:07 +0000 (13:49 -0700)]
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
  drm: Remove duplicate "return" statement
  drm/nv04/crtc: Bail out if FB is not bound to crtc
  drm/nouveau: fix nv04_sgdma_bind on non-"4kB pages" archs
  drm/nouveau: properly handle allocation failure in nouveau_sgdma_populate
  drm/nouveau: fix oops on pre-semaphore hardware
  drm/nv50/crtc: Bail out if FB is not bound to crtc
  drm/radeon/kms: fix DP detect and EDID fetch for DP bridges

13 years agoMerge branch 'fixes' of git://git.linaro.org/people/arnd/arm-soc
Linus Torvalds [Mon, 12 Sep 2011 18:51:35 +0000 (11:51 -0700)]
Merge branch 'fixes' of git://git.linaro.org/people/arnd/arm-soc

* 'fixes' of git://git.linaro.org/people/arnd/arm-soc:
  ARM: CSR: add missing sentinels to of_device_id tables
  ARM: cns3xxx: Fix newly introduced warnings in the PCIe code
  ARM: cns3xxx: Fix compile error caused by hardware.h removed
  ARM: davinci: fix cache flush build error
  ARM: davinci: correct MDSTAT_STATE_MASK
  ARM: davinci: da850 EVM: read mac address from SPI flash
  OMAP: omap_device: fix !CONFIG_SUSPEND case in _noirq handlers
  OMAP2430: hwmod: musb: add missing terminator to omap2430_usbhsotg_addrs[]
  OMAP3: clock: indicate that gpt12_fck and wdt1_fck are in the WKUP clockdomain
  OMAP4: clock: fix compile warning
  OMAP4: clock: re-enable previous clockdomain enable/disable sequence
  OMAP: clockdomain: Wait for powerdomain to be ON when using clockdomain force wakeup
  OMAP: powerdomains: Make all powerdomain target states as ON at init

13 years agoioctl: register LTTng ioctl
Mathieu Desnoyers [Sun, 11 Sep 2011 21:59:04 +0000 (17:59 -0400)]
ioctl: register LTTng ioctl

The LTTng 2.0 kernel tracer (stand-alone module package, available at
http://lttng.org) uses the 0xF6 ioctl range for tracer control and
transport operations.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'for-linus' of git://github.com/chrismason/linux
Linus Torvalds [Mon, 12 Sep 2011 18:47:49 +0000 (11:47 -0700)]
Merge branch 'for-linus' of git://github.com/chrismason/linux

* 'for-linus' of git://github.com/chrismason/linux:
  Btrfs: add dummy extent if dst offset excceeds file end in
  Btrfs: calc file extent num_bytes correctly in file clone
  btrfs: xattr: fix attribute removal
  Btrfs: fix wrong nbytes information of the inode
  Btrfs: fix the file extent gap when doing direct IO
  Btrfs: fix unclosed transaction handle in btrfs_cont_expand
  Btrfs: fix misuse of trans block rsv
  Btrfs: reset to appropriate block rsv after orphan operations
  Btrfs: skip locking if searching the commit root in csum lookup
  btrfs: fix warning in iput for bad-inode
  Btrfs: fix an oops when deleting snapshots

13 years agofuse: fix memory leak
Miklos Szeredi [Mon, 12 Sep 2011 07:38:03 +0000 (09:38 +0200)]
fuse: fix memory leak

kmemleak is reporting that 32 bytes are being leaked by FUSE:

  unreferenced object 0xe373b270 (size 32):
  comm "fusermount", pid 1207, jiffies 4294707026 (age 2675.187s)
  hex dump (first 32 bytes):
    01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<b05517d7>] kmemleak_alloc+0x27/0x50
    [<b0196435>] kmem_cache_alloc+0xc5/0x180
    [<b02455be>] fuse_alloc_forget+0x1e/0x20
    [<b0245670>] fuse_alloc_inode+0xb0/0xd0
    [<b01b1a8c>] alloc_inode+0x1c/0x80
    [<b01b290f>] iget5_locked+0x8f/0x1a0
    [<b0246022>] fuse_iget+0x72/0x1a0
    [<b02461da>] fuse_get_root_inode+0x8a/0x90
    [<b02465cf>] fuse_fill_super+0x3ef/0x590
    [<b019e56f>] mount_nodev+0x3f/0x90
    [<b0244e95>] fuse_mount+0x15/0x20
    [<b019d1bc>] mount_fs+0x1c/0xc0
    [<b01b5811>] vfs_kern_mount+0x41/0x90
    [<b01b5af9>] do_kern_mount+0x39/0xd0
    [<b01b7585>] do_mount+0x2e5/0x660
    [<b01b7966>] sys_mount+0x66/0xa0

This leak report is consistent and happens once per boot on
3.1.0-rc5-dirty.

This happens if a FORGET request is queued after the fuse device was
released.

Reported-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Tested-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agofuse: fix flock breakage
Miklos Szeredi [Mon, 12 Sep 2011 07:31:49 +0000 (09:31 +0200)]
fuse: fix flock breakage

Commit 37fb3a30b4 ("fuse: fix flock") added in 3.1-rc4 caused flock() to
fail with ENOSYS with the kernel ABI version 7.16 or earlier.

Fix by falling back to testing FUSE_POSIX_LOCKS for ABI versions 7.16
and earlier.

Reported-by: Martin Ziegler <ziegler@email.mathematik.uni-freiburg.de>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Tested-by: Martin Ziegler <ziegler@email.mathematik.uni-freiburg.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'for_3.1/pm-fixes-2' of git://gitorious.org/khilman/linux-omap-pm into...
Arnd Bergmann [Mon, 12 Sep 2011 18:30:22 +0000 (20:30 +0200)]
Merge branch 'for_3.1/pm-fixes-2' of git://gitorious.org/khilman/linux-omap-pm into fixes

13 years agoMerge branches 'fixes' and 'next/devel' into for-next
Arnd Bergmann [Mon, 12 Sep 2011 15:06:58 +0000 (15:06 +0000)]
Merge branches 'fixes' and 'next/devel' into for-next

13 years agoMerge branch 'sirf/devel' into next/devel
Arnd Bergmann [Mon, 12 Sep 2011 15:05:23 +0000 (15:05 +0000)]
Merge branch 'sirf/devel' into next/devel

13 years agoMerge branch 'sirf/fixes' into fixes
Arnd Bergmann [Mon, 12 Sep 2011 14:59:37 +0000 (14:59 +0000)]
Merge branch 'sirf/fixes' into fixes

13 years agoMerge branch 'devel-stable' into for-next
Russell King [Mon, 12 Sep 2011 07:56:38 +0000 (08:56 +0100)]
Merge branch 'devel-stable' into for-next

Conflicts:
arch/arm/mach-imx/mach-cpuimx27.c
arch/arm/mach-msm/board-msm7x30.c
arch/arm/mm/dma-mapping.c

13 years agoMerge branches 'amba', 'fixes', 'gpio', 'io' (early part), 'misc', 'p2v', 'pgt' and...
Russell King [Mon, 12 Sep 2011 07:56:20 +0000 (08:56 +0100)]
Merge branches 'amba', 'fixes', 'gpio', 'io' (early part), 'misc', 'p2v', 'pgt' and 'pm' into for-next

13 years agoARM: 7087/2: mach-integrator: get timer frequency from clock
Linus Walleij [Thu, 8 Sep 2011 20:23:15 +0000 (21:23 +0100)]
ARM: 7087/2: mach-integrator: get timer frequency from clock

We already have a clock definition for the 24MHz clock in
the Integrator, use that instead of some unclear defines
from the platform.h header. Also delete the senseless
comment that the file shouldn't be edited, I just edited it
and the world didn't come to an end, so it's obviously
false. If anyone still has the mentioned ".s file" and the
s2h awk script generating that header, raise your hand
(and give me your files).

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7086/2: mach-integrator: modernize clock event registration
Linus Walleij [Thu, 8 Sep 2011 20:22:32 +0000 (21:22 +0100)]
ARM: 7086/2: mach-integrator: modernize clock event registration

Drop mult, shift and delta calculations and let the
clockevent core scale this as appropriate.

Set the minimum interval to 1 rather than 15 (0xf), there
is nothing in the data sheets I have indicating that 15
should be some minimum value.

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7085/2: mach-integrator: clockevent supports oneshot mode
Linus Walleij [Thu, 8 Sep 2011 20:21:42 +0000 (21:21 +0100)]
ARM: 7085/2: mach-integrator: clockevent supports oneshot mode

The Integrator AP timer has no problem supporting oneshot
ticks with proper code, so let's do it so we can have
NOHZ configured in for this platform too.

Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7084/1: mach-integrator: retire some timer macros
Linus Walleij [Thu, 8 Sep 2011 08:11:40 +0000 (09:11 +0100)]
ARM: 7084/1: mach-integrator: retire some timer macros

These macros are not used by anything since the switch to
generic time in commit b9cedda230793cbf58eb012ddadedd490cc8e129
so let's retire them.

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7078/1: Footbridge: Sort KConfig Options alphabetically
Peter Hüwe [Mon, 5 Sep 2011 20:03:02 +0000 (21:03 +0100)]
ARM: 7078/1: Footbridge: Sort KConfig Options alphabetically

As per request of rmk, the options should be sorted alphabetically.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7026/1: simpad: replace ARM specific LED code
Jochen Friedrich [Thu, 18 Aug 2011 20:51:39 +0000 (21:51 +0100)]
ARM: 7026/1: simpad: replace ARM specific LED code

Remove the legacy ARM LED code for simpad devices and
register a stadard LED platform device using GPIO line
instead.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7025/1: simpad: add GPIO based device definitions.
Jochen Friedrich [Thu, 18 Aug 2011 20:51:06 +0000 (21:51 +0100)]
ARM: 7025/1: simpad: add GPIO based device definitions.

Register keyboard, polled keyboard and I2C platform
devices based on GPIOs.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7024/1: simpad: Cleanup CS3 accessors.
Jochen Friedrich [Thu, 18 Aug 2011 20:50:31 +0000 (21:50 +0100)]
ARM: 7024/1: simpad: Cleanup CS3 accessors.

- prepend CS3 accessors by simpad_ to indicate they
  are specific to simpad devices.
- use spinlock to protect shadow register.
- implement 8 read-only pins.
- use readl/writel macros so barriers are used where
  necessary.
- register CS3 as GPIO controller with 24 pins
  (16 output only and 8 input only).
- fix PCMCIA driver to access the read-only pins
  rather than the shadow register for status bits.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7027/1: simpad: Add ucb1x00 GPIO definitions and register GPIO
Jochen Friedrich [Thu, 18 Aug 2011 20:53:57 +0000 (21:53 +0100)]
ARM: 7027/1: simpad: Add ucb1x00 GPIO definitions and register GPIO

Add ucb1x00 GPIO definitions to simpad.h and add gpio_base
to ucb1x00 platform device so the pins are available using
the GPIO API.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7082/1: platform_device: pdev_archdata: add omap_device pointer
Kevin Hilman [Tue, 6 Sep 2011 20:04:10 +0000 (21:04 +0100)]
ARM: 7082/1: platform_device: pdev_archdata: add omap_device pointer

Add omap_device pointer to the ARM-specific arch data in the
platform_device.  This will be used to attach OMAP-specific
device-data to the platform device with device lifetime.

Suggested-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7017/1: Use generic BUG() handler
Simon Glass [Tue, 16 Aug 2011 22:44:26 +0000 (23:44 +0100)]
ARM: 7017/1: Use generic BUG() handler

ARM uses its own BUG() handler which makes its output slightly different
from other archtectures.

One of the problems is that the ARM implementation doesn't report the function
with the BUG() in it, but always reports the PC being in __bug(). The generic
implementation doesn't have this problem.

Currently we get something like:

kernel BUG at fs/proc/breakme.c:35!
Unable to handle kernel NULL pointer dereference at virtual address 00000000
...
PC is at __bug+0x20/0x2c

With this patch it displays:

kernel BUG at fs/proc/breakme.c:35!
Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP
...
PC is at write_breakme+0xd0/0x1b4

This implementation uses an undefined instruction to implement BUG, and sets up
a bug table containing the relevant information. Many versions of gcc do not
support %c properly for ARM (inserting a # when they shouldn't) so we work
around this using distasteful macro magic.

v1: Initial version to replace existing ARM BUG() implementation with something
more similar to other architectures.

v2: Add Thumb support, remove backtrace whitespace output changes. Change to
use macros instead of requiring the asm %d flag to work (thanks to
Dave Martin <dave.martin@linaro.org>)

v3: Remove old BUG() implementation in favor of this one.
Remove the Backtrace: message (will submit this separately).
Use ARM_EXIT_KEEP() so that some architectures can dump exit text at link time
thanks to Stephen Boyd <sboyd@codeaurora.org> (although since we always
define GENERIC_BUG this might be academic.)
Rebase to linux-2.6.git master.

v4: Allow BUGS in modules (these were not reported correctly in v3)
(thanks to Stephen Boyd <sboyd@codeaurora.org> for suggesting that.)
Remove __bug() as this is no longer needed.

v5: Add %progbits as the section flags.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7073/1: debug: augment DEBUG_LL Kconfig help to clarify behaviour
Will Deacon [Thu, 1 Sep 2011 18:04:44 +0000 (19:04 +0100)]
ARM: 7073/1: debug: augment DEBUG_LL Kconfig help to clarify behaviour

Enabled DEBUG_LL hardcodes the UART address into the kernel and results
in a non-portable kernel image. Since this option is only intended for
use when debugging early boot failures, supporting multiple platforms
in such a configuration is not the intended use-case.

This patch documents this limitation in the DEBUG_LL Kconfig help text,
so that users are aware of the portability restrictions that are associated
with enabling low-level debugging support.

Reported-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7072/1: debug: use kconfig choice for selecting DEBUG_LL UART
Will Deacon [Thu, 1 Sep 2011 17:58:51 +0000 (18:58 +0100)]
ARM: 7072/1: debug: use kconfig choice for selecting DEBUG_LL UART

Enabling CONFIG_DEBUG_LL (which is required for earlyprintk) hardwires
the debug UART address into the kernel, so that we can print before the
platform is initialised.

If the user inadvertently selects multiple platforms with DEBUG_LL
enabled, the UART address may not be correct and will likely cause the
kernel to hang in the very early stages of boot.

This patch, based on a skeleton from Russell, uses a Kconfig choice for
selecting the DEBUG_LL UART, therefore allowing the user to make a
choice about the supported platform when DEBUG_LL is enabled.

Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7068/1: process: change from __backtrace to dump_stack in show_regs
Laura Abbott [Wed, 31 Aug 2011 01:04:06 +0000 (02:04 +0100)]
ARM: 7068/1: process: change from __backtrace to dump_stack in show_regs

Currently, show_regs calls __backtrace which does
nothing if CONFIG_FRAME_POINTER is not set. Switch to
dump_stack which handles both CONFIG_FRAME_POINTER and
CONFIG_ARM_UNWIND correctly.

__backtrace is now superseded by dump_stack in general
and show_regs was the last caller so remove __backtrace
as well.

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: 7064/1: vexpress: Use wfi macro in platform_do_lowpower.
Nick Bowler [Wed, 24 Aug 2011 17:55:37 +0000 (18:55 +0100)]
ARM: 7064/1: vexpress: Use wfi macro in platform_do_lowpower.

Current Versatile Express CPU hotplug code includes a hardcoded WFI
instruction, in ARM encoding.  When the kernel is compiled in Thumb-2
mode, this is invalid and causes the machine to hang hard when a CPU
is offlined.

Using the wfi macro (which uses the appropriate assembler mnemonic)
causes the correct instruction to be emitted in either case.  As a
consequence of this change, an apparently vestigial "cc" clobber is
dropped from the asm (the macro uses "memory" only).

Signed-off-by: Nick Bowler <nbowler@elliptictech.com>
Reviewed-by: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>