PC300 MLPPP support is currently marked broken in 2.6.x.
To fix that, attached patch implements tiocmset/tiocmget methods on the
pc300_tty.c driver, which is the new method tty drivers are supposed to
use instead ioctl.
This fixes two related issues in the ioctl handler:
- ioctl requesting RTS signal would affect DTR signal
- The RTS signal is now handled.
[PATCH] fix OOPS for multiple IDE PCI modules and CONFIG_PROC_FS=y
The problem is that when loading next IDE PCI module memory used by
previously registered ide_pci_host_proc_list entry is already unmapped
(because of __{dev}initdata). This doesn't happen in built-in case
because this memory is freed after all drivers are initialized.
Fix it by removing __{dev}initdata from all ide_pci_host_proc_t.
Thanks to Andre Tomt <andre@tomt.net> for help in debugging this.
Adam Belay [Sun, 8 Feb 2004 15:44:15 +0000 (15:44 +0000)]
[PNP]: Card matching code fix
This patch updates the matching code to ensure that all requested
devices are present on the card, even if they are in use. It is
necessary for some ALSA drivers to work properly because early vendors
would have different sets of devices on the same card ids. It is from
Takashi Iwai <tiwai@suse.de>.
Adam Belay [Sun, 8 Feb 2004 15:31:19 +0000 (15:31 +0000)]
[PNP]: Disable resources fix
Some PnPBIOSes do not follow the specifications with regard to
disabling devices. This patch preserves the tag bits, while zeroing
the resource settings. Previously we would zero the entire buffer.
It has been tested and appears to correct the issue while remaining
compatible with unbroken PnPBIOSes.
Adam Belay [Sun, 8 Feb 2004 15:28:23 +0000 (15:28 +0000)]
[PNP]: Resource flags update
This patch reorganizes resource flags to ensure that manual resource
settings are properly recognized. This fix is necessary for many ALSA
drivers. It also prevents comparisons between unset resource
structures. The bug was discovered by Rene Herman
<rene.herman@keyaccess.nl>, who also wrote an initial version of this
patch. I made further improvements to ensure that the pnp subsystem
was compatible with this initial change.
Adam Belay [Sun, 8 Feb 2004 15:23:01 +0000 (15:23 +0000)]
[PNP]: Fix Serial PnP driver
The serial driver currently fails to unregister its pnp driver upon
module unload. This patch corrects the problem by calling
pnp_unregister_driver and implementing a proper remove function.
[SUNRPC]: Use completions instead of sleep_on for rpciod.
The rpciod shutdown code gives ugly sleep_on without BKL warnings in
-mm. And it looks indeed somewhat racy.
The easy fix would be to simply use a completion as in the patch below,
but that removes all the signal fuzzing semantics the current code has.
I don't really understand why we want to cancel the operation by
signals, but I think it'd be better to leave that to people familar with
the code anyway..
Andrew Morton [Sun, 8 Feb 2004 01:44:08 +0000 (17:44 -0800)]
[PATCH] cciss: rmmod oops fix
From: mikem@beardog.cca.cpqcorp.net
This patch fixes an Oops when unloading the driver. Bug fix. Please
consider this for inclusion.
All of the patches sent out are needed to get the driver in the 2.6 tree up
to the level of the driver that is in the 2.4 tree, excluding this patch
which is not required in 2.4.
More patches will be coming. They include multi-path failover support,
support for more than 8 controllers, and msi support. Presently working on a
per logical volume queueing scheme.
Andrew Morton [Sun, 8 Feb 2004 01:43:49 +0000 (17:43 -0800)]
[PATCH] cciss: improve /proc presentation
From: mikem@beardog.cca.cpqcorp.net
This patch changes the way we fill out the /proc files we create. It now has
human readable volume sizes, RAID levels, etc. Also removes some fields that
were orginally for debug purposes. This is in the 2.4 tree.
Andrew Morton [Sun, 8 Feb 2004 01:43:21 +0000 (17:43 -0800)]
[PATCH] cciss: intialisation oops fix
From: mikem@beardog.cca.cpqcorp.net
This patch moves the check of the controller to before trying to enable it.
If a controller is disabled the system will Oops without this fix. This in
the 2.4 tree.
Andrew Morton [Sun, 8 Feb 2004 01:43:12 +0000 (17:43 -0800)]
[PATCH] cciss: disble prefetching in ASIC
From: mikem@beardog.cca.cpqcorp.net
This patch addresses a bug in the ASIC on the 6400 series controllers. When
prefetching from host memory we grab an extra 750 or so bytes of data. If
this occurs on a memory boundary the machine will MCA. This bug affects IPF
and Alpha based platforms. It is not known to be a problem on x86.
Prefetch will be disabled via the f/w. We need to enable it on x86 to
address a _big_ performance hit on RAID 1 operations.
Andrew Morton [Sun, 8 Feb 2004 01:43:02 +0000 (17:43 -0800)]
[PATCH] cciss: IRQ sharing fix
From: mikem@beardog.cca.cpqcorp.net
This patch fixes a bug when sharing IRQs with another controller that
receives a lot of interrupts. Without this check we will panic the system
when unloading and reloading the driver. This is in 2.4.
Andrew Morton [Sun, 8 Feb 2004 01:42:53 +0000 (17:42 -0800)]
[PATCH] cciss: Add support for SA 6i embedded controller
From: mikem@beardog.cca.cpqcorp.net
This patch adds support for the next generation embedded cciss controller.
It also bumps the version and changes the author to HP. This patch is in
2.4.
Trond Myklebust [Sat, 7 Feb 2004 15:56:12 +0000 (16:56 +0100)]
NFSv4: Convert SETCLIENTID and SETCLIENTID_CONFIRM to be
standalone operations. Ensure that SETCLIENTID_CONFIRM always
returns the lease timeout length.
Trond Myklebust [Sat, 7 Feb 2004 15:53:15 +0000 (16:53 +0100)]
NFSv4: Convert the lease renewal daemon from being
per-mountpoint to being per-server. Instead of running it on
top of rpciod, convert it to use keventd. This mean we can use
the struct nfs4_client semaphores for ordering purposes.
Trond Myklebust [Sat, 7 Feb 2004 15:50:51 +0000 (16:50 +0100)]
NFSv4/RPCSEC_GSS: Make Frank's server->client_sys feature use
RPC cloning in order to avoid duplicating sockets etc. Make
NFSv4 share a single socket for all communication to the same
server.
Trond Myklebust [Sat, 7 Feb 2004 15:47:04 +0000 (16:47 +0100)]
RPC: xdr_encode_pages either leaves the tail iovec pointing to
null or, if padding onthe page data is needed, sets it to point
to a little bit of static data. This is a problem if we're
expecting to later append some data in gss_wrap_req. Modify
xdr_encode_pages to make tail point to the end of the data in
head, as xdr_inline_pages and xdr_write_pages do.
Trond Myklebust [Sat, 7 Feb 2004 15:45:27 +0000 (16:45 +0100)]
RPCSEC_GSS: Move the gss sequence number history from the task
structure to the request structure, where it makes more sense.
In particular, when we start storing more sequence number
history (necessary to process responses to resent requests
correctly), this will make it easier to initialize the
necessary data structure in the right place (in
xprt_request_init).
Trond Myklebust [Sat, 7 Feb 2004 15:44:01 +0000 (16:44 +0100)]
RPCSEC_GSS: Client-side only support for rpcsec_gss integrity
protection. Since this requires checksumming an entire request,
instead of just the header, and since the request may include,
for example, pages with write data, we modify the gss_api
routines to pass xdr_bufs instead of xdr_netobjs where
necessary.
We add rpcauth_wrap_req and rpcauth_unwrap_resp to rpcauth.c,
wrappers for the new rpc cred ops crwrap_req and crunwrap_req,
which are called just before encoding, and just after decoding,
respectively.
Trond Myklebust [Sat, 7 Feb 2004 15:35:27 +0000 (16:35 +0100)]
RPCSEC_GSS: Instead of having gss_get_mic allocate memory for
the mic, require the caller to pass an output buffer whose data
pointer already points to preallocated memory.
Trond Myklebust [Sat, 7 Feb 2004 15:29:20 +0000 (16:29 +0100)]
NFSv4: Bugfixes and cleanups for the NFSv4 client
name to uid mapper. Includes a fix by Tim Woods to
deal with a caching bug in the case where a user
and a group share the same numerical id and/or name.
[PATCH] fix duplication of DMA {black,white}list in icside.c
Always compile ide-dma.c if CONFIG_BLK_DEV_IDEDMA=y, mark PCI specific code
with CONFIG_BLK_DEV_IDEDMA_PCI for now (it should migrate to ide_pcidma.c
over a time). This fixes a small bug - in_drive_list() from icside.c used
!strstr() instead of strstr() so it was missing two entries from a blacklist.