Rob Weryk [Fri, 8 Nov 2002 03:25:49 +0000 (19:25 -0800)]
[PATCH] Fix ALSA emu10k1 bass control
This trivial patch fixes a mixer problem with the emu10k1 driver in
ALSA. In sound/pci/emu10k1/emufx.c, the line
static const u32 bass_table[41][5] = {
only has 40 lines defined, instead of 41. This results in no sound
output when the bass control is set at 100% (but works fine at 98%) I
added the missing line, which is present in the OSS emu10k1 driver.
David Mosberger [Fri, 8 Nov 2002 03:23:22 +0000 (19:23 -0800)]
[PATCH] let binfmt_misc optionally preserve argv[1]
This makes it possible for binfmt_misc to optionally preserve the
contents of argv[1]. This is needed for building accurate simulators
which are invoked via binfmt_misc. I had brought up this patch a while
ago (see URL below) and there was no negative feedback (OK, there was no
feedback at all... ;-).
The patch is trivial and the new behavior is triggered only if the
letter "P" (for "preserve") is appended to the binfmt_misc registration
string, so it shold be completely safe.
[IPSEC] More work.
1. Expiration of SAs. Some missing updates of counters.
Question: very strange, rfc defines use_time as time of the first use
of SA. But kame setkey refers to this as lastuse.
2. Bug fixes for tunnel mode and forwarding.
3. Fix bugs in per-socket policy: policy entries do not leak but are destroyed,
when socket is closed, and are cloned on children of listening sockets.
4. Implemented use policy: i.e. use ipsec if a SA is available,
ignore if it is not.
5. Added sysctl to disable in/out policy on some devices.
It is set on loopback by default.
6. Remove resolved reference from template. It is not used,
but pollutes code.
7. Added all the SASTATEs, now they make sense.
Clean up vfs_readv/writev() interface and avoid code duplication.
Make kNFSd use the cleaned-up interfaces, and disable the code that
accesses the low-level readpage() function of the exported filesystem
(not allowed - many filesystems need extra setup, which is why we have
a separate ->sendpage() routine for that).
Seth Rohit [Thu, 7 Nov 2002 08:46:19 +0000 (00:46 -0800)]
[PATCH] Broken Hugetlbpage support in 2.5.46
The hugetlb page support in 2.5.46 is broken (Don't know if this is the
first version of kernel or any prior revs also have that). Basically the
free side of hugepages was really not freeing the physical resources (for
the cases when the pages allocated using system call interface). Attached
is the patch that should resolve it. (doesn't break the hugetlbfs support
either).
Chuck Lever [Thu, 7 Nov 2002 08:43:38 +0000 (00:43 -0800)]
[PATCH] bug in NFSv2 end-of-file read handling
NFSv2 doesn't pass connectathon 2002, at least on some Linux kernels.
Trond deemed the following modification necessary in all kernels to
address the problem.
Chuck Lever [Thu, 7 Nov 2002 08:43:31 +0000 (00:43 -0800)]
[PATCH] too many setattr calls from VFS layer
New code in 2.5 VFS layer invokes notify_change to clear the suid and
sgid bits for every write request. notify_change needs to optimize out
calls to ->setattr that don't do anything, because for many network file
systems, an on-the-wire SETATTR request is generated for every ->setattr
call, resulting in unnecessary latency for NFS writes.
Paul Mackerras [Thu, 7 Nov 2002 08:18:22 +0000 (03:18 -0500)]
The patch below contains some minor updates to the bmac and mace
ethernet drivers used on powermacs. The bmac.c change is just to
remove some compile warnings. The mace.c change is to move an inline
function definition to before the point where it is used.
Jean Tourrilhes [Thu, 7 Nov 2002 10:58:54 +0000 (05:58 -0500)]
IrDA update 3/3:
<Thanks to Martin Diehl>
o [CORRECT] Handle non-linear and shared skbs
o [CORRECT] Tell kernel we can handle multithreaded receive
<Of course, this has been tested extensively on SMP>
Jeff Garzik [Thu, 7 Nov 2002 10:57:21 +0000 (05:57 -0500)]
IrDA update 2/3:
(Adrian Bunk)
* C99 initializers
* fix public symbol name conflict
(me)
* further clean up namespace on donauboe driver in module_init/exit area
Jean Tourrilhes [Thu, 7 Nov 2002 10:35:25 +0000 (05:35 -0500)]
IrDA update 1/3:
<Following patch from Martin Diehl>
o [CRITICA] Do all serial driver config change in process context
o [CORRECT] Safe registration of dongle drivers
o [FEATURE] Rework infrastructure of SIR drivers
o [CORRECT] Port irtty driver to new SIR infrastructure
o [CORRECT] Port esi/actisys/tekram driver to new SIR infrastructure
<Note : there is still some more work to do around SIR drivers,
such as porting other drivers to the new infrastructure, but
this is functional and tested, and old irtty is broken>
Paul Mackerras [Fri, 8 Nov 2002 09:06:18 +0000 (20:06 +1100)]
PPC32: More sensible arrangement of the sections in vmlinux.lds.S.
This moves the sections which are read-only (e.g. exception table,
kallsyms data) to go before the read/write data section, and the
feature fixup section into the init data area. It also adds the
initramfs section.
Edward Peng [Wed, 6 Nov 2002 17:22:14 +0000 (12:22 -0500)]
dl2k net driver update from vendor:
* ethtool support
* changed default media to auto-negotiation
* fix disconnect bug
* fix RMON statistics overflow
* always use io mapping to access eeprom
Paul Mackerras [Wed, 6 Nov 2002 13:07:55 +0000 (05:07 -0800)]
[PATCH] Update powermac IDE driver
This updates the powermac IDE driver in 2.5 so it uses the 2.5 kernel
interfaces and types rather than the 2.4 ones. It also makes it use
blk_rq_map_sg rather than its own code to set up scatter/gather lists in
pmac_ide_build_sglist, and makes it use ide_lock instead of
io_request_lock.
Paul Mackerras [Wed, 6 Nov 2002 13:07:50 +0000 (05:07 -0800)]
[PATCH] Update macserial driver
This updates the macserial driver in 2.5 so it compiles and works. The
main changes are to use schedule_work instead of task queues and BHs.
The patch also removes the wait_key method.
I know we need to change macserial to use the new serial
infrastructure. I'm posting this patch in case it is useful to anyone
trying to compile up a kernel for a powermac at the moment.
Neil Brown [Wed, 6 Nov 2002 13:00:53 +0000 (05:00 -0800)]
[PATCH] kNFSd: Make sure svc_process releases response even on error.
If a rpc operation indicates that response should
be dropped (e.g. kmalloc failure) we must still
call pc_release to release anything it may have allocated.
Neil Brown [Wed, 6 Nov 2002 13:00:40 +0000 (05:00 -0800)]
[PATCH] kNFSd: Make sure final xdr_buf.len is correct on server reply
rq_res->len was not always updated properly.
It is only needed in the sendto routine, so we calculate
it just before that is called, and don't bother
updating it anywhere else.
Neil Brown [Wed, 6 Nov 2002 13:00:35 +0000 (05:00 -0800)]
[PATCH] kNFSd: Support zero-copy read for NFSD
From Hirokazu Takahashi <taka@valinux.co.jp>
This patch changes read and readdir in nfsd.
read:
If the file supports readpage, we use it to collect pages out of the page
cache and to attache them directly to the outgoing nfs reply.
The reduces the number of copies by one, and if the filesystem/device
driver didn't copy the data, and if the network card can support not copying
the data, then you get zero-copy reads.
readdir:
A separate page is used for stoing the readdir response so that a fill
PAGE_SIZE bytes of reply can be supported.
Neil Brown [Wed, 6 Nov 2002 13:00:28 +0000 (05:00 -0800)]
[PATCH] kNFSd: Use ->sendpage to send nfsd (and lockd) replies.
From Hirokazu Takahashi <taka@valinux.co.jp>
As all rpc server replies are now in well defined pages,
we can use ->sendpage to send these replies, and so
make use for zero-copy transmit on network cards that
support it.
Neil Brown [Wed, 6 Nov 2002 13:00:21 +0000 (05:00 -0800)]
[PATCH] md: Fix another two bug in raid5
A partial block write over a block on a failed device
would need to pre-read that block, which means pre-read all
blocks in stripe and generate that block. But the generate-block
code never checked for this possibility, so it wouldn't happen.
Neil Brown [Wed, 6 Nov 2002 13:00:15 +0000 (05:00 -0800)]
[PATCH] md: Fix bug in raid5
When analysing a stripe in handle_stripe we set bits
R5_Wantread or R5_Wantwrite
to indicate if a read or write is needed. We don't actually schedule the
IO immediately as this is done under a spinlock (sh->lock) and
generic_make_request can block. Instead we check these bits after
the lock has been lifted and then schedule the IO.
But once the lock has been lifted we aren't safe against multiple
access, and it is possible that the IO will be scheduled never, or twice.
So, we use test_and_clear to check and potentially schedule the IO.
This wasn't a problem in 2.4 because the equivalent information was
stored on the stack instead of in the stripe.
We also make sure bi_io_vec[0] has correct values as a previous
call to generic_make_request may have changed them.
The patch attached reorders the mempool_free before the barrier is released
and merges resume_device() into put_buf(), (they are only used together).
Otherwise I have kept the locking and wakeups identical to the existing code.
(maybe this could be streamlined)
3. BUG() at close_sync() if (waitqueue_active(&conf->wait_resume).
This occurs with and without the patch for (2).
I think this is a false BUG(). From what I understand of the device barrier
code, there is nothing wrong with make_request() waiting on wait_resume when
this test is made. Therefore I have removed it (the wait_idle test is still
correct).
4. raid1 tries to start a resync if there is only one working drive,
which is pretty pointless, and noisy. We notice that special case and
avoid the resync.
Neil Brown [Wed, 6 Nov 2002 13:00:03 +0000 (05:00 -0800)]
[PATCH] md: Misc little raid fixes
Roughly in order of patch:
1/ xor.h is never needed in md.c
2/ set sb_loaded when we 'sync' mddev to rdev as well as when we load
sb into rdev from disk.
2/ due to lifetime changes, active count can be 2 when we stop array
3/ due to lifetime changes, we need to explicitly clear the ->pers when we
stop an array
4/ autostart can only work for 0.90.0 superblocks.
None others would be silly enough to store device numbers for
all devices in the superblock...
5/ we had lost the setting of 'sb' when auto-starting an array.
6/ Code currently calls export_rdev(start_rdev) when
IS_ERR(start_rdev), which causes an oops.
7/ /proc/mdstat contents error:
code does not take into account that delayed
resyncs can wait with curr_resync = 1 or 2.
8/ There is a premature "return NOTIFY_DONE", that possibly was in
for debugging once...
Eric Sandeen [Wed, 6 Nov 2002 22:18:46 +0000 (23:18 +0100)]
[XFS] Be more careful about quota state changes on ro-devices
We can't allow quota state changes on a read-only device,
this would kick of a failing transaction & shut down the fs.
Previously the test was quota/no quota but we need to disallow
any change wrt user and/or group quota state.
Stephen Lord [Wed, 6 Nov 2002 22:17:04 +0000 (23:17 +0100)]
[XFS] break out the allocator specific parts of the xfs I/O path into
a separate file, xfs_iomap.c out of xfs_lrw.c. Remove some parts
of the code which were not doing anything for us. This is step
one in some major reorgs of this code.