Steven Cole [Mon, 10 Feb 2003 01:40:33 +0000 (17:40 -0800)]
[PATCH] Finish job of trimming ".o" module extension in Kconfig files
Most of the instances of <module>.o in Kconfig files have had the ".o"
extension trimmed. This change came from GertJan Spoelman through Rusty
"Trivial" Russell.
However, there are a few files that didn't get trimmed. This brings
them line with the rest of the tree.
Linus Torvalds [Sun, 9 Feb 2003 23:58:04 +0000 (15:58 -0800)]
Wake up a stopped task _after_ having marked the SIGCONT pending,
so that there isn't any window for running before the signal
handler has been invoced.
Rusty Russell [Sun, 9 Feb 2003 11:01:17 +0000 (03:01 -0800)]
[PATCH] Write with buffer>2GB returns broken errno (2)
[ Acked by AKPM --RR ]
From: Kazuto MIYOSHI <miyoshi@hpc.bs1.fc.nec.co.jp>
On 64-bit platforms, issuing write(2) with buffer larger than
2GB will return -1 and broken errno (such as 2147483640)
Requested data itself is written correctly.
That is because generic_file_write() and other relating functions
store 'ssize_t written' into 'int err'. Written byte is trimmed to
int and then sign-extended to a negative ssize_t value, which
wrongly indicates an error.
(On 64bit platform, current glibc defines SSIZE_MAX as 'LONG_MAX')
Rusty Russell [Sun, 9 Feb 2003 11:00:00 +0000 (03:00 -0800)]
[PATCH] remove LinuxVersionCode from de4x5.h
From: Adrian Bunk <bunk@fs.tum.de>
drivers/net/tulip/de4x5.h in 2.5.54 contains a definition of
LinuxVersionCode. LinuxVersionCode isn't used and it's anyway obsoleted
by KERNEL_VERSION in version.h.
Rusty Russell [Sun, 9 Feb 2003 10:59:46 +0000 (02:59 -0800)]
[PATCH] Fix return code of init_module in drivers_net_arlan.c (2)
From: Pablo Menichini <pablo@menichini.com.ar>
This patch returns correct error codes if init_modules fail.
Because of this, we can take the printks indicating the error as these
corrected error codes return miningfull information.
Rusty Russell [Sun, 9 Feb 2003 10:59:32 +0000 (02:59 -0800)]
[PATCH] RTC alarm and wildcards
(Included in 2.4)
From: Paul Gortmaker <p_gortmaker@yahoo.com>
Summary: Wildcards in RTC alarm settings failed to work
Description:
The RTC has provision for wildcards when setting the alarm; to
use them you have to write a value higher than 0xc0 to the
appropriate hr/min/sec entry. The driver used 0xff, which is
fine, but it mistakenly fed the 0xff through BIN_TO_BCD before
writing them (which is < 0xc0) and so wildcards didn't work.
(Thanks to Gerhard Kurz for reporting the bug.)
Rusty Russell [Sun, 9 Feb 2003 10:58:40 +0000 (02:58 -0800)]
[PATCH] scripts_ver_linux
From: Frank Davis <fdavis@si.rr.com>
The ver_linux script is still using rmmod to determine
module-init-tools version. The following patch uses depmod,
which produces the appropriate result.
Rusty Russell [Sun, 9 Feb 2003 10:58:12 +0000 (02:58 -0800)]
[PATCH] remove check_region from drivers_net_irda_irport.c
From: william stinson <wstinson@wanadoo.fr>
this patch for drivers/net/irda/irport.c IRDA driver removes one call
to check_region using request_region instead. The patch also moves
the call to request_region to before the allocation of the driver
instance.
Jaroslav Kysela [Sun, 9 Feb 2003 20:47:59 +0000 (21:47 +0100)]
ALSA update
- moved inclusion of <linux/interrupt.h> from <sound/asound.h> to <sound/timer.h>
- pmac driver - removed beep stuff for 2.5 kernels
- USB driver - fixed compilation
James Bottomley [Sun, 9 Feb 2003 04:07:51 +0000 (22:07 -0600)]
[SCSI] Migrate sim710 to 53c700 chip driver
This should add synchronous support and Tagged Command Queueing.
At the moment, it cuts down on the number of command line options,
but we can add those back in later.
This patch also migrates the driver to the new device model for
both MCA and EISA.
James Bottomley [Sun, 9 Feb 2003 03:36:18 +0000 (21:36 -0600)]
Restore device command queue functionality
The recent slab allocation changes mean that we no longer keep a
permanent list of commands on the device_queue list. However,
certain pieces of SCSI code relied on being able to traverse this
list to find details of all outstanding commands (the error handler
being the prime example). This code adds back a new dynamic cmd_list
which keeps the list of commands currently allocated to the device.
Since the list is dynamic, it is protected by a lock (list_lock).
Jamie Lokier [Sat, 8 Feb 2003 18:41:34 +0000 (10:41 -0800)]
[PATCH] CONFIG_PREEMPT fix of do_debug()
If CONFIG_PREEMPT is enabled, and the kernel is preempted just before
do_debug() has a chance to save the debug register values, DR6 could be
read from the wrong CPU.
It is exactly the same problem as reading %cr2 in the page fault
handler. Same fix: make the handler a interrupt gate, and enable
interrupts only once safe.
Linus Torvalds [Sat, 8 Feb 2003 14:02:27 +0000 (06:02 -0800)]
More signal handling fixups for the threaded signal fix upheavals.
This fixes the signal code to not wake up threads with blocked signals,
especially noticeable with kernel threads that may not be able to handle
signals at all.
We also don't unnecessarily wake processes in TASK_UNINTERRUPTIBLE.
kbuild: Add a bug trap for people playing with SUBDIRS too much
If SUBDIRS is set manually on the command line, the contents of
.tmp_versions are not deleted before descending and can accumulate
stale entries. Print a warning if that case is detected, but deal with
it gracefully.
We're still using the old genksyms binary, that's why we have to
postprocess the output to convert it into a linker script - that
postprocessing got confused by "__verify_write".
Kick out the grep, do it all and correctly within sed.
Setting export-objs is not necessary anymore, so warn on encountering it
to prevent it from creeping back in ;)
Also, make the error when we find someone still using O_TARGET non-fatal,
so that people sharing stuff between 2.4 and 2.5 don't have more hassle
than necessary.
We need to collect a list of all modules during the recursive build. I used
a "touch .tmp_versions/<path/to/module.ko>" to do so, which however doesn't
work so well, when path/to isn't inside the kernel tree.
The best way to build external modules is currently using kbuild by saying
"make SUBDIRS=/some/external/dir modules", which was thus broken. While this
way is not all that optimal and I hope to come up with something better
before 2.6, it works and should keep working, so this patch fixes the usage
above.
Instead of touching files with the entire path added, we just create a
<module>.mod file in $(MODVERDIR) now, and save the path to the module.ko
in it. Since module names are unique, a flat hierarchy is actually fine here.
Roland McGrath [Fri, 7 Feb 2003 08:31:37 +0000 (00:31 -0800)]
[PATCH] TASK_STOPPED wakeup cleanup
For handle_stop_signal to do the special case for SIGKILL and have it
work right in all SMP cases (without changing all the existing ptrace
stops), it needs to at least set TIF_SIGPENDING on each thread before
resuming it.
handle_stop_signal addresses a related race for SIGCONT by setting
TIF_SIGPENDING already, so having SIGKILL handled the same way makes
sense.
Now it seems pretty clean to have handle_stop_signal resume threads for
SIGKILL, and have on SIGKILL special case in group_send_sig_info.
There is also an SMP race issue with cases like do_syscall_trace, i.e.
TASK_STOPPED state set without holding the siglock. So I think
handle_stop_signal should call wake_up_process unconditionally.
Linus Torvalds [Fri, 7 Feb 2003 04:25:24 +0000 (20:25 -0800)]
Split up "struct signal_struct" into "signal" and "sighand" parts.
This is required to get make the old LinuxThread semantics work
together with the fixed-for-POSIX full signal sharing. A traditional
CLONE_SIGHAND thread (LinuxThread) will not see any other shared
signal state, while a new-style CLONE_THREAD thread will share all
of it.
This way the two methods don't confuse each other.
Roland McGrath [Fri, 7 Feb 2003 00:22:30 +0000 (16:22 -0800)]
[PATCH] do_sigaction locking cleanup
This changes do_sigaction to avoid read_lock(&tasklist_lock) on every
call. Only in the fairly uncommon cases where it's really needed will
it take that lock (which requires unlocking and relocking the siglock
for locking order).
I also changed the ERESTARTSYS added in my earlier patch to ERESTARTNOINTR.
That is an "instantaneous" case, and there is no reason to have it possibly
return EINTR if !SA_RESTART (which AFAIK sigaction never could before, and
it might not be kosher by POSIX); rollback is always better.