GitHub/LineageOS/android_kernel_motorola_exynos9610.git
19 years ago[ARM] 3006/1: S3C2410 - arch/arm/mach-s3c2410 sparse fixes
Ben Dooks [Thu, 13 Oct 2005 15:46:35 +0000 (16:46 +0100)]
[ARM] 3006/1: S3C2410 - arch/arm/mach-s3c2410 sparse fixes

Patch from Ben Dooks

Remove an unused variable from s3c2410.c and
ensure that items not needed to be exported from
s3c2440.c are declared static.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3005/1: S3C2440 - add definition for s3c2440_set_dsc() call in hardware.h
Ben Dooks [Thu, 13 Oct 2005 15:46:35 +0000 (16:46 +0100)]
[ARM] 3005/1: S3C2440 - add definition for s3c2440_set_dsc() call in hardware.h

Patch from Ben Dooks

include/asm-arm/arch-s3c2410/hardware.h was missing
the definition for s3c2440_set_dsc()

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3003/1: SSP channel map register updates for pxa2xx
Liam Girdwood [Wed, 12 Oct 2005 18:58:12 +0000 (19:58 +0100)]
[ARM] 3003/1: SSP channel map register updates for pxa2xx

Patch from Liam Girdwood

This patch updates the pxa2xx channel map registers definitions in
pxa-regs.h

Changes:-
  o Added description for SSP2 registers
  o Added definitions for SSP3 registers

Signed-off-by:Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3002/1: Wrong parameter to uart_update_timeout() in drivers/serial/pxa.c
Lothar Wassmann [Wed, 12 Oct 2005 18:58:11 +0000 (19:58 +0100)]
[ARM] 3002/1: Wrong parameter to uart_update_timeout() in drivers/serial/pxa.c

Patch from Lothar Wassmann

The function serial_pxa_set_termios() is calling uart_update_timeout()
with the baud rate divisor as third parameter, while
uart_update_timeout() expects the baud rate in this place.
This results in a bogus port->timeout which is proportional to the
baud rate.

Signed-off-by: Lothar Wassmann <LW@KARO-electronics.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2978/1: nwfpe - clean up sparse errors
Ben Dooks [Wed, 12 Oct 2005 18:58:10 +0000 (19:58 +0100)]
[ARM] 2978/1: nwfpe - clean up sparse errors

Patch from Ben Dooks

The NWFPE is producing a number of errors from sparse
due to not defining a number of functions in the
header files.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2969/1: miscellaneous whitespace cleanup
George G. Davis [Wed, 12 Oct 2005 18:58:10 +0000 (19:58 +0100)]
[ARM] 2969/1: miscellaneous whitespace cleanup

Patch from George G. Davis

Fix leading, trailing and other miscellaneous whitespace issues
in arch/arm/kernel/alignment.c.

Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2970/1: Use -mtune=arm1136j-s when building for CPU_V6 targets
George G. Davis [Wed, 12 Oct 2005 18:58:09 +0000 (19:58 +0100)]
[ARM] 2970/1: Use -mtune=arm1136j-s when building for CPU_V6 targets

Patch from George G. Davis

When building for CPU_V6 targets, we should use -mtune=arm1136j-s rather
than -mtune=strongarm but fall back to the later in case someone is
using an older toolchain (although they should really upgrade instead).

Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2971/1: i.MX uart handle rts irq
Sascha Hauer [Wed, 12 Oct 2005 18:58:08 +0000 (19:58 +0100)]
[ARM] 2971/1: i.MX uart handle rts irq

Patch from Sascha Hauer

handle rts interrupt

Signed-off-by: Giancarlo Formicuccia <giancarlo.formicuccia@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2979/2: S3C2410 - add static to non-exported machine items
Ben Dooks [Wed, 12 Oct 2005 18:58:07 +0000 (19:58 +0100)]
[ARM] 2979/2: S3C2410 - add static to non-exported machine items

Patch from Ben Dooks

Do not export items that are not needed by symbol name
elsewhere

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2977/1: armksyms.c - make items in export table static
Ben Dooks [Wed, 12 Oct 2005 18:58:07 +0000 (19:58 +0100)]
[ARM] 2977/1: armksyms.c - make items in export table static

Patch from Ben Dooks

The items in the export table do not need to be
exported elsehwere, so quash the sparse warning
by making the symbol for the table entry static.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2976/1: S3C2410: add static to functions in serial driver
Ben Dooks [Wed, 12 Oct 2005 18:58:06 +0000 (19:58 +0100)]
[ARM] 2976/1: S3C2410: add static to functions in serial driver

Patch from Ben Dooks

The s3c2410 serial driver is missing static declerations
on several functions that are not exported, and have no
need of being exported outside the driver

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2975/1: S3C2410: time.c missing include of cpu.h
Ben Dooks [Wed, 12 Oct 2005 18:58:05 +0000 (19:58 +0100)]
[ARM] 2975/1: S3C2410: time.c missing include of cpu.h

Patch from Ben Dooks

arch/arm/mach-s3c2410/time.c is missing include
of cpu.h, causing the declaration of the timer
struct (s3c24xx_timer) to be flagged as missing
the declaration.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2974/1: fix ARM710 swi bug workaround
Nicolas Pitre [Wed, 12 Oct 2005 18:51:24 +0000 (19:51 +0100)]
[ARM] 2974/1: fix ARM710 swi bug workaround

Patch from Nicolas Pitre

Either no one is using an ARM710 with recent kernels, or all ARM710s
still in use are not afflicted by this swi bug.  Nevertheless, the code
to work around the ARM710 swi bug is itself currently buggy since it
uses r8 as a pointer to S_PC while in fact it holds the spsr content
these days. Fix that, and simplify the code as well.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Tue, 11 Oct 2005 23:39:24 +0000 (16:39 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

19 years ago[SPARC64]: Fix net booting on Ultra5
David S. Miller [Tue, 11 Oct 2005 22:45:16 +0000 (15:45 -0700)]
[SPARC64]: Fix net booting on Ultra5

We were not doing alignment properly when remapping the kernel image.

What we want is a 4MB aligned physical address to map at KERNBASE.
Mistakedly we were 4MB aligning the virtual address where the kernel
initially sits, that's wrong.

Instead, we should PAGE align the virtual address, then 4MB align the
physical address result the prom gives to us.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] Don't map the same page too much
Hugh Dickins [Tue, 11 Oct 2005 18:16:26 +0000 (19:16 +0100)]
[PATCH] Don't map the same page too much

Refuse to install a page into a mapping if the mapping count is already
ridiculously large.

You probably cannot trigger this on 32-bit architectures, but on a
64-bit setup we should protect against it.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Add R_PPC64_TOC16 module reloc
Peter Bergner [Tue, 11 Oct 2005 16:28:24 +0000 (09:28 -0700)]
[PATCH] ppc64: Add R_PPC64_TOC16 module reloc

Newer gcc's are generating this relocation, so the module loader needs to
handle it.

Signed-off-by: Peter Bergner <bergner@vnet.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] V4L: Enable s-video input on DViCO FusionHDTV5 Lite
Michael Krufky [Tue, 11 Oct 2005 16:28:24 +0000 (09:28 -0700)]
[PATCH] V4L: Enable s-video input on DViCO FusionHDTV5 Lite

* bttv-cards.c:
- Enable S-Video input on DViCO FusionHDTV5 Lite

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r: trap handler code for illegal traps
Hirokazu Takata [Tue, 11 Oct 2005 15:29:09 +0000 (08:29 -0700)]
[PATCH] m32r: trap handler code for illegal traps

This patch prevents illegal traps from causing m32r kernel's infinite loop
execution.

Signed-off-by: Naoto Sugai <sugai@isl.melco.co.jp>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] binfmt_elf bss padding fix
akpm@osdl.org [Tue, 11 Oct 2005 15:29:08 +0000 (08:29 -0700)]
[PATCH] binfmt_elf bss padding fix

Nir Tzachar <tzachar@cs.bgu.ac.il> points out that if an ELF file specifies a
zero-length bss at a whacky address, we cannot load that binary because
padzero() tries to zero out the end of the page at the whacky address, and
that may not be writeable.

See also http://bugzilla.kernel.org/show_bug.cgi?id=5411

So teach load_elf_binary() to skip the bss settng altogether if the elf file
has a zero-length bss segment.

Cc: Roland McGrath <roland@redhat.com>
Cc: Daniel Jacobowitz <dan@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc highmem fix
Paolo Galtieri [Tue, 11 Oct 2005 15:29:07 +0000 (08:29 -0700)]
[PATCH] ppc highmem fix

I've noticed that the calculations for seg_size and nr_segs in
__dma_sync_page_highmem() (arch/ppc/kernel/dma-mapping.c) are wrong.  The
incorrect calculations can result in either an oops or a panic when running
fsck depending on the size of the partition.

The problem with the seg_size calculation is that it can result in a
negative number if size is offset > size.  The problem with the nr_segs
caculation is returns the wrong number of segments, e.g.  it returns 1 when
size is 200 and offset is 4095, when it should return 2 or more.

Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] madvise: Avoid returning error code -EBADF for anonymous mappings
Suzuki [Tue, 11 Oct 2005 15:29:06 +0000 (08:29 -0700)]
[PATCH] madvise: Avoid returning error code -EBADF for anonymous mappings

Revert this recent correctness change: Douglas Crosher <dcrosher@scieneer.com>
reported that it broke an existing application, and that madvise() works
without error on anonymous mappings on Solaris.

This means that madvise() will remain non-standards-compliant: we should
return -EBADF for all requests against non-file-backed vma's, but Linux only
does this for MADV_WILLNEED requests.

Signed-off-by: Suzuki K P <suzuki@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] nfsacl: Solaris VxFS compatibility fix
Andreas Gruenbacher [Tue, 11 Oct 2005 15:29:05 +0000 (08:29 -0700)]
[PATCH] nfsacl: Solaris VxFS compatibility fix

Here is a compatibility fix between Linux and Solaris when used with VxFS
filesystems: Solaris usually accepts acl entries in any order, but with
VxFS it replies with NFSERR_INVAL when it sees a four-entry acl that is not
in canonical form.  It may also fail with other non-canonical acls -- I
can't tell, because that case never triggers: We only send non-canonical
acls when we fake up an ACL_MASK entry.

Instead of adding fake ACL_MASK entries at the end, inserting them in the
correct position makes Solaris+VxFS happy.  The Linux client and server
sides don't care about entry order.  The three-entry-acl special case in
which we need a fake ACL_MASK entry was handled in xdr_nfsace_encode.  The
patch moves this into nfsacl_encode.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Acked-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] v9fs: remove additional buffer allocation from v9fs_file_read and v9fs_file_write
Latchesar Ionkov [Tue, 11 Oct 2005 15:29:03 +0000 (08:29 -0700)]
[PATCH] v9fs: remove additional buffer allocation from v9fs_file_read and v9fs_file_write

v9fs_file_read and v9fs_file_write use kmalloc to allocate buffers as big
as the data buffer received as parameter.  kmalloc cannot be used to
allocate buffers bigger than 128K, so reading/writing data in chunks bigger
than 128k fails.

This patch reorganizes v9fs_file_read and v9fs_file_write to allocate only
buffers as big as the maximum data that can be sent in one 9P message.

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] dell_rbu: changes in packet update mechanism
Abhay Salunke [Tue, 11 Oct 2005 15:29:02 +0000 (08:29 -0700)]
[PATCH] dell_rbu: changes in packet update mechanism

In the current dell_rbu code ver 2.0 the packet update mechanism makes the
user app dump every individual packet in to the driver.

This adds in efficiency as every packet update makes the
/sys/class/firmware/dell_rbu/loading and data files to disappear and reappear
again.  Thus the user app needs to wait for the files to reappear to dump
another packet.  This slows down the packet update tremendously in case of
large number of packets.  I am submitting a new patch for dell_rbu which will
change the way we do packet updates;

In the new method the user app will create a new single file which has already
packetized the rbu image and all the packets are now staged in this file.

This driver also creates a new entry in
/sys/devices/platform/dell_rbu/packet_size ; the user needs to echo the packet
size here before downloading the packet file.

The user should do the following:

 create one single file which has all the packets stacked together.
 echo the packet size in to /sys/devices/platform/dell_rbu/packet_size.
 echo 1 > /sys/class/firmware/dell_rbu/loading
 cat the packetfile > /sys/class/firmware/dell_rbu/data
 echo 0 > /sys/class/firmware/dell_rbu/loading

The driver takes the file which came through /sys/class/firmware/dell_rbu/data
and takes chunks of paket_size data from it and place in contiguous memory.

This makes packet update process very efficient and fast.  As all the packet
update happens in one single operation.  The user can still read back the
downloaded file from /sys/devices/platform/dell_rbu/data.

Signed-off-by: Abhay Salunke <abhay_salunke@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Fix PCI hotplug
Anton Blanchard [Tue, 11 Oct 2005 15:29:00 +0000 (08:29 -0700)]
[PATCH] ppc64: Fix PCI hotplug

pSeries_irq_bus_setup is marked __devinit but references s7a_workaround
which is marked __initdata.

Depending on who got the memory for s7a_workaround (and if the value was
now positive), it was possible for PCI hotplugged devices to have 3
subtracted from their interrupt number.  This would happen randomly and
caused me much confusion :)

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: ccw device reconnect oops.
Cornelia Huck [Tue, 11 Oct 2005 15:28:59 +0000 (08:28 -0700)]
[PATCH] s390: ccw device reconnect oops.

Search for a disconnect ccw_device on the ccw bus rather than on the css
bus (was a typo in patch I did for the klist conversion).  A cast to an
embedding ccw_device from an embedded device in a struct subchannel will
lead us to oopses.

Signed-off-by: Cornelia Huck <cohuck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SPARC32]: Revert IOMAP change eb98129eec7fa605f0407dfd92d40ee8ddf5cd9a
David S. Miller [Tue, 11 Oct 2005 04:02:26 +0000 (21:02 -0700)]
[SPARC32]: Revert IOMAP change eb98129eec7fa605f0407dfd92d40ee8ddf5cd9a

Breakage noted by Al Viro.

It breaks non-PCI builds, it's probably better to have a more
direct implementation on sparc32, and which driver actually
needs this is still questionable.

We can resolve this in 2.6.15

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Fix oops on runlevel change with serial console.
David S. Miller [Tue, 11 Oct 2005 03:43:22 +0000 (20:43 -0700)]
[SPARC64]: Fix oops on runlevel change with serial console.

Incorrect uart_write_wakeup() calls cause reference to a
NULL tty pointer in sunsab and sunzilog serial drivers.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoLinux v2.6.14-rc4
Linus Torvalds [Tue, 11 Oct 2005 01:19:19 +0000 (18:19 -0700)]
Linux v2.6.14-rc4

19 years ago[PATCH] i386: Don't discard upper 32bits of HWCR on K8
Andi Kleen [Mon, 10 Oct 2005 23:28:33 +0000 (01:28 +0200)]
[PATCH] i386: Don't discard upper 32bits of HWCR on K8

Need to use long long, not long when RMWing a MSR. I think
it's harmless right now, but still should be better fixed
if AMD adds any bits in the upper 32bit of HWCR.

Bug was introduced with the TLB flush filter fix for i386

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Allocate cpu local data for all possible CPUs
Andi Kleen [Mon, 10 Oct 2005 20:32:45 +0000 (22:32 +0200)]
[PATCH] x86_64: Allocate cpu local data for all possible CPUs

CPU hotplug fills up the possible map to NR_CPUs, but it did that after
setting up per CPU data. This lead to CPU data not getting allocated
for all possible CPUs, which lead to various side effects.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Mon, 10 Oct 2005 23:32:32 +0000 (16:32 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

19 years agoUse the new "kill_proc_info_as_uid()" for USB disconnect too
Linus Torvalds [Mon, 10 Oct 2005 23:31:30 +0000 (16:31 -0700)]
Use the new "kill_proc_info_as_uid()" for USB disconnect too

All the same issues - we can't just save the pointer to the thread, we
must save the pid/uid/euid combination.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix signal sending in usbdevio on async URB completion
Harald Welte [Mon, 10 Oct 2005 17:44:29 +0000 (19:44 +0200)]
[PATCH] Fix signal sending in usbdevio on async URB completion

If a process issues an URB from userspace and (starts to) terminate
before the URB comes back, we run into the issue described above.  This
is because the urb saves a pointer to "current" when it is posted to the
device, but there's no guarantee that this pointer is still valid
afterwards.

In fact, there are three separate issues:

1) the pointer to "current" can become invalid, since the task could be
   completely gone when the URB completion comes back from the device.

2) Even if the saved task pointer is still pointing to a valid task_struct,
   task_struct->sighand could have gone meanwhile.

3) Even if the process is perfectly fine, permissions may have changed,
   and we can no longer send it a signal.

So what we do instead, is to save the PID and uid's of the process, and
introduce a new kill_proc_info_as_uid() function.

Signed-off-by: Harald Welte <laforge@gnumonks.org>
[ Fixed up types and added symbol exports ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SPARC64]: Fix Ultra5, Ultra60, et al. boot failures.
David S. Miller [Mon, 10 Oct 2005 23:12:13 +0000 (16:12 -0700)]
[SPARC64]: Fix Ultra5, Ultra60, et al. boot failures.

On the boot processor, we need to do the move onto the Linux trap
table a little bit differently else we'll take unhandlable faults in
the firmware address space.

Previously we would do the following:

1) Disable PSTATE_IE in %pstate.
2) Set %tba by hand to sparc64_ttable_tl0
3) Initialize alternate, mmu, and interrupt global
   trap registers.
4) Call prom_set_traptable()

That doesn't work very well actually with the way we boot the kernel
VM these days.  It worked by luck on many systems because the firmware
accesses for the prom_set_traptable() call happened to be loaded into
the TLB already, something we cannot assume.

So the new scheme is this:

1) Clear PSTATE_IE in %pstate and set %pil to 15
2) Call prom_set_traptable()
3) Initialize alternate, mmu, and interrupt global
   trap registers.

and this works quite well.  This sequence has been moved into a
callable function in assembler named setup-trap_table().  The idea is
that eventually trampoline.S can use this code as well.  That isn't
possible currently due to some complications, but eventually we should
be able to do it.

Thanks to Meelis Roos for the Ultra5 boot failure report.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] x86_64: Fix change_page_attr cache flushing
Andi Kleen [Mon, 10 Oct 2005 23:03:39 +0000 (01:03 +0200)]
[PATCH] x86_64: Fix change_page_attr cache flushing

Noticed by Terence Ripperda

Undo wrong change in global_flush_tlb. We need to flush the caches in all
cases, not just when pages were reverted. This was a bogus optimization
added earlier, but it was wrong.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-ucb
Linus Torvalds [Mon, 10 Oct 2005 17:39:26 +0000 (10:39 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-ucb

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 10 Oct 2005 17:39:14 +0000 (10:39 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[ARM] 2968/1: defconfig for the ARM Collie platform
Vincent Sanders [Mon, 10 Oct 2005 17:24:09 +0000 (18:24 +0100)]
[ARM] 2968/1: defconfig for the ARM Collie platform

Patch from Vincent Sanders

Add a defconfig for the ARM Collie platform

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Vincent Sanders <vince@arm.linux.org.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2967/1: defconfig for the ARM Corgi platform
Vincent Sanders [Mon, 10 Oct 2005 17:24:08 +0000 (18:24 +0100)]
[ARM] 2967/1: defconfig for the ARM Corgi platform

Patch from Vincent Sanders

Add a defconfig for the ARM Corgi Zarus platform

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Vincent Sanders <vince@arm.linux.org.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2966/1: defconfig for the ARM Poodle platform
Vincent Sanders [Mon, 10 Oct 2005 17:24:07 +0000 (18:24 +0100)]
[ARM] 2966/1: defconfig for the ARM Poodle platform

Patch from Vincent Sanders

Add a defconfig for the ARM Poodle Zarus platform

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Vincent Sanders <vince@arm.linux.org.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2965/1: defconfig for the ARM Spitz platform
Vincent Sanders [Mon, 10 Oct 2005 17:24:06 +0000 (18:24 +0100)]
[ARM] 2965/1: defconfig for the ARM Spitz platform

Patch from Vincent Sanders

Add a defconfig for the ARM Spitz Zarus platform

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Vincent Sanders <vince@arm.linux.org.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2956/1: fix the "Fix gcc4 build errors in ucb1x00-core.c"
Nicolas Pitre [Mon, 10 Oct 2005 17:22:17 +0000 (18:22 +0100)]
[ARM] 2956/1: fix the "Fix gcc4 build errors in ucb1x00-core.c"

Patch from Nicolas Pitre

drivers/mfd/ucb1x00-core.c: In function 'ucb1x00_probe':
drivers/mfd/ucb1x00-core.c:482: error: 'ucb1x00_class' undeclared (first use in this function)

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] i386: fix stack alignment for signal handlers
Markus F.X.J. Oberhumer [Sun, 9 Oct 2005 16:54:23 +0000 (18:54 +0200)]
[PATCH] i386: fix stack alignment for signal handlers

This fixes the setup of the alignment of the signal frame, so that all
signal handlers are run with a properly aligned stack frame.

The current code "over-aligns" the stack pointer so that the stack frame
is effectively always mis-aligned by 4 bytes.  But what we really want
is that on function entry ((sp + 4) & 15) == 0, which matches what would
happen if the stack were aligned before a "call" instruction.

Signed-off-by: Markus F.X.J. Oberhumer <markus@oberhumer.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ide: Workaround PM problem
Benjamin Herrenschmidt [Sun, 9 Oct 2005 00:37:47 +0000 (10:37 +1000)]
[PATCH] ide: Workaround PM problem

The logic in ide_do_request() doesn't guarantee that both drives will be
serviced after a call.  It may "forget" to service one in some
circumstances, including when one of the drive is suspended (it will
eventually fail to service the slave when the master is suspended for
example).  This prevents the wakeup requests that gets queued on wakeup
from sleep from beeing serviced in some cases when 2 drives are sharing
an IDE bus.

The problem is deep enough in the way this code works (and there are
probably a few other problematic but rare corner cases) and fixing it
would require some major rethinking of the way IDE decides which channel
to service.  This is not 2.6.14 material.  However, in the meantime,
Bart has accepted this simple workaround that will fix the crash on
wakeup from sleep since this specific corner case is actually hitting
users to get into 2.6.14.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] relayfs: fix bogus param value in call to vmap
Tom Zanussi [Sun, 9 Oct 2005 15:41:32 +0000 (10:41 -0500)]
[PATCH] relayfs: fix bogus param value in call to vmap

The third param in this call to vmap shouldn't be GFP_KERNEL, which
makes no sense, but rather VM_MAP.  Thanks to Al Viro for spotting
this.

Signed-off-by: Tom Zanussi <zanussi@us.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 10 Oct 2005 15:38:52 +0000 (08:38 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] uml: fix x86_64 with !CONFIG_FRAME_POINTER
Jeff Dike [Sun, 9 Oct 2005 20:11:44 +0000 (16:11 -0400)]
[PATCH] uml: fix x86_64 with !CONFIG_FRAME_POINTER

UML/x86_64 doesn't run when built with frame pointers disabled.  There
was an implicit frame pointer assumption in the stub segfault handler.
With frame pointers disabled, UML dies on handling its first page fault.

The container-of part of this is from Paolo Giarrusso <blaisorblade@yahoo.it>.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Set up safe page tables during resume
Rafael J. Wysocki [Sun, 9 Oct 2005 19:19:40 +0000 (21:19 +0200)]
[PATCH] x86_64: Set up safe page tables during resume

The following patch makes swsusp avoid the possible temporary corruption
of page translation tables during resume on x86-64.  This is achieved by
creating a copy of the relevant page tables that will not be modified by
swsusp and can be safely used by it on resume.

The problem is that during resume on x86-64 swsusp may temporarily
corrupt the page tables used for the direct mapping of RAM.  If that
happens, a page fault occurs and cannot be handled properly, which leads
to the solid hang of the affected system.  This leads to the loss of the
system's state from before suspend and may result in the loss of data or
the corruption of filesystems, so it is a serious issue.  Also, it
appears to happen quite often (for me, as often as 50% of the time).

The problem is related to the fact that (at least) one of the PMD
entries used in the direct memory mapping (starting at PAGE_OFFSET)
points to a page table the physical address of which is much greater
than the physical address of the PMD entry itself.  Moreover,
unfortunately, the physical address of the page table before suspend
(i.e.  the one stored in the suspend image) happens to be different to
the physical address of the corresponding page table used during resume
(i.e.  the one that is valid right before swsusp_arch_resume() in
arch/x86_64/kernel/suspend_asm.S is executed).  Thus while the image is
restored, the "offending" PMD entry gets overwritten, so it does not
point to the right physical address any more (i.e.  there's no page
table at the address pointed to by it, because it points to the address
the page table has been at during suspend).  Consequently, if the PMD
entry is used later on, and it _is_ used in the process of copying the
image pages, a page fault occurs, but it cannot be handled in the normal
way and the system hangs.

In principle we can call create_resume_mapping() from
swsusp_arch_resume() (ie.  from suspend_asm.S), but then the memory
allocations in create_resume_mapping(), resume_pud_mapping(), and
resume_pmd_mapping() must be made carefully so that we use _only_
NosaveFree pages in them (the other pages are overwritten by the loop in
swsusp_arch_resume()).  Additionally, we are in atomic context at that
time, so we cannot use GFP_KERNEL.  Moreover, if one of the allocations
fails, we should free all of the allocated pages, so we need to trace
them somehow.

All of this is done in the appended patch, except that the functions
populating the page tables are located in arch/x86_64/kernel/suspend.c
rather than in init.c.  It may be done in a more elegan way in the
future, with the help of some swsusp patches that are in the works now.

[AK: move some externs into headers, renamed a function]

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: cleanup whitespace for COW driver
Paolo 'Blaisorblade' Giarrusso [Sun, 9 Oct 2005 19:37:53 +0000 (21:37 +0200)]
[PATCH] uml: cleanup whitespace for COW driver

Fix whitespace - I split this off the previous patch for easier review.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: cleanup byte order macros for COW driver
Paolo 'Blaisorblade' Giarrusso [Sun, 9 Oct 2005 19:37:45 +0000 (21:37 +0200)]
[PATCH] uml: cleanup byte order macros for COW driver

After restoring the existing code, make it work also when included in
kernelspace code (which isn't currently the case, but at least this will prevent
people from "fixing" it as just happened).
Whitespace is fixed in next patch - it cluttered the diff too much.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: restore include breakage, breaking binary format of COW driver
Paolo 'Blaisorblade' Giarrusso [Sun, 9 Oct 2005 19:37:35 +0000 (21:37 +0200)]
[PATCH] uml: restore include breakage, breaking binary format of COW driver

Commit 44456d37b59d8e541936ed26d8b6e08d27e88ac1, between 2.6.13-rc3 and -rc4,
was a "nice cleanup" which broke something. Revert the offending part.

It broke because:
a) because this part doesn't fall under the description
b) the author didn't know what he was doing here
c) the author didn't try to compile the existing code and see that it worked
   perfectly.
d) the author didn't ask us what was happening
e) you didn't either, and somebody there should have learned that UML is a bit
   different.

In fact, UML is special in linking to host libc and using its includes.

In particular, since host includes always define both __BIG_ENDIAN and
__LITTLE_ENDIAN, ntohll() macros started thinking to be in a big-endian world;
and on-disk compatibility was broken.

Many thanks go to Nix for reporting the problem and correctly diagnosing an
endianness problem.

Btw, this patch restores the previous code, which worked; but the definitions
would be uncorrect if used in kernelspace files.

Next patch addresses that.

Cc: Nix <nix@esperi.org.uk>, Olaf Hering <olh@suse.de>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: allow building .s/.i/.lst files from userspace files
Paolo 'Blaisorblade' Giarrusso [Sun, 9 Oct 2005 19:37:26 +0000 (21:37 +0200)]
[PATCH] uml: allow building .s/.i/.lst files from userspace files

For files which need to include glibc headers (i.e. userspace files), we
specified the correct flags only for .o, not for .s/.lst/.i. Fix this.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: add mode=skas0 as a synonym of skas0
Paolo 'Blaisorblade' Giarrusso [Sun, 9 Oct 2005 19:37:18 +0000 (21:37 +0200)]
[PATCH] uml: add mode=skas0 as a synonym of skas0

Too many people were confused by skas0 and tried using "mode=skas0". And after
all, they are right - accept this.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Uml: hide commands when not being verbose
Paolo 'Blaisorblade' Giarrusso [Sun, 9 Oct 2005 19:37:05 +0000 (21:37 +0200)]
[PATCH] Uml: hide commands when not being verbose

Add a missing $(Q) to a "ln" invocation.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pcmcia: fix task state at pccard thread exit
Steven Rostedt [Mon, 10 Oct 2005 15:13:17 +0000 (11:13 -0400)]
[PATCH] pcmcia: fix task state at pccard thread exit

The pccardd thread has a race in it that it can shutdown in the
TASK_INTERRUPTIBLE state.

Make sure we mark ourselves runnable again as we remove ourselves from
the wait queue.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ARM] 2964/1: S3C2410 - serial: add .owner to driver
Ben Dooks [Mon, 10 Oct 2005 09:20:07 +0000 (10:20 +0100)]
[ARM] 2964/1: S3C2410 - serial: add .owner to driver

Patch from Ben Dooks

Initialise the driver's .owner field so that
the device driver can be referenced to the
module that owns it

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2963/1: S3C2410 - add .owner field to device_driver
Ben Dooks [Mon, 10 Oct 2005 09:20:06 +0000 (10:20 +0100)]
[ARM] 2963/1: S3C2410 - add .owner field to device_driver

Patch from Ben Dooks

Add initialisation of .owner field so that
the device driver can be referenced to the
module that owns it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2962/1: scoop: Allow GPIO pin suspend state to be specified
Richard Purdie [Mon, 10 Oct 2005 09:20:06 +0000 (10:20 +0100)]
[ARM] 2962/1: scoop: Allow GPIO pin suspend state to be specified

Patch from Richard Purdie

Allow the GPIO pin suspend states to be specified for SCOOP devices.
This is needed for correct operation on the spitz platform.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2961/1: corgi: Add missing include
Richard Purdie [Mon, 10 Oct 2005 09:17:45 +0000 (10:17 +0100)]
[ARM] 2961/1: corgi: Add missing include

Patch from Richard Purdie

Add a missing include from corgi.c

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2960/1: collie: Add missing scoop call parameters
Richard Purdie [Mon, 10 Oct 2005 09:17:44 +0000 (10:17 +0100)]
[ARM] 2960/1: collie: Add missing scoop call parameters

Patch from Richard Purdie

Add some missing parameters from the scoop calls on collie.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2959/1: Add test for invalid LDRD/STRD Rd cases in ARM alignment handler
George G. Davis [Mon, 10 Oct 2005 09:17:44 +0000 (10:17 +0100)]
[ARM] 2959/1: Add test for invalid LDRD/STRD Rd cases in ARM alignment handler

Patch from George G. Davis

Add test for invalid LDRD/STRD Rd cases in ARM alignment handler
and restore SWP printk KERN_ERR.

Signed-off-by: Steve Longerbeam <slongerbeam@mvista.com>
Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2958/1: fix definition in imx-regs.h
Sascha Hauer [Mon, 10 Oct 2005 09:17:43 +0000 (10:17 +0100)]
[ARM] 2958/1: fix definition in imx-regs.h

Patch from Sascha Hauer

Fix PD7_AF_UART2_DTR definition

Signed-off-by: Giancarlo Formicuccia <gformicuccia@atinno.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2957/1: imx UART Error handling
Sascha Hauer [Mon, 10 Oct 2005 09:17:42 +0000 (10:17 +0100)]
[ARM] 2957/1: imx UART Error handling

Patch from Sascha Hauer

Fix error path in imx_startup.

Signed-off-by: Giancarlo Formicuccia <gformicuccia@atinno.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Update mach-types
Russell King [Mon, 10 Oct 2005 08:48:10 +0000 (09:48 +0100)]
[ARM] Update mach-types

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[SPARC64]: Fix compile error in irq.c
Sven Hartge [Sun, 9 Oct 2005 04:12:04 +0000 (21:12 -0700)]
[SPARC64]: Fix compile error in irq.c

irq.c is missing the inclusion of asm/io.h, which causes
readb() and writeb() the be undefined.

Signed-off-by: Sven Hartge <hartge@ds9.argh.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] gfp flags annotations - part 1
Al Viro [Fri, 7 Oct 2005 06:46:04 +0000 (07:46 +0100)]
[PATCH] gfp flags annotations - part 1

 - added typedef unsigned int __nocast gfp_t;

 - replaced __nocast uses for gfp flags with gfp_t - it gives exactly
   the same warnings as far as sparse is concerned, doesn't change
   generated code (from gcc point of view we replaced unsigned int with
   typedef) and documents what's going on far better.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] scsi_ioctl: only warn for rejected commands
Jens Axboe [Fri, 7 Oct 2005 17:41:34 +0000 (19:41 +0200)]
[PATCH] scsi_ioctl: only warn for rejected commands

We should not be warning about commands that we allow, even if they are
unknown. So move the if-root-allow check up a notch.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
Linus Torvalds [Sat, 8 Oct 2005 21:59:13 +0000 (14:59 -0700)]
Merge /pub/scm/linux/kernel/git/perex/alsa

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Sat, 8 Oct 2005 21:58:25 +0000 (14:58 -0700)]
Merge /linux/kernel/git/wim/linux-2.6-watchdog

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Sat, 8 Oct 2005 21:57:46 +0000 (14:57 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Sat, 8 Oct 2005 21:57:20 +0000 (14:57 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

19 years ago[PATCH] Keys: Possessor permissions should be additive
David Howells [Fri, 7 Oct 2005 15:41:24 +0000 (16:41 +0100)]
[PATCH] Keys: Possessor permissions should be additive

This patch makes the possessor permissions on a key additive with
user/group/other permissions on the same key.

This permits extra rights to be granted to the possessor of a key without
taking away any rights conferred by them owning the key or having common group
membership.

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Keys: Split key permissions checking into a .c file
David Howells [Fri, 7 Oct 2005 14:07:38 +0000 (15:07 +0100)]
[PATCH] Keys: Split key permissions checking into a .c file

The attached patch splits key permissions checking out of key-ui.h and
moves it into a .c file.  It's quite large and called quite a lot, and
it's about to get bigger with the addition of LSM support for keys...

key_any_permission() is also discarded as it's no longer used.

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Keys: Add request-key process documentation
David Howells [Fri, 7 Oct 2005 14:04:52 +0000 (15:04 +0100)]
[PATCH] Keys: Add request-key process documentation

The attached patch adds documentation for the process by which request-key
works, including how it permits helper processes to gain access to the
requestor's keyrings.

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] key: plug request_key_auth memleak
David Howells [Fri, 7 Oct 2005 14:01:09 +0000 (15:01 +0100)]
[PATCH] key: plug request_key_auth memleak

Plug request_key_auth memleak.  This can be triggered by unprivileged
users, so is local DoS.

Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] yenta: fix build if YENTA && !CARDBUS
David Vrabel [Fri, 7 Oct 2005 13:43:22 +0000 (14:43 +0100)]
[PATCH] yenta: fix build if YENTA && !CARDBUS

(struct pcmcia_socket).tune_bridge only exists if CONFIG_CARDBUS is set
but building yenta_socket without CardBus is valid.

Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix do_coredump() vs SIGSTOP race
Oleg Nesterov [Fri, 7 Oct 2005 13:46:19 +0000 (17:46 +0400)]
[PATCH] fix do_coredump() vs SIGSTOP race

Let's suppose we have 2 threads in thread group:
A - does coredump
B - has pending SIGSTOP

thread A thread B

do_coredump: get_signal_to_deliver:

  lock(->sighand)
  ->signal->flags = SIGNAL_GROUP_EXIT
  unlock(->sighand)

lock(->sighand)
signr = dequeue_signal()
->signal->flags |= SIGNAL_STOP_DEQUEUED
return SIGSTOP;

do_signal_stop:
    unlock(->sighand)

  coredump_wait:

      zap_threads:
          lock(tasklist_lock)
          send SIGKILL to B
              // signal_wake_up() does nothing
          unlock(tasklist_lock)

    lock(tasklist_lock)
    lock(->sighand)
    re-check sig->flags & SIGNAL_STOP_DEQUEUED, yes
    set_current_state(TASK_STOPPED);
    finish_stop:
        schedule();
            // ->state == TASK_STOPPED

      wait_for_completion(&startup_done)
         // waits for complete() from B,
         // ->state == TASK_UNINTERRUPTIBLE

We can't wake up 'B' in any way:

SIGCONT will be ignored because handle_stop_signal() sees
->signal->flags & SIGNAL_GROUP_EXIT.

sys_kill(SIGKILL)->__group_complete_signal() will choose
uninterruptible 'A', so it can't help.

sys_tkill(B, SIGKILL) will be ignored by specific_send_sig_info()
because B already has pending SIGKILL.

This scenario is not possbile if 'A' does do_group_exit(), because
it sets sig->flags = SIGNAL_GROUP_EXIT and delivers SIGKILL to
subthreads atomically, holding both tasklist_lock and sighand->lock.
That means that do_signal_stop() will notice !SIGNAL_STOP_DEQUEUED
after re-locking ->sighand. And it is not possible to any other
thread to re-add SIGNAL_STOP_DEQUEUED later, because dequeue_signal()
can only return SIGKILL.

I think it is better to change do_coredump() to do sigaddset(SIGKILL)
and signal_wake_up() under sighand->lock, but this patch is much
simpler.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ATM]: [br2684] if we free the skb, we should return 0
Jean-Denis Boyer [Fri, 7 Oct 2005 20:44:35 +0000 (13:44 -0700)]
[ATM]: [br2684] if we free the skb, we should return 0

From: "Jean-Denis Boyer" <jdboyer@mediatrix.com>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Fix userland FPU state corruption.
David S. Miller [Fri, 7 Oct 2005 20:30:49 +0000 (13:30 -0700)]
[SPARC64]: Fix userland FPU state corruption.

We need to use stricter memory barriers around the block
load and store instructions we use to save and restore the
FPU register file.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC]: Fix p9100 framebuffer in 2.6
Tom 'spot' Callaway [Fri, 7 Oct 2005 20:05:56 +0000 (13:05 -0700)]
[SPARC]: Fix p9100 framebuffer in 2.6

The attached patch fixes the p9100 framebuffer so that text is viewable
(not black on black, like it was before the patch). The linux logo
displays for a very short period of time, then is replaced by a grey
box. This leads me to believe that this framebuffer would have problems
in X, but since there hasn't been a weitek driver for X in several
millennia, this isn't something that I can confirm or deny.

But this patch does get color console working on my SPARCbook 3TX.

Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ALSA] usb-audio: add MIDI quirk for Hercules DJ Console
Clemens Ladisch [Wed, 5 Oct 2005 11:23:19 +0000 (13:23 +0200)]
[ALSA] usb-audio: add MIDI quirk for Hercules DJ Console

USB generic driver
Add a quirk entry for the external MIDI ports of the
Windows Edition of the Hercules DJ Console.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
19 years ago[ALSA] usb-audio: add another ID for Hercules DJ Console
Clemens Ladisch [Wed, 5 Oct 2005 11:02:38 +0000 (13:02 +0200)]
[ALSA] usb-audio: add another ID for Hercules DJ Console

USB generic driver
Add a mixer quirk entry for the Hercules DJ Console (Windows Edition)
that uses a different USB product ID.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
19 years ago[ALSA] ali5451 - Don't build non-existing modem PCM
Takashi Iwai [Tue, 4 Oct 2005 11:50:44 +0000 (13:50 +0200)]
[ALSA] ali5451 - Don't build non-existing modem PCM

ALI5451 driver
Don't build the modem PCM if the corresponding codec isn't detected.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] emu10k1 - Fix handling of ac97_chip=2
Takashi Iwai [Tue, 4 Oct 2005 11:49:32 +0000 (13:49 +0200)]
[ALSA] emu10k1 - Fix handling of ac97_chip=2

EMU10K1/EMU10K2 driver
Fixed the handling of ac97_chip=2 capability type.
The error occurs in snd_ac97_mixer(), not in snd_ac97_bus().
Also, release the unnecessary ac97_bus object in the error path.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] korg1212: fix typo
Clemens Ladisch [Tue, 4 Oct 2005 06:42:10 +0000 (08:42 +0200)]
[ALSA] korg1212: fix typo

KORG1212 driver
Add a missing comma that made the stateName array one entry too short.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
19 years ago[ALSA] emu10k1 - Fix loading of SBLive Game board
Takashi Iwai [Fri, 30 Sep 2005 14:56:59 +0000 (16:56 +0200)]
[ALSA] emu10k1 - Fix loading of SBLive Game board

EMU10K1/EMU10K2 driver
Fixed the error at loading SBLive Game board (and possible other models).
The PCI SSIDs of this board conflicts with SB Live 5.1 Platinum, which has
no AC97 chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] via82xx - dxs_support entry for an ASUS mobo
Takashi Iwai [Thu, 29 Sep 2005 11:49:44 +0000 (13:49 +0200)]
[ALSA] via82xx - dxs_support entry for an ASUS mobo

VIA82xx driver
Addded a dxs_support entry for an ASUS mobo.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] Fix confliction of capture controls on ALC880 test model
Takashi Iwai [Thu, 29 Sep 2005 11:25:14 +0000 (13:25 +0200)]
[ALSA] Fix confliction of capture controls on ALC880 test model

HDA Codec driver
Fixed the confliction of capture controls on ALC880 'test' model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] fix HD audio ALC882 lfe (un)mute
John W. Linville [Thu, 29 Sep 2005 11:20:45 +0000 (13:20 +0200)]
[ALSA] fix HD audio ALC882 lfe (un)mute

HDA Codec driver
Mark the ALC882 'LFE Playback Switch' as an input, like the other
playback switch settings.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] fix alc880_test_mixer typo
John W. Linville [Thu, 29 Sep 2005 11:18:41 +0000 (13:18 +0200)]
[ALSA] fix alc880_test_mixer typo

HDA Codec driver
Fix a typo (cut & paste) in the alc880_test_mixer structure.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] fix HD audio ALC260 mono (un)mute
John W. Linville [Thu, 29 Sep 2005 11:13:38 +0000 (13:13 +0200)]
[ALSA] fix HD audio ALC260 mono (un)mute

HDA Codec driver
The ALC260 'Mono Playback Switch' is marked as an output in
patch_realtek.c. It actually does not work unless it is marked as an
input. Go figure... This was tested and confirmed on an HP xw4300.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] usb-audio: increase max buffer size
Clemens Ladisch [Mon, 26 Sep 2005 07:59:57 +0000 (09:59 +0200)]
[ALSA] usb-audio: increase max buffer size

USB generic driver
Increase the maximum PCM buffer size to 1 MB.  The USB driver doesn't
have any inherent buffer size limit, and big multichannel interfaces
may benefit from this.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
19 years ago[ALSA] usb-audio: add another ID for the TerraTec PHASE26
Clemens Ladisch [Mon, 26 Sep 2005 06:55:01 +0000 (08:55 +0200)]
[ALSA] usb-audio: add another ID for the TerraTec PHASE26

USB generic driver
There is another revision of the PHASE26 with a different product ID;
add a quirk entry for that, too.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
19 years ago[ALSA] usb-audio: add more Yamaha USB MIDI devices
Clemens Ladisch [Tue, 20 Sep 2005 07:06:36 +0000 (09:06 +0200)]
[ALSA] usb-audio: add more Yamaha USB MIDI devices

USB generic driver
Add quirk entries for four unknown Yamaha USB MIDI devices.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
19 years ago[ALSA] Add iBook 1.33GHz support
Takashi Iwai [Mon, 19 Sep 2005 13:21:17 +0000 (15:21 +0200)]
[ALSA] Add iBook 1.33GHz support

PPC PMAC driver
Added the support of iBook 1.33GHz.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] usb-audio: add Roland RD-700SX support
Clemens Ladisch [Mon, 19 Sep 2005 10:24:00 +0000 (12:24 +0200)]
[ALSA] usb-audio: add Roland RD-700SX support

USB generic driver
Add a quirk entry for the Roland RD-700SX.
This should work for the RD-300SX, too.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
19 years ago[ALSA] via82xx - Add a dxs whitelist entry
Takashi Iwai [Fri, 16 Sep 2005 17:07:52 +0000 (19:07 +0200)]
[ALSA] via82xx - Add a dxs whitelist entry

VIA82xx driver
Added a dxs whitelist entry for an ECS mobo.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
19 years ago[ALSA] clean suspend/resume calls for ac97_bus_type
Nicolas Pitre [Fri, 16 Sep 2005 16:50:53 +0000 (18:50 +0200)]
[ALSA] clean suspend/resume calls for ac97_bus_type

AC97 Codec
A single call to the driver suspend/resume method for each device is
enough. The level and SUSPEND_*/RESUME_* arguments are deprecated and
said to be removed eventually anyway (no other subsystem are using them
anymore except platform devices).

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>