safe/jmp/linux-2.6
16 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Mon, 21 May 2007 23:19:32 +0000 (16:19 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
  IB/cm: Improve local id allocation
  IPoIB/cm: Fix SRQ WR leak
  IB/ipoib: Fix typos in error messages
  IB/mlx4: Check if SRQ is full when posting receive
  IB/mlx4: Pass send queue sizes from userspace to kernel
  IB/mlx4: Fix check of opcode in mlx4_ib_post_send()
  mlx4_core: Fix array overrun in dump_dev_cap_flags()
  IB/mlx4: Fix RESET to RESET and RESET to ERROR transitions
  IB/mthca: Fix RESET to ERROR transition
  IB/mlx4: Set GRH:HopLimit when sending globally routed MADs
  IB/mthca: Set GRH:HopLimit when building MLX headers
  IB/mlx4: Fix check of max_qp_dest_rdma in modify QP
  IB/mthca: Fix use-after-free on device restart
  IB/ehca: Return proper error code if register_mr fails
  IPoIB: Handle P_Key table reordering
  IB/core: Use start_port() and end_port()
  IB/core: Add helpers for uncached GID and P_Key searches
  IB/ipath: Fix potential deadlock with multicast spinlocks
  IB/core: Free umem when mm is already gone

16 years agoIB/cm: Improve local id allocation
Michael S. Tsirkin [Mon, 21 May 2007 16:06:54 +0000 (19:06 +0300)]
IB/cm: Improve local id allocation

The IB CM uses an idr for local id allocations, with a running counter
as start_id.  This fails to generate distinct ids if

1. An id is constantly created and destroyed
2. A chunk of ids just beyond the current next_id value is occupied

This in turn leads to an increased chance of connection request being
mis-detected as a duplicate, sometimes for several retries, until
next_id gets past the block of allocated ids. This has been observed
in practice.

As a fix, remember the last id allocated and start immediately above it.
This also fixes a problem with the old code, where next_id might
overflow and become negative.

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Acked-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIPoIB/cm: Fix SRQ WR leak
Michael S. Tsirkin [Mon, 21 May 2007 12:04:59 +0000 (15:04 +0300)]
IPoIB/cm: Fix SRQ WR leak

SRQ WR leakage has been observed with IPoIB/CM: e.g. flipping ports on
and off will, with time, leak out all WRs and then all connections
will start getting RNR NAKs.  Fix this in the way suggested by spec:
move the QP being destroyed to the error state, wait for "Last WQE
Reached" event and then post WR on a "drain QP" connected to the same
CQ.  Once we observe a completion on the drain QP, it's safe to call
ib_destroy_qp.

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/ipoib: Fix typos in error messages
Michael S. Tsirkin [Fri, 18 May 2007 13:12:54 +0000 (16:12 +0300)]
IB/ipoib: Fix typos in error messages

Trivial error message fixups.

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix
Linus Torvalds [Mon, 21 May 2007 19:03:04 +0000 (12:03 -0700)]
Merge git://git./linux/kernel/git/sam/kbuild-fix

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix:
  mm/slab: fix section mismatch warning
  mm: fix section mismatch warnings
  init/main: use __init_refok to fix section mismatch
  kbuild: introduce __init_refok/__initdata_refok to supress section mismatch warnings
  all-archs: consolidate .data section definition in asm-generic
  all-archs: consolidate .text section definition in asm-generic
  kbuild: add "Section mismatch" warning whitelist for powerpc
  kbuild: make better section mismatch reports on i386, arm and mips
  kbuild: make modpost section warnings clearer
  kconfig: search harder for curses library in check-lxdialog.sh
  kbuild: include limits.h in sumversion.c for PATH_MAX
  powerpc: Fix the MODALIAS generation in modpost for of devices

16 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Mon, 21 May 2007 17:01:36 +0000 (10:01 -0700)]
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] More verbose show_mem() like other architectures.
  [S390] Make use of kretprobe_assert.
  [S390] Wire up signald, timerfd and eventfd syscalls.
  [S390] Wire up sys_utimensat.
  [S390] cio: Update documentation.

16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 21 May 2007 17:00:57 +0000 (10:00 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NET]: Fix race condition about network device name allocation.
  [IPV4]: icmp: fix crash with sysctl_icmp_errors_use_inbound_ifaddr
  [NETFILTER]: nf_conntrack_ipv4: fix incorrect #ifdef config name
  [NETFILTER]: nf_conntrack: fix use-after-free in helper destroy callback invocation
  [IPSEC] pfkey: Load specific algorithm in pfkey_add rather than all
  [TCP] FRTO: Prevent state inconsistency in corner cases
  [TCP] FRTO: Add missing ECN CWR sending to one of the responses
  [NET]: Fix net/core/skbuff.c gcc-3.2.3 compilation error
  [RFKILL]: Fix check for correct rfkill allocation
  [IPV6]: Add ip6_tunnel.h to headers_install

16 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 21 May 2007 17:00:22 +0000 (10:00 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm: (22 commits)
  [ARM] spelling fixes
  [ARM] at91_adc parenthesis balance
  [ARM] 4400/1: S3C24XX: Add high-speed MMC device definition
  [ARM] 4399/2: S3C2443: Fix SMDK2443 nand timings
  [ARM] 4398/1: S3C2443: Fix watchdog IRQ number
  [ARM] 4397/1: S3C2443: remove SDI0/1 IRQ ambiguity
  [ARM] 4396/1: S3C2443: Add missing HCLK clocks
  [ARM] 4395/1: S3C24XX: add include of <linux/sysdev.h> to relevant machines
  [ARM] 4388/1: no need for arm/mm mmap range checks for non-mmu
  [ARM] 4387/1: fix /proc/cpuinfo formatting for pre-ARM7 parts
  [ARM] ARMv6: add CPU_HAS_ASID configuration
  [ARM] integrator: fix pci_v3 compile error with DEBUG_LL
  [ARM] gic: Fix gic cascade irq handling
  [ARM] Silence OMAP kernel configuration warning
  [ARM] Update ARM syscalls
  [ARM] 4384/1: S3C2412/13 SPI registers offset correction
  [ARM] 4383/1: iop: fix usage of '__init' and 'inline' in iop files
  [ARM] 4382/1: iop13xx: fix msi support
  [ARM] Remove Integrator/CP SMP platform support
  [ARM] 4378/1: KS8695: Serial driver fix
  ...

16 years agoLDM: Fix for Windows Vista dynamic disks
Anton Altaparmakov [Mon, 21 May 2007 08:37:42 +0000 (09:37 +0100)]
LDM: Fix for Windows Vista dynamic disks

This fixes the LDM driver so that it works with Windows Vista dynamic
disks which are subtly different to Windows 2000/XP ones.

The patch was needed to get a Vista formatted dynamic disk to be
recognized and parsed successfully.

Thanks go to Chris Teachworth for the report and testing.

Cc: Richard Russon <ldm@flatcap.org>
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoi386: fix PGE mask
Brian Gerst [Mon, 21 May 2007 12:31:53 +0000 (14:31 +0200)]
i386: fix PGE mask

cr4 is a 32-bit register, so casting the mask to an unsigned char is wrong,
as it clears more than the PGE bit.

Signed-off-by: Brian Gerst <bgerst@didntduck.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agox86_64: vsyscall time() fix
john stultz [Mon, 21 May 2007 12:31:52 +0000 (14:31 +0200)]
x86_64: vsyscall time() fix

The vsyscall time() function basically returns the second portion of
xtime directly.  This however means that there is about a ticks worth of
time each second where time() will return a second value less then what
gettimeofday() does.

Additionally, this window where vtime() is behind vgettimeofday() grows
when dynticks is enabled, so its probably good to get this in before
dynticks lands.

Big thanks to Sripathi for noticing this issue and creating a test case
to work with!

This patch changes the vtime() implemenation to call vgettimeofday(),
much as syscall time() implementation calls gettimeofday().

2.6.21 stable candidate too

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agox86_64: early_print kernel console should send CRLF not LFCR
Yinghai Lu [Mon, 21 May 2007 12:31:51 +0000 (14:31 +0200)]
x86_64: early_print kernel console should send CRLF not LFCR

In
commit d358788f3f30113e49882187d794832905e42592
Author: Russell King <rmk@dyn-67.arm.linux.org.uk>
Date:   Mon Mar 20 20:00:09 2006 +0000

Glen Turner reported that writing LFCR rather than the more
traditional CRLF causes issues with some terminals.

Since this afflicts many serial drivers, extract the common code to a
library function (uart_console_write) and arrange for each driver to
supply a "putchar" function.

but early_printk is left out.

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoi386: Enable CX8/PGE CPUID bits early on VIA C3
Andi Kleen [Mon, 21 May 2007 12:31:50 +0000 (14:31 +0200)]
i386: Enable CX8/PGE CPUID bits early on VIA C3

Fix boot failures with the early CPUID checking on VIA C3

Includes fixes from Christian Volkmann

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoi386: Fix wrong CPU error message in early boot path
Christian Volkmann [Mon, 21 May 2007 12:31:48 +0000 (14:31 +0200)]
i386: Fix wrong CPU error message in early boot path

- boot/setup.S did not print "PANIC: CPU too old for this kernel"
  ( not visible, also the message did not match )
- I add "# missed before: set ds"
  => somebody should check if I am right with the way to set.
  => seems to be a generic error in setup.S not to set "ds" for error messages.

AK: extracted patch out of other changes
AK: also couldn't find any other case where ds is wrong
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoi386: Clear MCE flag on AMD K6
Andi Kleen [Mon, 21 May 2007 12:31:47 +0000 (14:31 +0200)]
i386: Clear MCE flag on AMD K6

It reports machine check capability in CPUID, but doesn't actually
implement all the necessary MSRs of the standard Intel machine
check architecture.

This fixes a boot failure on K6s recently introduced.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agox86_64: Support gcc 5 properly
Andi Kleen [Mon, 21 May 2007 12:31:46 +0000 (14:31 +0200)]
x86_64: Support gcc 5 properly

The ifdef tests were broken.  Assume it acts like gcc 4

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoi386: Fix K8/core2 oprofile on multiple CPUs
Andi Kleen [Mon, 21 May 2007 12:31:45 +0000 (14:31 +0200)]
i386: Fix K8/core2 oprofile on multiple CPUs

Only try to allocate MSRs once instead of for every CPU.

This assumes the MSRs are the same on all CPUs which is currently
true. P4-HT is a special case for different SMT threads, but the code
always saves/restores all MSRs so it works identical.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agox86_64: Support x86_64 in make buildtar
Andi Kleen [Mon, 21 May 2007 12:31:44 +0000 (14:31 +0200)]
x86_64: Support x86_64 in make buildtar

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoi386: Update defconfig
Andi Kleen [Mon, 21 May 2007 12:31:43 +0000 (14:31 +0200)]
i386: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agox86_64: Update defconfig
Andi Kleen [Mon, 21 May 2007 12:31:42 +0000 (14:31 +0200)]
x86_64: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin SPI: cleanup according to David Brownell's review
Bryan Wu [Mon, 21 May 2007 10:32:16 +0000 (18:32 +0800)]
Blackfin SPI: cleanup according to David Brownell's review

a) platorm_driver_probe(...) instead of platform_driver_register(&driver);
b) set bfin_spi_enable and bfin_spi_disable static
c) Why is the width flag a u32?
d) maybe use dev_dbg() instead of pr_debug()

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin serial driver: implement support for ignoring parity/break errors
Mike Frysinger [Mon, 21 May 2007 10:09:39 +0000 (18:09 +0800)]
Blackfin serial driver: implement support for ignoring parity/break errors

properly setting up and respecting the read_status_mask / ignore_status_mask fields of the serial core

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin serial driver: fix overhead issue
Aubrey Li [Mon, 21 May 2007 10:09:38 +0000 (18:09 +0800)]
Blackfin serial driver: fix overhead issue

Signed-off-by: Aubrey Li <aubrey.li@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: update pm.c according to power management API change.
Bryan Wu [Mon, 21 May 2007 10:09:37 +0000 (18:09 +0800)]
Blackfin arch: update pm.c according to power management API change.

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: update defconfig files
Bryan Wu [Mon, 21 May 2007 10:09:36 +0000 (18:09 +0800)]
Blackfin arch: update defconfig files

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: add board default configs to blackfin arch
Mike Frysinger [Mon, 21 May 2007 10:09:35 +0000 (18:09 +0800)]
Blackfin arch: add board default configs to blackfin arch

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: Change NO_ACCESS_CHECK to ACCESS_CHECK
Sonic Zhang [Mon, 21 May 2007 10:09:34 +0000 (18:09 +0800)]
Blackfin arch: Change NO_ACCESS_CHECK to ACCESS_CHECK

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: fix signal handling bug
Bernd Schmidt [Mon, 21 May 2007 10:09:33 +0000 (18:09 +0800)]
Blackfin arch: fix signal handling bug

There's a forum thread at
https://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?action=ForumBrowse&_forum_action=MessageReply&message_id=24741

which has a testcase involving signal handling that crashes quite readily.
Inspecting the code I believe what happens is that signal handling can become
confused when it is invoked on return from an interrupt, if the contents of
P0 and R0 at the time of the interrupt happen to be such that P0 is larger
than zero (indicating to the signal code that we're in a syscall), and R0
happens to have a value of something like -EINTR or -ERESTARTSYS.
Fixed by setting orig_p0 to -1 if we're returning from an interrupt.  The
testcase now seems to run without problems.

Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: cache SWRST value at bootup so other things like watchdog can non...
Mike Frysinger [Mon, 21 May 2007 10:09:32 +0000 (18:09 +0800)]
Blackfin arch: cache SWRST value at bootup so other things like watchdog can non-destructively query it

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: update blackfin header files to latest one in VDSP.
Bryan Wu [Mon, 21 May 2007 10:09:31 +0000 (18:09 +0800)]
Blackfin arch: update blackfin header files to latest one in VDSP.

a) add new processor BF52x/BF54x header files
b) update blackfin BF533/BF537/BF561 header files to latest one in VDSP.
c) scrub watchdog/rtc masks from headers as we dont need/want them (too generic and the drivers dont use them)

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Roy Huang <roy.huang@analog.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: make sure we use local labels
Mike Frysinger [Mon, 21 May 2007 10:09:30 +0000 (18:09 +0800)]
Blackfin arch: make sure we use local labels

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: dont clear the bit that tells coreb to start booting
Mike Frysinger [Mon, 21 May 2007 10:09:29 +0000 (18:09 +0800)]
Blackfin arch: dont clear the bit that tells coreb to start booting

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: dma_memcpy borken for > 64K
Aubrey Li [Mon, 21 May 2007 10:09:28 +0000 (18:09 +0800)]
Blackfin arch: dma_memcpy borken for > 64K

Signed-off-by: Aubrey Li <aubrey.li@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: document why we have to touch the UART peripheral in our boot up code
Mike Frysinger [Mon, 21 May 2007 10:09:27 +0000 (18:09 +0800)]
Blackfin arch: document why we have to touch the UART peripheral in our boot up code

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: issue reset via SWRST so we dont clobber the watchdog state
Mike Frysinger [Mon, 21 May 2007 10:09:26 +0000 (18:09 +0800)]
Blackfin arch: issue reset via SWRST so we dont clobber the watchdog state

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: move board specific setup out of common init code and into the board...
Mike Frysinger [Mon, 21 May 2007 10:09:25 +0000 (18:09 +0800)]
Blackfin arch: move board specific setup out of common init code and into the board specific init code

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: finish removing p* volatile defines for MMRs
Mike Frysinger [Mon, 21 May 2007 10:09:24 +0000 (18:09 +0800)]
Blackfin arch: finish removing p* volatile defines for MMRs

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: dont clear status register bits in SWRST so we can actually use it
Mike Frysinger [Mon, 21 May 2007 10:09:23 +0000 (18:09 +0800)]
Blackfin arch: dont clear status register bits in SWRST so we can actually use it

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: make sure we declare the revid functions as pure (since they are)
Mike Frysinger [Mon, 21 May 2007 10:09:22 +0000 (18:09 +0800)]
Blackfin arch: make sure we declare the revid functions as pure (since they are)

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: initial tepla-bf561 board support
Mike Frysinger [Mon, 21 May 2007 10:09:21 +0000 (18:09 +0800)]
Blackfin arch: initial tepla-bf561 board support

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: Fix bug using usb keyboard crashes kernel
Michael Hennerich [Mon, 21 May 2007 10:09:20 +0000 (18:09 +0800)]
Blackfin arch: Fix bug using usb keyboard crashes kernel

Without conswitchp preset, we have the following situation:

 - During initcalls: con_init is called, and returns because of
   !display_desc.

 - At this point there is no memory allocated for vc_cons[].d
   A bit later vty_init calls kbd_init.

 - From now on events are passed to kbd_event which will then call
   kbd_keycode.

 - kbd_keycode will oops on a NULL pointer dereference on vc->vc_tty

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
[ Added commit description based on email thread. - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: fix trace output for FLAT binaries
Mike Frysinger [Mon, 21 May 2007 10:09:19 +0000 (18:09 +0800)]
Blackfin arch: fix trace output for FLAT binaries

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: GPIO fix some defines
Michael Hennerich [Mon, 21 May 2007 10:09:18 +0000 (18:09 +0800)]
Blackfin arch: GPIO fix some defines

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: DMA operation cleanup
Michael Hennerich [Mon, 21 May 2007 10:09:17 +0000 (18:09 +0800)]
Blackfin arch: DMA operation cleanup

1) Disable Interrupts during DMA memcpy to avoid raise conditions.
2) Mark MDMA channel 0 as reserved, since were using it internally.
3) Add DMA based equivalents for insX and outsX.
4) Our insX and outsX only handles len <= 2^16.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: Move write to VR_CTL closer to IDLE
Michael Hennerich [Mon, 21 May 2007 10:09:16 +0000 (18:09 +0800)]
Blackfin arch: Move write to VR_CTL closer to IDLE

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: Fix reserved map after we changed PORT_H definition
Michael Hennerich [Mon, 21 May 2007 10:09:15 +0000 (18:09 +0800)]
Blackfin arch: Fix reserved map after we changed PORT_H definition

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: mark a bunch of local functions as static
Mike Frysinger [Mon, 21 May 2007 10:09:14 +0000 (18:09 +0800)]
Blackfin arch: mark a bunch of local functions as static

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: Add configuration data for ISP176x on BF561
Michael Hennerich [Mon, 21 May 2007 10:09:13 +0000 (18:09 +0800)]
Blackfin arch: Add configuration data for ISP176x on BF561

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: fix a few random warnings
Mike Frysinger [Mon, 21 May 2007 10:09:12 +0000 (18:09 +0800)]
Blackfin arch: fix a few random warnings

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: ISP1761 doesn't work for USB flash disk
Aubrey Li [Mon, 21 May 2007 10:09:11 +0000 (18:09 +0800)]
Blackfin arch: ISP1761 doesn't work for USB flash disk

ZONE_DMA is required for some drivers subsystem, such as USB/SCSI.

Signed-off-by: Aubrey Li <aubrey.li@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: add SPI MMC driver support on bf533-stamp, tested on STAMP-BF533
Bryan Wu [Mon, 21 May 2007 10:09:10 +0000 (18:09 +0800)]
Blackfin arch: add SPI MMC driver support on bf533-stamp, tested on STAMP-BF533

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoBlackfin arch: Add Workaround for ANOMALY 05000257
Michael Hennerich [Mon, 21 May 2007 10:09:09 +0000 (18:09 +0800)]
Blackfin arch: Add Workaround for ANOMALY 05000257

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoDetach sched.h from mm.h
Alexey Dobriyan [Sun, 20 May 2007 21:22:52 +0000 (01:22 +0400)]
Detach sched.h from mm.h

First thing mm.h does is including sched.h solely for can_do_mlock() inline
function which has "current" dereference inside. By dealing with can_do_mlock()
mm.h can be detached from sched.h which is good. See below, why.

This patch
a) removes unconditional inclusion of sched.h from mm.h
b) makes can_do_mlock() normal function in mm/mlock.c
c) exports can_do_mlock() to not break compilation
d) adds sched.h inclusions back to files that were getting it indirectly.
e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
   getting them indirectly

Net result is:
a) mm.h users would get less code to open, read, preprocess, parse, ... if
   they don't need sched.h
b) sched.h stops being dependency for significant number of files:
   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
   after patch it's only 3744 (-8.3%).

Cross-compile tested on

all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
alpha alpha-up
arm
i386 i386-up i386-defconfig i386-allnoconfig
ia64 ia64-up
m68k
mips
parisc parisc-up
powerpc powerpc-up
s390 s390-up
sparc sparc-up
sparc64 sparc64-up
um-x86_64
x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig

as well as my two usual configs.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoFix "fs: convert core functions to zero_user_page"
OGAWA Hirofumi [Sun, 20 May 2007 14:39:40 +0000 (23:39 +0900)]
Fix "fs: convert core functions to zero_user_page"

The bug was introduced by 01f2705daf5a36208e69d7cf95db9c330f843af6.
It misses to convert the first argument, it should be "new_page".

This became a cause of fatfs corruption.

Cc: Nate Diller <nate.diller@gmail.com>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Mon, 21 May 2007 16:00:25 +0000 (09:00 -0700)]
Merge /pub/scm/linux/kernel/git/herbert/crypto-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] api: Read module pointer before freeing algorithm

16 years ago[S390] More verbose show_mem() like other architectures.
Heiko Carstens [Mon, 21 May 2007 09:25:23 +0000 (11:25 +0200)]
[S390] More verbose show_mem() like other architectures.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] Make use of kretprobe_assert.
Heiko Carstens [Mon, 21 May 2007 09:25:22 +0000 (11:25 +0200)]
[S390] Make use of kretprobe_assert.

s390 change for git commit 0f95b7fc839bc3272b1bf2325d8748a649bd3534.
That is print kprobes debug data before BUG().

Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Maneesh Soni <maneesh@in.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] Wire up signald, timerfd and eventfd syscalls.
Heiko Carstens [Mon, 21 May 2007 09:25:21 +0000 (11:25 +0200)]
[S390] Wire up signald, timerfd and eventfd syscalls.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] Wire up sys_utimensat.
Heiko Carstens [Mon, 21 May 2007 09:25:20 +0000 (11:25 +0200)]
[S390] Wire up sys_utimensat.

Wire up sys_utimensat, reserve syscall number for sys_fallocate and
add a couple of syscalls to the ignore list to get rid of warings.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] cio: Update documentation.
Cornelia Huck [Mon, 21 May 2007 09:25:19 +0000 (11:25 +0200)]
[S390] cio: Update documentation.

- read_dev_chars()/read_conf_data() are deprecated. Don't document them, but
  advise to issue the channel program from the driver itself.
- Remove some really obsolete and incorrect stuff.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years agoIB/mlx4: Check if SRQ is full when posting receive
Roland Dreier [Mon, 21 May 2007 03:19:24 +0000 (20:19 -0700)]
IB/mlx4: Check if SRQ is full when posting receive

Make mlx4_post_srq_recv() fail if the SRQ is full (head == tail).

Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years ago[ARM] spelling fixes
Simon Arlott [Fri, 11 May 2007 19:40:30 +0000 (20:40 +0100)]
[ARM] spelling fixes

Spelling fixes in arch/arm/.

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] at91_adc parenthesis balance
Mariusz Kozlowski [Fri, 18 May 2007 22:39:36 +0000 (00:39 +0200)]
[ARM] at91_adc parenthesis balance

Trivial unbalanced parenthesis macro fix.

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4400/1: S3C24XX: Add high-speed MMC device definition
Ben Dooks [Sun, 20 May 2007 17:13:32 +0000 (18:13 +0100)]
[ARM] 4400/1: S3C24XX: Add high-speed MMC device definition

Add definition for high-speed MMC/SD device and add to SMDK2443
device list.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4399/2: S3C2443: Fix SMDK2443 nand timings
Ben Dooks [Sun, 20 May 2007 18:58:10 +0000 (19:58 +0100)]
[ARM] 4399/2: S3C2443: Fix SMDK2443 nand timings

Reduce the Twrph0 timing slightly to fit on an SMDK2443. This
should still produce valid timings for the NAND devices as it
is still over the smallest device fitted to these boards.

Signed-off-by: Ben Dooks <(address hidden)>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4398/1: S3C2443: Fix watchdog IRQ number
Ben Dooks [Sun, 20 May 2007 17:02:50 +0000 (18:02 +0100)]
[ARM] 4398/1: S3C2443: Fix watchdog IRQ number

Fix the IRQ number for watchdog on S3C2443

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4397/1: S3C2443: remove SDI0/1 IRQ ambiguity
Ben Dooks [Sun, 20 May 2007 16:32:39 +0000 (17:32 +0100)]
[ARM] 4397/1: S3C2443: remove SDI0/1 IRQ ambiguity

Change the name of the S3C2443_SDI1 to S3C2443_HSMMC to ensure
that it is correctly identified.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4396/1: S3C2443: Add missing HCLK clocks
Ben Dooks [Sun, 20 May 2007 16:17:32 +0000 (17:17 +0100)]
[ARM] 4396/1: S3C2443: Add missing HCLK clocks

Add the clocks missing form HCLKCON back into the set of
clocks being registered at initalisation time.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4395/1: S3C24XX: add include of <linux/sysdev.h> to relevant machines
Ben Dooks [Sun, 20 May 2007 10:55:53 +0000 (11:55 +0100)]
[ARM] 4395/1: S3C24XX: add include of <linux/sysdev.h> to relevant machines

Include <linux/sysdev.h> in any machines that use the PM functions
which require struct sys_device.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4388/1: no need for arm/mm mmap range checks for non-mmu
Greg Ungerer [Thu, 17 May 2007 05:22:41 +0000 (06:22 +0100)]
[ARM] 4388/1: no need for arm/mm mmap range checks for non-mmu

We don't need valid_phys_addr_range() or valid_mmap_phys_addr_range()
for the !CONFIG_MMU case.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4387/1: fix /proc/cpuinfo formatting for pre-ARM7 parts
Greg Ungerer [Thu, 17 May 2007 05:12:22 +0000 (06:12 +0100)]
[ARM] 4387/1: fix /proc/cpuinfo formatting for pre-ARM7 parts

Fix the formating of the "CPU part" field to be consistent with
the other fields for pre-ARM7 parts. One tab to many for them to
all line up.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agoIB/mlx4: Pass send queue sizes from userspace to kernel
Eli Cohen [Thu, 17 May 2007 07:32:41 +0000 (10:32 +0300)]
IB/mlx4: Pass send queue sizes from userspace to kernel

Pass the number of WQEs for the send queue and their size from userspace
to the kernel to avoid having to keep the QP size calculations in sync
between the kernel driver and libmlx4.  This fixes a bug seen with the
current mlx4_ib driver and current libmlx4 caused by a difference in the
calculated sizes for SQ WQEs.  Also, this gives more flexibility for
userspace to experiment with using multiple WQE BBs for a single SQ WQE.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years ago[NET]: Fix race condition about network device name allocation.
Stephen Hemminger [Sat, 19 May 2007 22:39:25 +0000 (15:39 -0700)]
[NET]: Fix race condition about network device name allocation.

Kenji Kaneshige found this race between device removal and
registration.  On unregister it is possible for the old device to
exist, because sysfs file is still open.  A new device with 'eth%d'
will select the same name, but sysfs kobject register will fial.

The following changes the shutdown order slightly. It hold a removes
the sysfs entries earlier (on unregister_netdevice), but holds a
kobject reference.  Then when todo runs the actual last put free
happens.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV4]: icmp: fix crash with sysctl_icmp_errors_use_inbound_ifaddr
Patrick McHardy [Sat, 19 May 2007 21:44:15 +0000 (14:44 -0700)]
[IPV4]: icmp: fix crash with sysctl_icmp_errors_use_inbound_ifaddr

When icmp_send is called on the local output path before the
packet hits ip_output, skb->dev is not set, causing a crash
when sysctl_icmp_errors_use_inbound_ifaddr is set. This can
happen with the netfilter REJECT target or IPsec tunnels.

Let routing decide the ICMP source address in that case, since the
packet is locally generated there is no inbound interface and
the sysctl should not apply.

The option actually seems to be unfixable broken, on the path
after ip_output() skb->dev points to the outgoing device and
we don't know the incoming device anymore, so its going to do
the absolute wrong thing and pick the address of the outgoing
interface. Add a comment about this.

Reported by Curtis Doty <Curtis@GreenKey.net>.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_ipv4: fix incorrect #ifdef config name
Patrick McHardy [Sat, 19 May 2007 21:24:16 +0000 (14:24 -0700)]
[NETFILTER]: nf_conntrack_ipv4: fix incorrect #ifdef config name

The option is named CONFIG_NF_NAT not CONFIG_IP_NF_NAT. Remove the ifdef
completely since helpers also expect defragmented packet even without
NAT.

Noticed by Robert P. J. Day <rpjday@mindspring.com>

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack: fix use-after-free in helper destroy callback invocation
Patrick McHardy [Sat, 19 May 2007 21:23:52 +0000 (14:23 -0700)]
[NETFILTER]: nf_conntrack: fix use-after-free in helper destroy callback invocation

When the helper module is removed for a master connection that has a
fulfilled expectation, but has already timed out and got removed from
the hash tables, nf_conntrack_helper_unregister can't find the master
connection to unset the helper, causing a use-after-free when the
expected connection is destroyed and releases the last reference to
the master.

The helper destroy callback was introduced for the PPtP helper to clean
up expectations and expected connections when the master connection
times out, but doing this from destroy_conntrack only works for
unfulfilled expectations since expected connections hold a reference
to the master, preventing its destruction. Move the destroy callback to
the timeout function, which fixes both problems.

Reported/tested by Gabor Burjan <buga@buvoshetes.hu>.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPSEC] pfkey: Load specific algorithm in pfkey_add rather than all
Herbert Xu [Sat, 19 May 2007 21:21:18 +0000 (14:21 -0700)]
[IPSEC] pfkey: Load specific algorithm in pfkey_add rather than all

This is a natural extension of the changeset

    [XFRM]: Probe selected algorithm only.

which only removed the probe call for xfrm_user.  This patch does exactly
the same thing for af_key.  In other words, we load the algorithm requested
by the user rather than everything when adding xfrm states in af_key.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TCP] FRTO: Prevent state inconsistency in corner cases
Ilpo Järvinen [Sat, 19 May 2007 20:56:57 +0000 (13:56 -0700)]
[TCP] FRTO: Prevent state inconsistency in corner cases

State could become inconsistent in two cases:

1) Userspace disabled FRTO by tuning sysctl when one of the TCP
   flows was in the middle of FRTO algorithm (and then RTO is
   again triggered)

2) SACK reneging occurs during FRTO algorithm

A simple solution is just to abort the previous FRTO when such
obscure condition occurs...

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TCP] FRTO: Add missing ECN CWR sending to one of the responses
Ilpo Järvinen [Sat, 19 May 2007 20:56:23 +0000 (13:56 -0700)]
[TCP] FRTO: Add missing ECN CWR sending to one of the responses

The conservative spurious RTO response did not queue CWR even
though the sending rate was lowered. Whenever reduction happens
regardless of reason, CWR should be sent (forgetting to send it
is not very fatal though).

A better approach would be to queue CWR when one of the sending
rate reducing responses (rate-halving one or this conservative
response) is used already at RTO. Doing that would allow CWR to
be sent along with the two new data segments that are sent
during FRTO. However, it's a bit "racy" because userland could
tune the response sysctl to a more aggressive one in between.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Fix net/core/skbuff.c gcc-3.2.3 compilation error
Mikael Pettersson [Sat, 19 May 2007 20:55:25 +0000 (13:55 -0700)]
[NET]: Fix net/core/skbuff.c gcc-3.2.3 compilation error

Compiling 2.6.22-rc1 with gcc-3.2.3 for i486 fails with:

  gcc -m32 -Wp,-MD,net/core/.skbuff.o.d  -nostdinc -isystem /home/mikpe/pkgs/linux-x86/gnu/lib/gcc-lib/i486-pc-linux-gnu/3.2.3/include -D__KERNEL__ -Iinclude  -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -O2 -pipe -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=4  -march=i486 -ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1  -Iinclude/asm-i386/mach-default -fomit-frame-pointer       -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(skbuff)"  -D"KBUILD_MODNAME=KBUILD_STR(skbuff)" -c -o net/core/skbuff.o net/core/skbuff.c
net/core/skbuff.c:648:1: directives may not be used inside a macro argument
net/core/skbuff.c:647:39: unterminated argument list invoking macro "memcpy"
net/core/skbuff.c: In function `pskb_expand_head':
net/core/skbuff.c:651: `memcpy' undeclared (first use in this function)
net/core/skbuff.c:651: (Each undeclared identifier is reported only once
net/core/skbuff.c:651: for each function it appears in.)
net/core/skbuff.c:651: syntax error before "skb"
make[2]: *** [net/core/skbuff.o] Error 1
make[1]: *** [net/core] Error 2
make: *** [net] Error 2

The patch below implements a simple workaround which is to
clone the offending memcpy() call and specialise it for the
two different scenarios.

Other workarounds are of course possible: e.g. bind the varying
parameter in a local variable, or use a macro or inline function
to perform the varying computation.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[RFKILL]: Fix check for correct rfkill allocation
Ivo van Doorn [Sat, 19 May 2007 19:24:39 +0000 (12:24 -0700)]
[RFKILL]: Fix check for correct rfkill allocation

coverity has spotted a bug in rfkill.c (bug id #1627),
in rfkill_allocate() NULL was returns if the kzalloc() works,
and deref the NULL pointer if it fails,

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6]: Add ip6_tunnel.h to headers_install
Deepak Saxena [Sat, 19 May 2007 19:00:11 +0000 (12:00 -0700)]
[IPV6]: Add ip6_tunnel.h to headers_install

The Mobile IPv6 package (http://www.mobile-ipv6.org/software/) needs
this header file to build the tunnelctl component. The header
already looks sanitized so is safe to export.

Signed-off-by: Deepak Saxena <dsaxena@mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoIB/mlx4: Fix check of opcode in mlx4_ib_post_send()
Roland Dreier [Sat, 19 May 2007 15:51:58 +0000 (08:51 -0700)]
IB/mlx4: Fix check of opcode in mlx4_ib_post_send()

wr->opcode is invalid if it's >= ARRAY_SIZE(mlx4_ib_opcode), not just
strictly >.

This was spotted by the Coverity checker (CID 1643).

Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agomlx4_core: Fix array overrun in dump_dev_cap_flags()
Roland Dreier [Sat, 19 May 2007 15:51:57 +0000 (08:51 -0700)]
mlx4_core: Fix array overrun in dump_dev_cap_flags()

Don't overrun fname[] array when decoding device flags.

This was spotted by the Coverity checker (CID 1642).

Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/mlx4: Fix RESET to RESET and RESET to ERROR transitions
Michael S. Tsirkin [Mon, 14 May 2007 04:26:51 +0000 (07:26 +0300)]
IB/mlx4: Fix RESET to RESET and RESET to ERROR transitions

According to the IB spec, a QP can be moved from RESET back to RESET
or to the ERROR state, but mlx4 firmware does not support this and
returns an error if we try.  Fix the RESET to RESET transition by
just returning 0 without doing anything, and fix RESET to ERROR by
moving the QP from RESET to INIT with dummy parameters and then
transitioning from INIT to ERROR.

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/mthca: Fix RESET to ERROR transition
Michael S. Tsirkin [Mon, 14 May 2007 04:26:51 +0000 (07:26 +0300)]
IB/mthca: Fix RESET to ERROR transition

According to the IB spec, a QP can be moved from RESET to the ERROR
state, but mthca firmware does not support this and returns an error if
we try.  Work around this FW limitation by moving the QP from RESET to
INIT with dummy parameters and then transitioning from INIT to ERROR.

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/mlx4: Set GRH:HopLimit when sending globally routed MADs
Roland Dreier [Sat, 19 May 2007 15:51:57 +0000 (08:51 -0700)]
IB/mlx4: Set GRH:HopLimit when sending globally routed MADs

This is the same issue discovered in mthca by Rolf Manderscheid
<rvm@obsidianresearch.com>.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/mthca: Set GRH:HopLimit when building MLX headers
Rolf Manderscheid [Thu, 17 May 2007 15:45:48 +0000 (09:45 -0600)]
IB/mthca: Set GRH:HopLimit when building MLX headers

Global CM packets used by rmda_cm were being sent with a GRH:hopLimit
of zero, causing them to be dropped by the router.  The problem is a
missing initialization of the hop_limit field in mthca_read_ah(),
which was called by build_mlx_header() when sending a MAD on QP1.

Signed-off-by: Rolf Manderscheid <rvm@obsidianresearch.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/mlx4: Fix check of max_qp_dest_rdma in modify QP
Eli Cohen [Thu, 17 May 2007 13:32:39 +0000 (16:32 +0300)]
IB/mlx4: Fix check of max_qp_dest_rdma in modify QP

max_qp_dest_rdma is already in natural units - no need to shift.  This
was discovered by a test that deliberately requests more outstanding
atomic operation than the device supports.

Found by Sagi Rotem at Mellanox.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/mthca: Fix use-after-free on device restart
Ali Ayoub [Thu, 17 May 2007 17:58:30 +0000 (20:58 +0300)]
IB/mthca: Fix use-after-free on device restart

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/ehca: Return proper error code if register_mr fails
Hoang-Nam Nguyen [Wed, 16 May 2007 12:50:55 +0000 (14:50 +0200)]
IB/ehca: Return proper error code if register_mr fails

Set the return code of ehca_register_mr() to ENOMEM if the corresponding
firmware call fails due to out of resources.  Some other error codes
were explicitly mapped to EINVAL -- just remove those cases so they
get mapped to the default case, which already returns EINVAL anyway.

Signed-off-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIPoIB: Handle P_Key table reordering
Yosef Etigin [Sat, 19 May 2007 15:51:54 +0000 (08:51 -0700)]
IPoIB: Handle P_Key table reordering

SM reconfiguration or failover possibly causes a shuffling of the values
in the P_Key table. Right now, IPoIB only queries for the P_Key index
once when it creates the device QP, and hence there are problems if the
index of a P_Key value changes.  Fix this by using the PKEY_CHANGE event
to trigger a recheck of the P_Key index.

Signed-off-by: Yosef Etigin <yosefe@voltaire.com>
Acked-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/core: Use start_port() and end_port()
Roland Dreier [Sat, 19 May 2007 15:51:54 +0000 (08:51 -0700)]
IB/core: Use start_port() and end_port()

Clean up ib_query_port() and ib_modify_port() slightly by using the
just-added start_port() and end_port() helpers.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/core: Add helpers for uncached GID and P_Key searches
Yosef Etigin [Mon, 14 May 2007 04:26:51 +0000 (07:26 +0300)]
IB/core: Add helpers for uncached GID and P_Key searches

Add ib_find_gid() and ib_find_pkey() functions that use uncached device
queries.  The calls might block but the returns are always up-to-date.
Cache P_Key and GID table lengths in core to avoid extra port info queries.

Signed-off-by: Yosef Etigin <yosefe@voltaire.com>
Acked-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/ipath: Fix potential deadlock with multicast spinlocks
Roland Dreier [Sat, 19 May 2007 15:51:53 +0000 (08:51 -0700)]
IB/ipath: Fix potential deadlock with multicast spinlocks

Lockdep found the following potential deadlock between mcast_lock and
n_mcast_grps_lock: mcast_lock is taken from both interrupt context and
process context, so spin_lock_irqsave() must be used to take it.
n_mcast_grps_lock is only taken from process context, so at first it
seems safe to take it with plain spin_lock(); however, it also nests
inside mcast_lock, and hence we could deadlock:

  cpu A                                   cpu B
    ipath_mcast_add():
      spin_lock_irq(&mcast_lock);

                                            ipath_mcast_detach():
                                              spin_lock(&n_mcast_grps_lock);

                                            <enter interrupt>

                                            ipath_mcast_find():
                                              spin_lock_irqsave(&mcast_lock);

      spin_lock(&n_mcast_grps_lock);

Fix this by using spin_lock_irq() to take n_mcast_grps_lock.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/core: Free umem when mm is already gone
Eli Cohen [Mon, 14 May 2007 08:35:43 +0000 (11:35 +0300)]
IB/core: Free umem when mm is already gone

Free umem when task's mm is already destroyed by the time
ib_umem_release gets called.

Found by Dotan Barak at Mellanox.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agomm/slab: fix section mismatch warning
Sam Ravnborg [Thu, 17 May 2007 21:48:19 +0000 (23:48 +0200)]
mm/slab: fix section mismatch warning

Use the new __init_refok marker to avoid the
section mismatch warning from slab.c

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agomm: fix section mismatch warnings
Sam Ravnborg [Thu, 17 May 2007 21:29:25 +0000 (23:29 +0200)]
mm: fix section mismatch warnings

modpost had two cases hardcoded for mm/
Shift over to __init_refok and kill the
hardcoded function names in modpost.

This has the drawback that the functions
will always be kept no matter configuration.
With previous code the function were placed in
init section if configuration allowed it.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agoinit/main: use __init_refok to fix section mismatch
Sam Ravnborg [Thu, 17 May 2007 18:43:54 +0000 (20:43 +0200)]
init/main: use __init_refok to fix section mismatch

Kill a special case in modpost by introducing the
__init_refok marker.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agokbuild: introduce __init_refok/__initdata_refok to supress section mismatch warnings
Sam Ravnborg [Thu, 17 May 2007 18:14:48 +0000 (20:14 +0200)]
kbuild: introduce __init_refok/__initdata_refok to supress section mismatch warnings

Throughout the kernel there are a few legitimite references
to init or exit sections. Most of these are covered by the
patterns included in modpost but a few nees special attention.
To avoid hardcoding a lot of function names in modpost introduce
a marker so relevant function/data can be marked.
When modpost see a reference to a init/exit function from
a function/data marked no warning will be issued.

Idea from: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Andrew Morton <akpm@linux-foundation.org>