]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/log
mirror_ubuntu-focal-kernel.git
17 years agoSUNRPC: Rename skb_reader_t and friends
Chuck Lever [Tue, 5 Dec 2006 21:35:44 +0000 (16:35 -0500)]
SUNRPC: Rename skb_reader_t and friends

Clean-up:  hch suggested that the RPC client shouldn't pollute the name
space used by the generic skb manipulation routines in net/core/skbuff.c.

Rename a couple of types in xdr.h to adhere to this convention.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: skb_read_bits is the same as xs_tcp_copy_data
Chuck Lever [Tue, 5 Dec 2006 21:35:41 +0000 (16:35 -0500)]
SUNRPC: skb_read_bits is the same as xs_tcp_copy_data

Clean-up: eliminate xs_tcp_copy_data -- it's exactly the same logic as the
common routine skb_read_bits.  The UDP and TCP socket read code now share
the same routine for copying data into an xdr_buf.

Now that skb_read_bits() is exported, rename it to avoid confusing it with
a generic skb_* function.  As these functions are XDR-specific, they should
not have names that suggest they are of generic use.  Also rename
skb_read_and_csum_bits() to be consistent.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Make address format buffers more generic
Chuck Lever [Tue, 5 Dec 2006 21:35:37 +0000 (16:35 -0500)]
SUNRPC: Make address format buffers more generic

For now we will assume that all transports will use the address format
buffers in the rpc_xprt struct to store their addresses.  Change
rpc_peer2str() to be a generic routine to handle this, and get rid of the
print_address() op in the rpc_xprt_ops vector.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: move saved socket callback functions to a private data structure
Chuck Lever [Tue, 5 Dec 2006 21:35:34 +0000 (16:35 -0500)]
SUNRPC: move saved socket callback functions to a private data structure

Move the three fields for saving socket callback functions out of the
rpc_xprt structure and into a private data structure maintained in
net/sunrpc/xprtsock.c.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Move the UDP socket bufsize parameters to a private data structure
Chuck Lever [Tue, 5 Dec 2006 21:35:30 +0000 (16:35 -0500)]
SUNRPC: Move the UDP socket bufsize parameters to a private data structure

Move the socket-specific buffer size parameters for UDP sockets to a
private data structure maintained in net/sunrpc/xprtsock.c.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Move rpc_xprt socket connect fields into private data structure
Chuck Lever [Tue, 5 Dec 2006 21:35:26 +0000 (16:35 -0500)]
SUNRPC: Move rpc_xprt socket connect fields into private data structure

Move the socket-specific connection management fields out of the generic
rpc_xprt structure into a private data structure maintained in
net/sunrpc/xprtsock.c.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Move TCP state flags into xprtsock.c
Chuck Lever [Tue, 5 Dec 2006 21:35:23 +0000 (16:35 -0500)]
SUNRPC: Move TCP state flags into xprtsock.c

Move "XPRT_LAST_FRAG" and friends from xprt.h into xprtsock.c, and rename
them to use the naming scheme in use in xprtsock.c.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Move TCP receive state variables into private data structure
Chuck Lever [Tue, 5 Dec 2006 21:35:19 +0000 (16:35 -0500)]
SUNRPC: Move TCP receive state variables into private data structure

Move the TCP receive state variables from the generic rpc_xprt structure to
a private structure maintained inside net/sunrpc/xprtsock.c.

Also rename a function/variable pair to refer to RPC fragment headers
instead of record markers, to be consistent with types defined in
sunrpc/*.h.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Remove sock and inet fields from rpc_xprt
Chuck Lever [Tue, 5 Dec 2006 21:35:15 +0000 (16:35 -0500)]
SUNRPC: Remove sock and inet fields from rpc_xprt

The "sock" and "inet" fields are socket-specific.  Move them to a private
data structure maintained entirely within net/sunrpc/xprtsock.c

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Allocate a private data area for socket-specific rpc_xprt fields
Chuck Lever [Tue, 5 Dec 2006 21:35:11 +0000 (16:35 -0500)]
SUNRPC: Allocate a private data area for socket-specific rpc_xprt fields

When setting up a new transport instance, allocate enough memory for an
rpc_xprt and a private area.  As part of the same memory allocation, it
will be easy to find one, given a pointer to the other.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpcgss: krb5: miscellaneous cleanup
J. Bruce Fields [Tue, 5 Dec 2006 01:22:42 +0000 (20:22 -0500)]
rpcgss: krb5: miscellaneous cleanup

Miscellaneous cosmetic fixes.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpcgss: krb5: ignore seed
J. Bruce Fields [Tue, 5 Dec 2006 01:22:41 +0000 (20:22 -0500)]
rpcgss: krb5: ignore seed

We're currently not actually using seed or seed_init.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpcgss: krb5: sanity check sealalg value in the downcall
J. Bruce Fields [Tue, 5 Dec 2006 01:22:40 +0000 (20:22 -0500)]
rpcgss: krb5: sanity check sealalg value in the downcall

The sealalg is checked in several places, giving the impression it could be
either SEAL_ALG_NONE or SEAL_ALG_DES.  But in fact SEAL_ALG_NONE seems to
be sufficient only for making mic's, and all the contexts we get must be
capable of wrapping as well.  So the sealalg must be SEAL_ALG_DES.  As
with signalg, just check for the right value on the downcall and ignore it
otherwise.  Similarly, tighten expectations for the sealalg on incoming
tokens, in case we do support other values eventually.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpcgss: krb5: clean up some goto's, etc.
J. Bruce Fields [Tue, 5 Dec 2006 01:22:39 +0000 (20:22 -0500)]
rpcgss: krb5: clean up some goto's, etc.

Remove some unnecessary goto labels; clean up some return values; etc.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpcgss: simplify make_checksum
J. Bruce Fields [Tue, 5 Dec 2006 01:22:38 +0000 (20:22 -0500)]
rpcgss: simplify make_checksum

We're doing some pointless translation between krb5 constants and kernel
crypto string names.

Also clean up some related spkm3 code as necessary.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpcgss: krb5: kill checksum_type, miscellaneous small cleanup
J. Bruce Fields [Tue, 5 Dec 2006 01:22:37 +0000 (20:22 -0500)]
rpcgss: krb5: kill checksum_type, miscellaneous small cleanup

Previous changes reveal some obvious cruft.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpcgss: krb5: expect a constant signalg value
J. Bruce Fields [Tue, 5 Dec 2006 01:22:36 +0000 (20:22 -0500)]
rpcgss: krb5: expect a constant signalg value

We also only ever receive one value of the signalg, so let's not pretend
otherwise

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agogss: krb5: remove signalg and sealalg
J. Bruce Fields [Tue, 5 Dec 2006 01:22:35 +0000 (20:22 -0500)]
gss: krb5: remove signalg and sealalg

We designed the krb5 context import without completely understanding the
context.  Now it's clear that there are a number of fields that we ignore,
or that we depend on having one single value.

In particular, we only support one value of signalg currently; so let's
check the signalg field in the downcall (in case we decide there's
something else we could support here eventually), but ignore it otherwise.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpc: spkm3 update
Olga Kornievskaia [Tue, 5 Dec 2006 01:22:34 +0000 (20:22 -0500)]
rpc: spkm3 update

This updates the spkm3 code to bring it up to date with our current
understanding of the spkm3 spec.

In doing so, we're changing the downcall format used by gssd in the spkm3 case,
which will cause an incompatilibity with old userland spkm3 support.  Since the
old code a) didn't implement the protocol correctly, and b) was never
distributed except in the form of some experimental patches from the citi web
site, we're assuming this is OK.

We do detect the old downcall format and print warning (and fail).  We also
include a version number in the new downcall format, to be used in the
future in case any further change is required.

In some more detail:

- fix integrity support
- removed dependency on NIDs. instead OIDs are used
- known OID values for algorithms added.
- fixed some context fields and types

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpc: move process_xdr_buf
Olga Kornievskaia [Tue, 5 Dec 2006 01:22:33 +0000 (20:22 -0500)]
rpc: move process_xdr_buf

Since process_xdr_buf() is useful outside of the kerberos-specific code, we
move it to net/sunrpc/xdr.c, export it, and rename it in keeping with xdr_*
naming convention of xdr.c.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpc: gss: fix a kmap_atomic race in krb5 code
J. Bruce Fields [Tue, 5 Dec 2006 01:22:32 +0000 (20:22 -0500)]
rpc: gss: fix a kmap_atomic race in krb5 code

This code is never called from interrupt context; it's always run by either
a user thread or rpciod.  So KM_SKB_SUNRPC_DATA is inappropriate here.

Thanks to Aimé Le Rouzic for capturing an oops which showed the kernel
taking an interrupt while we were in this piece of code, resulting in a
nested kmap_atomic(.,KM_SKB_SUNRPC_DATA) call from
xdr_partial_copy_from_skb().

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agorpc: gss: eliminate print_hexl()'s
J. Bruce Fields [Tue, 5 Dec 2006 01:22:31 +0000 (20:22 -0500)]
rpc: gss: eliminate print_hexl()'s

Dumping all this data to the logs is wasteful (even when debugging is turned
off), and creates too much output to be useful when it's turned on.

Fix a minor style bug or two while we're at it.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: another pmap wakeup fix
Chuck Lever [Thu, 16 Nov 2006 20:03:38 +0000 (15:03 -0500)]
SUNRPC: another pmap wakeup fix

Don't wake up bind waiters if a task finds that another task is already
trying to bind.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Clean up calls to mark_inode_dirty() part 2
Trond Myklebust [Tue, 5 Dec 2006 05:45:19 +0000 (00:45 -0500)]
NFS: Clean up calls to mark_inode_dirty() part 2

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Fix up writeback_control->nr_to_write accounting
Trond Myklebust [Tue, 5 Dec 2006 05:36:56 +0000 (00:36 -0500)]
NFS: Fix up writeback_control->nr_to_write accounting

We're really accounting for the same page twice now: once in
generic_writepages(), and once in nfs_scan_dirty().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Fix up the dirty page accounting
Trond Myklebust [Tue, 5 Dec 2006 05:36:09 +0000 (00:36 -0500)]
NFS: Fix up the dirty page accounting

There is now no reason to account for the dirty pages in the NFS code,
since the VM code will now do it for us via __set_page_dirty_nobuffers(),
and set_page_writeback().

We still need to keep the accounting of stable writes, though.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Ensure the inode is marked as dirty if we break out of nfs_wb_all()
Trond Myklebust [Tue, 5 Dec 2006 05:35:42 +0000 (00:35 -0500)]
NFS: Ensure the inode is marked as dirty if we break out of nfs_wb_all()

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Fix nfs_release_page
Trond Myklebust [Tue, 5 Dec 2006 05:35:42 +0000 (00:35 -0500)]
NFS: Fix nfs_release_page

invalidate_inode_pages2_range() will clear the PG_dirty bit before calling
try_to_release_page().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Ensure we only call set_page_writeback() under the page lock
Trond Myklebust [Tue, 5 Dec 2006 05:35:42 +0000 (00:35 -0500)]
NFS: Ensure we only call set_page_writeback() under the page lock

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Make nfs_updatepage() mark the page as dirty.
Trond Myklebust [Tue, 5 Dec 2006 05:35:41 +0000 (00:35 -0500)]
NFS: Make nfs_updatepage() mark the page as dirty.

This will ensure that we can call set_page_writeback() from within
nfs_writepage(), which is always called with the page lock set.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Ensure that nfs_wb_page() calls writepage when necessary.
Trond Myklebust [Tue, 5 Dec 2006 05:35:41 +0000 (00:35 -0500)]
NFS: Ensure that nfs_wb_page() calls writepage when necessary.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Add nfs_set_page_dirty()
Trond Myklebust [Tue, 5 Dec 2006 05:35:40 +0000 (00:35 -0500)]
NFS: Add nfs_set_page_dirty()

We will want to allow nfs_writepage() to distinguish between pages that
have been marked as dirty by the VM, and those that have been marked as
dirty by nfs_updatepage().
In the former case, the entire page will want to be written out, and so any
requests that were pending need to be flushed out first.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Remove nfs_writepage_sync()
Trond Myklebust [Tue, 5 Dec 2006 05:35:40 +0000 (00:35 -0500)]
NFS: Remove nfs_writepage_sync()

Maintaining two parallel ways of doing synchronous writes is rather
pointless. This patch gets rid of the legacy nfs_writepage_sync(), and
replaces it with the faster asynchronous writes.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: More cleanups of fs/nfs/write.c
Trond Myklebust [Tue, 5 Dec 2006 05:35:39 +0000 (00:35 -0500)]
NFS: More cleanups of fs/nfs/write.c

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Remove call to igrab() from nfs_writepage()
Trond Myklebust [Tue, 5 Dec 2006 05:35:39 +0000 (00:35 -0500)]
NFS: Remove call to igrab() from nfs_writepage()

We always ensure that the nfs_open_context holds a reference to the dentry,
so the test in nfs_writepage() for whether or not the inode is referenced
is redundant.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Cleanup: add common helper nfs_page_length()
Trond Myklebust [Tue, 5 Dec 2006 05:35:38 +0000 (00:35 -0500)]
NFS: Cleanup: add common helper nfs_page_length()

Clean up a lot of ad-hoc page length calculations in fs/nfs/write.c

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Store pointer to the nfs_page in page->private
Trond Myklebust [Tue, 5 Dec 2006 05:35:35 +0000 (00:35 -0500)]
NFS: Store pointer to the nfs_page in page->private

This will allow fast lookup of the nfs_page from the struct page instead of
having to search the radix tree.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: cleanup of nfs_sync_inode_wait()
Trond Myklebust [Mon, 9 Oct 2006 20:18:38 +0000 (16:18 -0400)]
NFS: cleanup of nfs_sync_inode_wait()

Allow callers to directly pass it a struct writeback_control.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Clean up nfs_scan_dirty()
Trond Myklebust [Sun, 17 Sep 2006 18:46:44 +0000 (14:46 -0400)]
NFS: Clean up nfs_scan_dirty()

Pass down struct writeback control.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Clean up nfs_flush_inode()
Trond Myklebust [Sat, 16 Sep 2006 17:04:50 +0000 (13:04 -0400)]
NFS: Clean up nfs_flush_inode()

Make it take a struct writepages argument, and rename to
nfs_flush_mapping().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Make the transport-specific setup routine allocate rpc_xprt
Chuck Lever [Tue, 17 Oct 2006 18:44:27 +0000 (14:44 -0400)]
SUNRPC: Make the transport-specific setup routine allocate rpc_xprt

Change the location where the rpc_xprt structure is allocated so each
transport implementation can allocate a private area from the same
chunk of memory.

Note also that xprt->ops->destroy, rather than xprt_destroy, is now
responsible for freeing rpc_xprt when the transport is destroyed.

Test plan:
Connectathon.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: minor optimization of "xid" field in rpc_xprt
Chuck Lever [Tue, 17 Oct 2006 18:44:24 +0000 (14:44 -0400)]
SUNRPC: minor optimization of "xid" field in rpc_xprt

Move the xid field in the rpc_xprt structure to be in the same cache line
as the reserve_lock, since these are used at the same time.

Test plan:
None.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Clean up xs_send_pages()
Trond Myklebust [Tue, 17 Oct 2006 19:06:22 +0000 (15:06 -0400)]
SUNRPC: Clean up xs_send_pages()

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Ensure xdr_buf_read_netobj() checks for memory overruns
Trond Myklebust [Tue, 10 Oct 2006 02:08:22 +0000 (22:08 -0400)]
SUNRPC: Ensure xdr_buf_read_netobj() checks for memory overruns

Also clean up the code...

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Add __(read|write)_bytes_from_xdr_buf
Trond Myklebust [Tue, 17 Oct 2006 17:47:24 +0000 (13:47 -0400)]
SUNRPC: Add __(read|write)_bytes_from_xdr_buf

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Clean up argument types in xdr.c
Trond Myklebust [Thu, 31 Aug 2006 19:09:19 +0000 (15:09 -0400)]
SUNRPC: Clean up argument types in xdr.c

Converts various integer buffer offsets and sizes to unsigned integer.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Remove use of the Big Kernel Lock around nfs calls to readlink
Frank Filz [Tue, 17 Oct 2006 17:24:42 +0000 (10:24 -0700)]
NFS: Remove use of the Big Kernel Lock around nfs calls to readlink

Remove use of the Big Kernel Lock around indirect calls to
nfs3_proc_readlink and nfs4_proc_readlink, both of which
basically call rpc_call_sync.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Remove use of the Big Kernel Lock around calls to rpc_call_sync
Frank Filz [Tue, 17 Oct 2006 17:24:38 +0000 (10:24 -0700)]
NFS: Remove use of the Big Kernel Lock around calls to rpc_call_sync

Remove use of the Big Kernel Lock around calls to rpc_call_sync.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Remove use of the Big Kernel Lock around calls to rpc_execute.
Frank Filz [Tue, 17 Oct 2006 17:24:36 +0000 (10:24 -0700)]
NFS: Remove use of the Big Kernel Lock around calls to rpc_execute.

Remove use of the Big Kernel Lock around calls to rpc_execute.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Remove BKL around the RPC socket operations etc.
Trond Myklebust [Wed, 18 Oct 2006 20:01:06 +0000 (16:01 -0400)]
SUNRPC: Remove BKL around the RPC socket operations etc.

All internal RPC client operations should no longer depend on the BKL,
however lockd and NFS callbacks may still require it.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Fix up missing BKL in asynchronous RPC callback functions
Trond Myklebust [Wed, 18 Oct 2006 20:01:05 +0000 (16:01 -0400)]
SUNRPC: Fix up missing BKL in asynchronous RPC callback functions

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Give cloned RPC clients their own rpc_pipefs directory
Trond Myklebust [Thu, 16 Nov 2006 16:37:27 +0000 (11:37 -0500)]
SUNRPC: Give cloned RPC clients their own rpc_pipefs directory

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Handle the cases where rpc_alloc_iostats() fails
Trond Myklebust [Tue, 21 Nov 2006 15:40:23 +0000 (10:40 -0500)]
SUNRPC: Handle the cases where rpc_alloc_iostats() fails

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Fix nfs_sync_inode_wait(FLUSH_INVALIDATE)
Trond Myklebust [Wed, 15 Nov 2006 22:31:56 +0000 (17:31 -0500)]
NFS: Fix nfs_sync_inode_wait(FLUSH_INVALIDATE)

Currently nfs_sync_inode_wait() will fail to loop correctly when we call
nfs_sync_inode_wait with the FLUSH_INVALIDATE argument.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Fix missing page_unlock() in nfs_readpage
Trond Myklebust [Sun, 19 Nov 2006 21:44:52 +0000 (16:44 -0500)]
NFS: Fix missing page_unlock() in nfs_readpage

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Fix asynchronous read error handling
Trond Myklebust [Tue, 14 Nov 2006 21:12:23 +0000 (16:12 -0500)]
NFS: Fix asynchronous read error handling

We must always call ->read_done() before we truncate the page data, or
decide to flag an error. The reasons are that
in NFSv2, ->read_done() is where the eof flag gets set.
in NFSv3/v4 ->read_done() handles EJUKEBOX-type errors, and
  v4 state recovery.

However, we need to mark the pages as uptodate before we deal with short
read errors, since we may need to modify the nfs_read_data arguments.

We therefore split the current nfs_readpage_result() into two parts:
nfs_readpage_result(), which calls ->read_done() etc, and
nfs_readpage_retry(), which subsequently handles short reads.

Note: Removing the code that retries in case of a short read also fixes a
bug in nfs_direct_read_result(), which used to return a corrupted number of
bytes.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS Exclusive open not supported bug
Andy Ryan [Tue, 7 Nov 2006 20:36:26 +0000 (14:36 -0600)]
NFS Exclusive open not supported bug

When trying to open a file with the O_EXCL flag over NFS on a server that does
not support exclusive mode, the file does not open.  The reason,
rpc_call_sync returns a errno number, and not the nfs error number.  I fixed
it by changing the status check in nfs3proc.c.  Either this is how it should
be fixed, or rpc_call_sync should be fixed to return the NFS error.

Signed-off-by: Andy Ryan <genanr@allantgroup.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSUNRPC: Fix a potential race in rpc_wake_up_task()
Trond Myklebust [Mon, 13 Nov 2006 21:23:44 +0000 (16:23 -0500)]
SUNRPC: Fix a potential race in rpc_wake_up_task()

Use RCU to ensure that we can safely call rpc_finish_wakeup after we've
called __rpc_do_wake_up_task. If not, there is a theoretical race, in which
the rpc_task finishes executing, and gets freed first.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoFix a second potential rpc_wakeup race...
Trond Myklebust [Sun, 12 Nov 2006 03:18:03 +0000 (22:18 -0500)]
Fix a second potential rpc_wakeup race...

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoSubject: Re: [PATCH] Fix SUNRPC wakeup/execute race condition
Christophe Saout [Sun, 5 Nov 2006 17:42:48 +0000 (18:42 +0100)]
Subject: Re: [PATCH] Fix SUNRPC wakeup/execute race condition

The sunrpc scheduler contains a race condition that can let an RPC
task end up being neither running nor on any wait queue. The race takes
place between rpc_make_runnable (called from rpc_wake_up_task) and
__rpc_execute under the following condition:

First __rpc_execute calls tk_action which puts the task on some wait
queue. The task is dequeued by another process before __rpc_execute
continues its execution. While executing rpc_make_runnable exactly after
setting the task `running' bit and before clearing the `queued' bit
__rpc_execute picks up execution, clears `running' and subsequently
both functions fall through, both under the false assumption somebody
else took the job.

Swapping rpc_test_and_set_running with rpc_clear_queued in
rpc_make_runnable fixes that hole. This introduces another possible
race condition that can be handled by checking for `queued' after
setting the `running' bit.

Bug noticed on a 4-way x86_64 system under XEN with an NFSv4 server
on the same physical machine, apparently one of the few ways to hit
this race condition at all.

Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Christophe Saout <christophe@saout.de>
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Wed, 6 Dec 2006 00:09:46 +0000 (16:09 -0800)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (73 commits)
  [SCSI] aic79xx: Add ASC-29320LPE ids to driver
  [SCSI] stex: version update
  [SCSI] stex: change wait loop code
  [SCSI] stex: add new device type support
  [SCSI] stex: update device id info
  [SCSI] stex: adjust default queue length
  [SCSI] stex: add value check in hard reset routine
  [SCSI] stex: fix controller_info command handling
  [SCSI] stex: fix biosparam calculation
  [SCSI] megaraid: fix MMIO casts
  [SCSI] tgt: fix undefined flush_dcache_page() problem
  [SCSI] libsas: better error handling in sas_expander.c
  [SCSI] lpfc 8.1.11 : Change version number to 8.1.11
  [SCSI] lpfc 8.1.11 : Misc Fixes
  [SCSI] lpfc 8.1.11 : Add soft_wwnn sysfs attribute, rename soft_wwn_enable
  [SCSI] lpfc 8.1.11 : Removed decoding of PCI Subsystem Id
  [SCSI] lpfc 8.1.11 : Add MSI (Message Signalled Interrupts) support
  [SCSI] lpfc 8.1.11 : Adjust LOG_FCP logging
  [SCSI] lpfc 8.1.11 : Fix Memory leaks
  [SCSI] lpfc 8.1.11 : Fix lpfc_multi_ring_support
  ...

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6
Linus Torvalds [Tue, 5 Dec 2006 23:52:06 +0000 (15:52 -0800)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
  [PATCH] pcmcia: at91_cf update
  [PATCH] pcmcia: fix m32r_cfc.c compilation
  [PATCH] pcmcia: ds.c debug enhancements
  [PATCH] pcmcia: at91_cf update
  [PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation
  [PATCH] pcmcia: remove prod_id indirection
  [PATCH] pcmcia: remove manf_id and card_id indirection
  [PATCH] pcmcia: IDs for Elan serial PCMCIA devcies
  [PATCH] pcmcia: allow for four multifunction subdevices
  [PATCH] pcmcia: handle __copy_from_user() return value in ioctl
  [PATCH] pcmcia: multifunction card handling fixes
  [PATCH] pcmcia: allow shared IRQs on pd6729 sockets
  [PATCH] pcmcia: start over after CIS override
  [PATCH] cm4000_cs: fix return value check
  [PATCH] pcmcia: yet another IDE ID
  [PATCH] pcmcia: Add an id to ide-cs.c

17 years ago[SCSI] aic79xx: Add ASC-29320LPE ids to driver
Salyzyn, Mark [Tue, 5 Dec 2006 19:37:30 +0000 (14:37 -0500)]
[SCSI] aic79xx: Add ASC-29320LPE ids to driver

Simple patch to add the new PCIe version of the 29320 card.

Signed-off: Mark Salyzyn <Mark_Salyzyn@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] stex: version update
Ed Lin [Tue, 5 Dec 2006 01:49:46 +0000 (17:49 -0800)]
[SCSI] stex: version update

Update version to 3.1.0.1

Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] stex: change wait loop code
Ed Lin [Tue, 5 Dec 2006 01:49:42 +0000 (17:49 -0800)]
[SCSI] stex: change wait loop code

The original wait loop may be much longer than intended time.
Use more accurate timer_after for it. Also adjust wait value to
avoid unnecessary long waiting.

Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] stex: add new device type support
Ed Lin [Tue, 5 Dec 2006 01:49:39 +0000 (17:49 -0800)]
[SCSI] stex: add new device type support

Add support for st_vsc1 type device (st_vsc is ok because it does not
require extra buffer).

Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] stex: update device id info
Ed Lin [Tue, 5 Dec 2006 01:49:36 +0000 (17:49 -0800)]
[SCSI] stex: update device id info

- add comments for various devices
- remove unused device ids(0xf350, 0x4301, 0x8301, 0x8302)
- add new device id(0xe350)
- fix vendor id of st_vsc
- modify Kconfig help info

Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] stex: adjust default queue length
Ed Lin [Tue, 5 Dec 2006 01:49:34 +0000 (17:49 -0800)]
[SCSI] stex: adjust default queue length

Firmware of new version may adjust default queue length. It is
backward compatible.

Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] stex: add value check in hard reset routine
Ed Lin [Tue, 5 Dec 2006 01:49:31 +0000 (17:49 -0800)]
[SCSI] stex: add value check in hard reset routine

During hard reset, an all-1 value from PCI_COMMAND should be invalid.

Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] stex: fix controller_info command handling
Ed Lin [Tue, 5 Dec 2006 01:49:28 +0000 (17:49 -0800)]
[SCSI] stex: fix controller_info command handling

This command needs information from both firmware and driver. First copy
information from firmware to buffer, then fill in driver information.

Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] stex: fix biosparam calculation
Ed Lin [Tue, 5 Dec 2006 01:49:24 +0000 (17:49 -0800)]
[SCSI] stex: fix biosparam calculation

Fix biosparam calculation.

Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] megaraid: fix MMIO casts
Jeff Garzik [Mon, 4 Dec 2006 01:49:23 +0000 (20:49 -0500)]
[SCSI] megaraid: fix MMIO casts

megaraid's MMIO RD*/WR* macros directly call readl() and writel() with
an 'unsigned long' argument.  This throws a warning, but is otherwise OK
because the 'unsigned long' is really the result of ioremap().  This
setup is also OK because the variable can hold an ioremap cookie /or/ a
PCI I/O port (PIO).

However, to fix the warning thrown when readl() and writel() are passed
an unsigned long cookie, I introduce 'void __iomem *mmio_base', holding
the same value as 'base'.  This will silence the warnings, and also
cause an oops whenever these MMIO-only functions are ever accidentally
passed an I/O address.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] tgt: fix undefined flush_dcache_page() problem
akpm@osdl.org [Tue, 5 Dec 2006 07:06:48 +0000 (23:06 -0800)]
[SCSI] tgt: fix undefined flush_dcache_page() problem

drivers/scsi/scsi_tgt_if.c: In function 'tgt_uspace_send_event':
drivers/scsi/scsi_tgt_if.c:88: warning: implicit declaration of function 'flush_dcache_page'

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[PATCH] Centralise definitions of sector_t and blkcnt_t
Matthew Wilcox [Mon, 4 Dec 2006 10:38:31 +0000 (03:38 -0700)]
[PATCH] Centralise definitions of sector_t and blkcnt_t

CONFIG_LBD and CONFIG_LSF are spread into asm/types.h for no particularly
good reason.

Centralising the definition in linux/types.h means that arch maintainers
don't need to bother adding it, as well as fixing the problem with
x86-64 users being asked to make a decision that has absolutely no
effect.

The H8/300 porters seem particularly confused since I'm not aware of any
microcontrollers that need to support 2TB filesystems.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoMerge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
Linus Torvalds [Tue, 5 Dec 2006 03:38:30 +0000 (19:38 -0800)]
Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block

* 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block:
  [PATCH] blktrace: don't return blktrace_seq from trace_note()
  [PATCH] blktrace: uninline trace_note()

17 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfashe...
Linus Torvalds [Tue, 5 Dec 2006 03:33:45 +0000 (19:33 -0800)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (31 commits)
  ocfs2: implement i_op->permission
  configfs: make configfs_dirent_exists() static
  ocfs2: update file system paths to set atime
  ocfs2: core atime update functions
  ocfs2: Add splice support
  ocfs2: Remove ocfs2_write_should_remove_suid()
  [PATCH] Export should_remove_suid()
  configfs: mutex_lock_nested() fix
  ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t
  ocfs2: remove handle argument to ocfs2_start_trans()
  ocfs2: remove ocfs2_journal_handle journal field
  ocfs2: pass ocfs2_super * into ocfs2_commit_trans()
  ocfs2: remove unused handle argument from ocfs2_meta_lock_full()
  ocfs2: make ocfs2_alloc_handle() static
  ocfs2: remove unused ocfs2_handle_add_lock()
  ocfs2: remove unused ocfs2_handle_add_inode()
  ocfs2: Don't allocate handle early in ocfs2_rename()
  ocfs2: don't use handle for locking in allocation functions
  ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_rename()
  ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_symlink()
  ...

17 years ago[PATCH] remote memory corruptor in ibmtr.c
Al Viro [Mon, 4 Dec 2006 22:05:09 +0000 (22:05 +0000)]
[PATCH] remote memory corruptor in ibmtr.c

ip_summed changes last summer had missed that one.  As the result,
we have ip_summed interpreted as CHECKSUM_PARTIAL now.  IOW,
->csum is interpreted as offset of checksum in the packet.  net/core/*
will both read and modify the value as that offset, with obvious
reasons.  At the very least it's a remote memory corruptor.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] selinux endianness annotations
Al Viro [Mon, 4 Dec 2006 22:00:55 +0000 (22:00 +0000)]
[PATCH] selinux endianness annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Tue, 5 Dec 2006 03:23:34 +0000 (19:23 -0800)]
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Cleanup memory barriers for weakly ordered systems.
  [MIPS] Alchemy: Automatically enable CONFIG_RESOURCES_64BIT for PCI configs.
  [MIPS] Unify csum_partial.S
  [MIPS] SWARM: Fix a typo in #error directives
  [MIPS] Fix atomic.h build errors.
  [MIPS] Use SYSVIPC_COMPAT to fix various problems on N32
  [MIPS] klconfig add missing bracket

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Tue, 5 Dec 2006 03:22:33 +0000 (19:22 -0800)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc

* master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc: (194 commits)
  [POWERPC] Add missing EXPORTS for mpc52xx support
  [POWERPC] Remove obsolete PPC_52xx and update CLASSIC32 comment
  [POWERPC] ps3: add a default zImage target
  [POWERPC] Add of_platform_bus support to mpc52xx psc uart driver
  [POWERPC] typo fix and whitespace cleanup on mpc52xx-uart driver
  [POWERPC] Fix debug printks for 32-bit resources in the PCI code
  [POWERPC] Replace kmalloc+memset with kzalloc
  [POWERPC] Linkstation / kurobox support
  [POWERPC] Add the e300c3 core to the CPU table.
  [POWERPC] ppc: m48t35 add missing bracket
  [POWERPC] iSeries: don't build head_64.o unnecessarily
  [POWERPC] iSeries: stop dt_mod.o being rebuilt unnecessarily
  [POWERPC] Fix cputable.h for combined build
  [POWERPC] Allow CONFIG_BOOTX_TEXT on iSeries
  [POWERPC] Allow xmon to build on legacy iSeries
  [POWERPC] Change ppc64_defconfig to use AUTOFS_V4 not V3
  [POWERPC] Tell firmware we can handle POWER6 compatible mode
  [POWERPC] Clean images in arch/powerpc/boot
  [POWERPC] Fix OF pci flags parsing
  [POWERPC] defconfig for lite5200 board
  ...

17 years ago[PATCH] pcmcia: at91_cf update
Andrew Victor [Mon, 4 Dec 2006 10:26:36 +0000 (12:26 +0200)]
[PATCH] pcmcia: at91_cf update

This is an update to the AT91 CompactFlash driver.

We replace the hard-coded "chip select 4" with the chip-select value
passed via platform_data.  The configuration of the EBI memory
controller to enable Compact Flash access is now also handled in the
platform setup code and not in the driver.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: fix m32r_cfc.c compilation
Adrian Bunk [Sat, 2 Dec 2006 17:55:06 +0000 (18:55 +0100)]
[PATCH] pcmcia: fix m32r_cfc.c compilation

More fallout of the post 2.6.19-rc1 IRQ changes...

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: ds.c debug enhancements
Dominik Brodowski [Sat, 2 Dec 2006 20:11:44 +0000 (22:11 +0200)]
[PATCH] pcmcia: ds.c debug enhancements

Add verbose error messages and debug information to ds.c

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: at91_cf update
Andrew Victor [Mon, 6 Nov 2006 13:56:07 +0000 (15:56 +0200)]
[PATCH] pcmcia: at91_cf update

This is an update to the AT91RM9200 CompactFlash driver.

The changes include:
- Use the I/O memory address passed via the platform_device resources
  instead of constant global values.
- The IRQ should not be used as a random'ness source.
- Return errors if ioremap() or request_mem_region() fails.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation
Dominik Brodowski [Thu, 26 Oct 2006 01:49:27 +0000 (21:49 -0400)]
[PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation

struct pcmcia_device *p_dev->conf.ConfigBase and .Present are set in almost
all PCMICA driver right at the beginning, using the same calls but slightly
different implementations. Unfiy this in the PCMCIA core.

Includes a small bugfix ("drivers/net/pcmcia/xirc2ps_cs.c: remove unused
label") from and Signed-off-by Adrian Bunk <bunk@stusta.de>

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: remove prod_id indirection
Dominik Brodowski [Sun, 4 Jun 2006 16:06:13 +0000 (18:06 +0200)]
[PATCH] pcmcia: remove prod_id indirection

As we read out the product information strings (VERS_1) from the PCMCIA device
in the PCMCIA core, and device drivers can access those reliably in struct
pcmcia_device's fields prod_id[], remove additional product information string
detection logic from PCMCIA device drivers.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: remove manf_id and card_id indirection
Dominik Brodowski [Thu, 26 Oct 2006 01:28:53 +0000 (21:28 -0400)]
[PATCH] pcmcia: remove manf_id and card_id indirection

As we read out the manufactor and card_id from the PCMCIA device in the
PCMCIA core, and device drivers can access those reliably in struct
pcmcia_device's fields manf_id and card_id, remove additional (and partly
broken) manf_id and card_id detection logic from PCMCIA device drivers.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: IDs for Elan serial PCMCIA devcies
Tony Olech [Wed, 29 Nov 2006 08:54:51 +0000 (08:54 +0000)]
[PATCH] pcmcia: IDs for Elan serial PCMCIA devcies

Add IDs for Elan serial PCMCIA devices. In addition, move the
pdaudio_cf driver from matching based on manf_id and card_id to
the more specific prod_id1 and prod_id2 to avoid false
positives.

Signed-off-by: Tony Olech <tony.olech@elandigitalsystems.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: allow for four multifunction subdevices
Dominik Brodowski [Tue, 28 Nov 2006 02:03:48 +0000 (21:03 -0500)]
[PATCH] pcmcia: allow for four multifunction subdevices

Some Elan serial cards allow for four (independent) multifunction
subdevices. Teach the PCMCIA core to deal with such devices.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: handle __copy_from_user() return value in ioctl
Dominik Brodowski [Sun, 19 Nov 2006 16:21:27 +0000 (11:21 -0500)]
[PATCH] pcmcia: handle __copy_from_user() return value in ioctl

Handle __copy_from_user() return value.

drivers/pcmcia/pcmcia_ioctl.c:597: warning: ignoring return value of '__copy_from_user', declared with attribute warn_unused_result

Noticed and first fix by Randy Dunlap.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: multifunction card handling fixes
Dominik Brodowski [Tue, 7 Nov 2006 02:52:16 +0000 (21:52 -0500)]
[PATCH] pcmcia: multifunction card handling fixes

s->functions needs to be initialized earlier, for the "let's see
how high it increases" approach means that pcmcia_request_irq()
(which makes use of this value) is confused, and might request
an exclusive IRQ first even though it is not supposed to.

Also, a CIS override autoloaded using the firmware loader may
allow for the use of more or less functions in a multifunction
card. Therefore, we may need to schedule a call to add this
second function later on, or simply remove the other function
(it's always the first -valid- function which reaches this
codepath).

Many thanks to Fabrice Bellet for debugging and testing patches.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: allow shared IRQs on pd6729 sockets
Komuro [Sat, 4 Nov 2006 01:00:47 +0000 (10:00 +0900)]
[PATCH] pcmcia: allow shared IRQs on pd6729 sockets

Use IRQF_PROBE_SHARED flag for request_irq() to find an unused
interrupt for PCMCIA cards.

Signed-off-by: Komuro <komurojun-mbn@nifty.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: start over after CIS override
Dominik Brodowski [Fri, 3 Nov 2006 15:54:00 +0000 (10:54 -0500)]
[PATCH] pcmcia: start over after CIS override

When overriding the CIS, re-start the configuration of the card from
scratch. Reported and debugged by Fabrice Bellet <fabrice@bellet.info>

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] cm4000_cs: fix return value check
Akinobu Mita [Tue, 17 Oct 2006 06:25:59 +0000 (15:25 +0900)]
[PATCH] cm4000_cs: fix return value check

The return value of class_create() need to be checked with IS_ERR().
And register_chrdev() returns errno on failure.
This patch includes these fixes for cm4000_cs and cm4040_cs.

Signed-off-by: Akinbou Mita <akinobu.mita@gmail.com>
Signed-off-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: yet another IDE ID
Marcin Juszkiewicz [Mon, 30 Oct 2006 21:28:09 +0000 (22:28 +0100)]
[PATCH] pcmcia: yet another IDE ID

Microdrive reported by one of OpenEmbedded developers.

product info: "WEIDA", "TWTTI", ""
manfid: 0x000a, 0x0000
function: 4 (fixed disk)

(equivalent update to pata_pcmcia.c by Dominik Brodowski)

Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[PATCH] pcmcia: Add an id to ide-cs.c
Matt Reimer [Thu, 26 Oct 2006 22:56:00 +0000 (15:56 -0700)]
[PATCH] pcmcia: Add an id to ide-cs.c

Add an ID entry for:

product info: "TRANSCEND", "TS1GCF80", "", ""
manfid: 0x000a, 0x0000
function: 4 (fixed disk)

Signed-off-by: Matt Reimer <mreimer@vpop.net>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
17 years ago[POWERPC] Add missing EXPORTS for mpc52xx support
Grant Likely [Tue, 5 Dec 2006 00:29:12 +0000 (17:29 -0700)]
[POWERPC] Add missing EXPORTS for mpc52xx support

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Remove obsolete PPC_52xx and update CLASSIC32 comment
Grant Likely [Tue, 5 Dec 2006 00:29:13 +0000 (17:29 -0700)]
[POWERPC] Remove obsolete PPC_52xx and update CLASSIC32 comment

The support for the 52xx-based systems is now included under
CONFIG_CLASSIC32, since the 52xx chips have a 603e-based core.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] ps3: add a default zImage target
Geoff Levand [Tue, 5 Dec 2006 00:11:38 +0000 (16:11 -0800)]
[POWERPC] ps3: add a default zImage target

Add a powerpc make target that can be loaded by the ps3 bootloader (kboot) and
set this as the default image to build for that platform.

Until the compressed zImage wrapper is made, this arranges for a stripped
vmlinux image to be built.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Add of_platform_bus support to mpc52xx psc uart driver
Grant Likely [Mon, 27 Nov 2006 21:21:02 +0000 (14:21 -0700)]
[POWERPC] Add of_platform_bus support to mpc52xx psc uart driver

Needed to support mpc52xx boards in arch/powerpc.  This patch
retains the platform_bus support when compiling for arch/ppc,
but uses the of_platform bindings for arch/powerpc.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>