Jaroslav Kysela [Mon, 15 Mar 2004 12:04:42 +0000 (13:04 +0100)]
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
AC97 Codec Core
Kevin Mack <kevmack@accesscomm.ca>
Here's a quick and dirty patch that's given me basic sound from
my Gateway M675 notebook (Sigmatel 9758 AC97 codec).
Set ide_task_t fields (command_type, handler and prehandler) directly.
Remove unused ide_task_t->posthandler and all ide_cmd_type_parser() logic.
ide_cmd_type_parser() was meant to be used for ioctls but
ended up checking validity of kernel generated requests (doh!).
Rationale for removal:
- it can't be used for existing ioctls (changes the way they work)
- kernel shouldn't check validity of (root only) user-space requests
(it can and should be done in user-space)
- it wastes CPU cycles on going through parsers
- it makes code harder to understand/follow
(now info about request is localized)
Many thanks to Promise for their support.
Expect more updates/fixes for Promise PATA support soon.
- fix PIO (auto-)tuning - use pdcnew_new_tune_chipset()
and always tune PIO mode even if (U)DMA is used
- cleanup cable verification code a bit
- remove leftovers from driver split-up
- remove duplicate DISPLAY_PDC202XX_TIMINGS define
Jeff Garzik [Sun, 14 Mar 2004 18:32:20 +0000 (13:32 -0500)]
[libata sata_sil] remove incorrect limit on drive quirk
The original submittor of the quirk code noted that the errata
of a lockup creating when the condition "sector % 15 == 1" is
true only on chip revisions <= 1. This is limitation on chip
revision is apparently not correct, therefore we apply to all
affected drives in the quirk list.
This is a sledgehammer fix, limiting max-sectors to 15. A much better
fix would split the hardware request into two taskfiles, issuing
an additional command, thereby avoiding "sectors % 15 == 1"
Given the errata is limited to "sil 311x + <these drives>", it is hoped
that some janitor cares enough to do a real fix.
[SPARC32]: Rework the CPU enumeration and probing code
The low 2 bits of the MID are now used exclusively as the software
CPU ID on 4m. This eliminates entirely the need for mid_xlate. We
also eliminate linux_num_cpus and linux_cpus; since the hardware-based
id is now used everywhere we don't need indexed CPU tables.
The device probe is almost identical to sparc64's version. The one
exception is that 4m only uses the bottom 2 bits of the MID, so we also
have a separate function to get the true hardware MID for the rare times
it's actually needed.
Per-cpu data is now used the same way as in sparc64. As a side benefit
we now display the same format Bogo and Clock values in /proc/cpuinfo.
Andrew Morton [Sun, 14 Mar 2004 05:50:10 +0000 (21:50 -0800)]
[PATCH] __kill_pg_info() return value fix
Fix a bug which was spotted by Alex Lyashkov <shadow@psoft.net>
The fairly unobvious coding in __kill_pg_info() will cause a zero value to be
incorrectly returned if the second or succeeding call to
group_send_sig_info() returns an error.
Andrew Morton [Sun, 14 Mar 2004 05:49:48 +0000 (21:49 -0800)]
[PATCH] move consistent_dma_mask to the generic device
From: James Bottomley <James.Bottomley@SteelEye.com>
pci_dev.consistent_dma_mask was introduced to get around problems in the
IA64 Altix machine.
Now, we have a use for it in x86: the aacraid needs coherent memory in a
31 bit address range (2GB). Unfortunately, x86 is converted to the dma
model, so it can't see the pci_dev by the time coherent memory is
allocated.
The solution to all of this is to move pci_dev.consistent_dma_mask to
dev.coherent_dma_mask and make x86 use it in the dma_alloc_coherent()
calls.
This should allow me to make the aacraid set the coherent mask instead
of using it's current dma_mask juggling.
Andrew Morton [Sun, 14 Mar 2004 01:05:57 +0000 (17:05 -0800)]
[PATCH] gcc-3.5 libata build fix
drivers/scsi/sata_vsc.c: In function `vsc_sata_interrupt':
include/linux/libata.h:414: sorry, unimplemented: inlining failed in call to 'ata_host_intr': function body not available
drivers/scsi/sata_vsc.c:187: sorry, unimplemented: called from here
Andrew Morton [Sun, 14 Mar 2004 01:05:48 +0000 (17:05 -0800)]
[PATCH] module unload deadlock fix
From: Rusty Russell <rusty@rustcorp.com.au>
From: Andrea Arcangeli <andrea@suse.de>
We should drop module sem before calling mod->exit, for practical reasons:
too many module exit functions oops or hang, resulting in a permenantly held
module sem, which blocks all module ops including lsmod.
Andrew Morton [Sun, 14 Mar 2004 01:05:37 +0000 (17:05 -0800)]
[PATCH] DMA: Fill gaping hole in DMA API interfaces.
From: "David S. Miller" <davem@redhat.com>
Currently, for an existing DMA mapping, there is a way to transfer buffer
ownership back to the cpu, yet there is no way to give it back to the device
again explicitly. The latter really is needed on platforms where the PCI
subsystem does not snoop the cpu caches, MIPS is one example.
Many drivers were expecting the existing DMA sync interface to handle both
directions, which was wrong.
Now, with this change, we have explicit interfaces for DMA syncing to/from
the device and the cpu.
James Bottomley [Sat, 13 Mar 2004 19:40:13 +0000 (14:40 -0500)]
[PATCH] Add Domain Validation to 53c700 driver
This simply throws out the 53c700 driver's optimistic setting of the
best possible transport parameters and replaces it with DV
determination. It also adds a missing report_bus_reset() callback and
finally does a delayed DV on device errors.
Jaroslav Kysela [Sat, 13 Mar 2004 19:19:40 +0000 (20:19 +0100)]
ALSA CVS update - Takashi Iwai <tiwai@suse.de>
EMU10K1/EMU10K2 driver
disabled Dell OEM Emu10k1x from the pci id list.
the board isn't compatible with the normal emu10k1.
Jaroslav Kysela [Sat, 13 Mar 2004 19:15:17 +0000 (20:15 +0100)]
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
USB generic driver
prevent twenty-seconds wait when unplugging USB MIDI device with a port subscription
Wim Van Sebroeck [Sun, 14 Mar 2004 00:38:29 +0000 (01:38 +0100)]
WATCHDOG] v2.6.4 wdt977-v0.03-patch
Version 0.03 of wdt977.c - Changes that were made are:
* Extract the stop code in a seperate function (wdt977_stop)
* Extract the start code in a seperate function (wdt977_start)
* Rename kick_wdog to wdt977_keepalive for consistency
* Extract the watchdog's status code to a seperate function (wdt977_get_status)
* Change the way we deal with the watchdog timeout:
Up till now we used timeoutM (in minutes) as the correct value and then
calculated timeout as being timeoutM*60 or *timeoutM*120 (depending on
wether or not we have the netwinder hardware bug).
From now on timeout is the correct value and we calculate timeoutM out
of it. Because of this we start with checking wether or not we have a
correct timeout value (if not we reset it to the default value) and we
automatically calculate timeoutM. Each time we change timeout with a
correct timeout value, we recalculate timeoutM.
* Extended ioctl code with WDIOC_SETOPTIONS and updated the watchdog_info structure
* Added notifier support
Wim Van Sebroeck [Sun, 14 Mar 2004 00:31:12 +0000 (01:31 +0100)]
[WATCHDOG] v2.6.4 pcwd_pci-v1.00_20040313-patch
Two small fixes:
* Make cards_found a global variable so that if we remove the
pci device we can count down.
* If we can't find a correct I/O address for the card, then we
should disable the card again.
Trond Myklebust [Sat, 13 Mar 2004 17:10:52 +0000 (12:10 -0500)]
akpm@odsl.org: For complex reasons it is not possible to hold i_sem in nfs_update_inode().
Hence the i_size_write() in there is deadlocky. Go back to the old way.
Trond Myklebust [Sat, 13 Mar 2004 17:07:59 +0000 (12:07 -0500)]
From: <martin@meltin.net>
Forward-port from 2.4:
The following patch pulls an NFS server IP address off root_server_path
(handed out via the DHCP root-path option), if it is present. For example,
you can do this sort of thing in dhcpd.conf:
root-path = 192.168.1.33:/tftpboot/yip.zImage
This lets you mount your root filesystem off a different machine than you
booted from, without needing to use kernel command-line parameters.
The patch appears to be backwards compatible.
RFC2132 says this about the root-path option:
This option specifies the path-name that contains the client's root
disk. The path is formatted as a character string consisting of
characters from the NVT ASCII character set.
This is sufficiently vague to allow the path-name to include an IP-address.
Also, I found some documentation for FreeBSD saying it does this too, so it
must be right, because those FreeBSD guys are really smart... :-)
The only downside of the patch is that the summary that ipconfig prints can
be a little odd when the kernel command line overrides whatever ipconfig gets
from (say) DHCP. The address from the kernel command line seems to get
stripped off early, so ipconfig reports it, but it doesn't report the kernel
command line NFS path, since that's handled a bit later... This small
cosmetic problem looks difficult to "fix" without rewriting quite a bit of
stuff...
Trond Myklebust [Sat, 13 Mar 2004 16:59:23 +0000 (11:59 -0500)]
RPC: patch by Chuck Lever to make the number of RPC slots a tunable parameter.
This is wanted in order to allow the NFS client to send more requests before
is has to block and wait for replies.
This is mainly useful if you have a WAN and want to ensure that the bandwidth
is being used efficiently.
Trond Myklebust [Sat, 13 Mar 2004 16:53:43 +0000 (11:53 -0500)]
RPC,NFSv3: remove the redundant "memset()" in call_encode(). Fix up the only places
where this causes a padding error: xdr_encode_fhandle() and unx_marshal()
Trond Myklebust [Sat, 13 Mar 2004 16:52:33 +0000 (11:52 -0500)]
NFSv2/v3 locking: A patch to ensure that blocks which are not going to time out
are placed last on the ordered list nlm_block (problem reported by Olaf
Kirch).
Trond Myklebust [Sat, 13 Mar 2004 16:51:10 +0000 (11:51 -0500)]
NFSv2/v3 locking: Patch by Patrice Dumas to ensure that the server index blocks uniquely
by using the client address in addition to the value of the NLM cookie field.
Trond Myklebust [Sat, 13 Mar 2004 16:49:51 +0000 (11:49 -0500)]
NFSv2/v3 locking: Patch by Patrice Dumas that adds a check to ensure we really
were requesting a blocking lock when we get a reply from the server asking us to
block.
Trond Myklebust [Sat, 13 Mar 2004 16:48:42 +0000 (11:48 -0500)]
NFSv2/v3 locking: Patch by Patrice Dumas to implement nlmsvc_proc_granted_res.
When a server receives that callback it should deallocate the corresponding blocked
lock using the nlmsvc_grant_reply function.
Trond Myklebust [Sat, 13 Mar 2004 16:47:36 +0000 (11:47 -0500)]
NFSv2/v3/v4: Parenthesize #defines in nfs?xdr.c. Fix an off-by-one error on the value
of compound_decode_hdr_maxsz.
NFSv4: fix a printk() typo (spotted by Linda Dunaphant).
NFSv4: Ensure that nfs4_open_reclaim() copies the value of the new stateid back into
the shared nfsv4 state structure.
NFSv4: Don't leak NFS4ERR_WRONGSEC errors back into nfs_lookup().
RPC,NFS,Lockd: Mark the debugging code as "unlikely" so that gcc moves it out of the
mainline code paths.
Trond Myklebust [Sat, 13 Mar 2004 16:45:10 +0000 (11:45 -0500)]
RPC,NFSv2/v3/v4: Ensure that xprt_create_proto() and rpc_create_client() return
full error codes. Should allow the "mount" program to print more useful error
diagnostics.
Trond Myklebust [Sat, 13 Mar 2004 16:43:28 +0000 (11:43 -0500)]
RPC: Ensure that we have the correct capabilities when binding a socket to a reserved
port. Fixes a privilege bug when CONFIG_SECURITY is set.
RPC: When trying to reconnect to a TCP port, try to bind() to the last used port number
in order to ensure that the servers NFS replay cache recognizes this as being the
same mount as before.