summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/uio-2.6Linus Torvalds2007-07-189-0/+1596
|\ | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/uio-2.6: UIO: Hilscher CIF card driver UIO: Documentation UIO: Add the User IO core code
| * UIO: Hilscher CIF card driverHans-Jürgen Koch2007-07-183-1/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this is a patch that adds support for Hilscher CIF DeviceNet and Profibus cards. I tested it on a Kontron CPX board, and Thomas reviewed it. You can find the user space part here: http://www.osadl.org/projects/downloads/UIO/user/cif-0.1.0.tar.gz Notes: cif_api.c is the main file you want to look at. It contains the functions to open, close, mmap and so on. cif_dps.c adds functions specific to Profibus cards, and cif_dn.c contains functions for DeviceNet cards. cif.c is a universal playground, it's just a small test program. The user space part of this UIO driver is still work in progress, and not everything is tested yet. At the moment, the thread in cif_api.c contains some code that artificially makes the card generate interrupts, this was added for testing and will be removed later. But the driver already contains all the functions needed for useful operation, so it gives a good idea of how such a thing looks like. For comparison, here's what you get from the manufacturer (www.hilscher.com) when you ask for a Linux 2.6 driver: http://www.tglx.de/private/hjk/cif-orig-2.6.tar.bz2 WARNING: Don't look at the code for too long, you might become sick :-) Signed-off-by: Hans-Jürgen Koch <hjk@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * UIO: DocumentationHans J. Koch2007-07-182-0/+615
| | | | | | | | | | | | | | Documentation for the UIO interface From: Hans J. Koch <hjk@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * UIO: Add the User IO core codeHans J. Koch2007-07-186-0/+811
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This interface allows the ability to write the majority of a driver in userspace with only a very small shell of a driver in the kernel itself. It uses a char device and sysfs to interact with a userspace process to process interrupts and control memory accesses. See the docbook documentation for more details on how to use this interface. From: Hans J. Koch <hjk@linutronix.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Benedikt Spranger <b.spranger@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linuxLinus Torvalds2007-07-185-62/+104
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://linux-nfs.org/~bfields/linux: locks: fix vfs_test_lock() comment locks: make posix_test_lock() interface more consistent nfs: disable leases over NFS gfs2: stop giving out non-cluster-coherent leases locks: export setlease to filesystems locks: provide a file lease method enabling cluster-coherent leases locks: rename lease functions to reflect locks.c conventions locks: share more common lease code locks: clean up lease_alloc() locks: convert an -EINVAL return to a BUG leases: minor break_lease() comment clarification
| * | locks: fix vfs_test_lock() commentJ. Bruce Fields2007-07-181-2/+1
| | | | | | | | | | | | | | | | | | | | | Thanks to Doug Chapman for pointing out that the comment here is inconsistent with the function prototype. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
| * | locks: make posix_test_lock() interface more consistentJ. Bruce Fields2007-07-183-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | Since posix_test_lock(), like fcntl() and ->lock(), indicates absence or presence of a conflict lock by setting fl_type to, respectively, F_UNLCK or something other than F_UNLCK, the return value is no longer needed. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
| * | nfs: disable leases over NFSJ. Bruce Fields2007-07-181-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As Peter Staubach says elsewhere (http://marc.info/?l=linux-kernel&m=118113649526444&w=2): > The problem is that some file system such as NFSv2 and NFSv3 do > not have sufficient support to be able to support leases correctly. > In particular for these two file systems, there is no over the wire > protocol support. > > Currently, these two file systems fail the fcntl(F_SETLEASE) call > accidentally, due to a reference counting difference. These file > systems should fail more consciously, with a proper error to > indicate that the call is invalid for them. Define an nfs setlease method that just returns -EINVAL. If someone can demonstrate a real need, perhaps we could reenable them in the presence of the "nolock" mount option. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> Cc: Peter Staubach <staubach@redhat.com> Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
| * | gfs2: stop giving out non-cluster-coherent leasesMarc Eshel2007-07-181-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since gfs2 can't prevent conflicting opens or leases on other nodes, we probably shouldn't allow it to give out leases at all. Put the newly defined lease operation into use in gfs2 by turning off lease, unless we're using the "nolock' locking module (in which case all locking is local anyway). Signed-off-by: Marc Eshel <eshel@almaden.ibm.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Cc: Steven Whitehouse <swhiteho@redhat.com>
| * | locks: export setlease to filesystemsJ. Bruce Fields2007-07-182-1/+3
| | | | | | | | | | | | | | | | | | | | | Export setlease so it can used by filesystems to implement their lease methods. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
| * | locks: provide a file lease method enabling cluster-coherent leasesJ. Bruce Fields2007-07-182-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently leases are only kept locally, so there's no way for a distributed filesystem to enforce them against multiple clients. We're particularly interested in the case of nfsd exporting a cluster filesystem, in which case nfsd needs cluster-coherent leases in order to implement delegations correctly. Also add some documentation. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
| * | locks: rename lease functions to reflect locks.c conventionsJ. Bruce Fields2007-07-183-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've been using the convention that vfs_foo is the function that calls a filesystem-specific foo method if it exists, or falls back on a generic method if it doesn't; thus vfs_foo is what is called when some other part of the kernel (normally lockd or nfsd) wants to get a lock, whereas foo is what filesystems call to use the underlying local functionality as part of their lock implementation. So rename setlease to vfs_setlease (which will call a filesystem-specific setlease after a later patch) and __setlease to setlease. Also, vfs_setlease need only be GPL-exported as long as it's only needed by lockd and nfsd. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
| * | locks: share more common lease codeJ. Bruce Fields2007-07-181-20/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Share more code between setlease (used by nfsd) and fcntl. Also some minor cleanup. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> Acked-by: Christoph Hellwig <hch@infradead.org>
| * | locks: clean up lease_alloc()J. Bruce Fields2007-07-181-12/+9
| | | | | | | | | | | | | | | | | | | | | Return the newly allocated structure as the return value instead of using a struct ** parameter. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
| * | locks: convert an -EINVAL return to a BUGJ. Bruce Fields2007-07-181-3/+1
| | | | | | | | | | | | | | | | | | | | | There's no point trying to return an error in these cases, which all represent bugs in the callers. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
| * | leases: minor break_lease() comment clarificationdavid m. richter2007-07-181-3/+3
| | | | | | | | | | | | | | | | | | | | | clarify that break_lease() checks for presence of any lock, not just leases. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
* | | Merge branch 'for-linus' of ↵Linus Torvalds2007-07-1847-1291/+1055
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: (29 commits) IB/mthca: Simplify use of size0 in work request posting IB/mthca: Factor out setting WQE UD segment entries IB/mthca: Factor out setting WQE remote address and atomic segment entries IB/mlx4: Factor out setting other WQE segments IB/mlx4: Factor out setting WQE data segment entries IB/mthca: Factor out setting WQE data segment entries IB/mlx4: Return receive queue sizes for userspace QPs from query QP IB/mlx4: Increase max outstanding RDMA reads as target RDMA/cma: Remove local write permission from QP access flags IB/mthca: Use uninitialized_var() for f0 IB/cm: Make internal function cm_get_ack_delay() static IB/ipath: Remove ipath_get_user_pages_nocopy() IB/ipath: Make a few functions static mlx4_core: Reset device when internal error is detected IB/iser: Make a couple of functions static IB/mthca: Fix printk format used for firmware version in warning IB/mthca: Schedule MSI support for removal IB/ehca: Fix warnings issued by checkpatch.pl IB/ehca: Restructure ehca_set_pagebuf() IB/ehca: MR/MW structure refactoring ...
| * | | IB/mthca: Simplify use of size0 in work request postingRoland Dreier2007-07-181-17/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current code sets size0 to 0 at the start of work request posting functions and then handles size0 == 0 specially within the loop over work requests. Change this so size0 is set along with f0 the first time through the loop (when nreq == 0). This makes the code easier to understand by making it clearer that f0 and size0 are always initialized if nreq != 0 without having to know that size0 == 0 implies nreq == 0. Also annotate size0 with uninitialized_var() so that this doesn't introduce a new compiler warning. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mthca: Factor out setting WQE UD segment entriesRoland Dreier2007-07-181-18/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Factor code to set UD entries out of the work request posting functions into inline functions set_tavor_ud_seg() and set_arbel_ud_seg(). This doesn't change the generated code in any significant way, and makes the source easier on the eyes. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mthca: Factor out setting WQE remote address and atomic segment entriesRoland Dreier2007-07-181-59/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Factor code to set remote address and atomic segment entries out of the work request posting functions into inline functions set_raddr_seg() and set_atomic_seg(). This doesn't change the generated code in any significant way, and makes the source easier on the eyes. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mlx4: Factor out setting other WQE segmentsRoland Dreier2007-07-181-31/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Factor code to set remote address, atomic and datagram segments out of mlx4_ib_post_send() into small helper functions. This doesn't change the generated code in any significant way, and makes the source easier on the eyes. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mlx4: Factor out setting WQE data segment entriesRoland Dreier2007-07-181-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Factor code to set data segment entries out of mlx4_ib_post_send() into set_data_seg(). This cleans up the code and lets the compiler do a better job -- on x86_64: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-16 (-16) function old new delta mlx4_ib_post_send 1598 1582 -16 Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mthca: Factor out setting WQE data segment entriesRoland Dreier2007-07-183-54/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Factor code to set data segment entries out of the work request posting functions into inline functions mthca_set_data_seg() and mthca_set_data_seg_inval(). This makes the code more readable and also allows the compiler to do a better job -- on x86_64: add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-69 (-69) function old new delta mthca_arbel_post_srq_recv 373 369 -4 mthca_arbel_post_receive 570 562 -8 mthca_tavor_post_srq_recv 520 508 -12 mthca_tavor_post_send 1344 1330 -14 mthca_arbel_post_send 1481 1467 -14 mthca_tavor_post_receive 792 775 -17 Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mlx4: Return receive queue sizes for userspace QPs from query QPRoland Dreier2007-07-171-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return the receive queue sizes for both userspace QPs and kernel Qps (not just kernel QPs) from mlx4_ib_query_qp(). Also zero the send queue sizes for userspace QPs to avoid a possible information leak, and set the max_inline_data for kernel QPs to 0 since inline sends are not supported for kernel QPs. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mlx4: Increase max outstanding RDMA reads as targetJack Morgenstein2007-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the maximum number of outstanding RDMA reads allowed as a target from 4 to 16 to per QP. This allows RDMA read operations to pipeline better. Pointed out by Dotan Barak and Sagi Rotem. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | RDMA/cma: Remove local write permission from QP access flagsDotan Barak2007-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Local write permission makes no sense as part of the QP access flags, since the access flags only control what the remote end of the connection is allowed to do. Remove the code in the RDMA CM that initializes qp_access_flags with IB_ACCESS_LOCAL_WRITE. Signed-off-by: Dotan Barak <dotanb@mellanox.co.il> Acked-by: Sean Hefty <sean.hefty@intel.com> Acked-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mthca: Use uninitialized_var() for f0Roland Dreier2007-07-171-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 9db48926 ("drivers/infiniband/hw/mthca/mthca_qp: kill uninit'd var warning") added "= 0" to the declarations of f0 to shut up gcc warnings. However, there's no point in making the code bigger by initializing f0 to a random value just to get rid of a warning; setting f0 to 0 is no safer than just using uninitialized_var(), which documents the situation better and gives smaller code too. For example, on x86_64: add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-16 (-16) function old new delta mthca_tavor_post_send 1352 1344 -8 mthca_arbel_post_send 1489 1481 -8 Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/cm: Make internal function cm_get_ack_delay() staticRoland Dreier2007-07-171-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ipath: Remove ipath_get_user_pages_nocopy()Roland Dreier2007-07-172-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | It has no callers and is completely dead code. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ipath: Make a few functions staticRoland Dreier2007-07-177-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make some functions that are only used in a single .c file static. In addition to being a cleanup, this shrinks the generated code. On x86_64: add/remove: 1/3 grow/shrink: 2/1 up/down: 4777/-4956 (-179) function old new delta handle_errors - 3994 +3994 __verbs_timer 42 710 +668 ipath_do_ruc_send 2131 2246 +115 ipath_no_bufs_available 136 - -136 ipath_disarm_senderrbufs 639 - -639 ipath_ib_timer 658 - -658 ipath_intr 5878 2355 -3523 Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | mlx4_core: Reset device when internal error is detectedJack Morgenstein2007-07-175-72/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reset the device when an internal error is detected. Also, detect errors by polling the error buffer rather than using interrupts. This is more robust and doesn't depend on MSI-X. Remove the old interrupt handler entirely, since we don't want to support two mechanisms for detecting internal errors. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/iser: Make a couple of functions staticRoland Dreier2007-07-173-31/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make iser_conn_release() and iser_start_rdma_unaligned_sg() static, since they are only used in the .c file where they are defined. In addition to being a cleanup, this even shrinks the generated code by allowing the single call of iser_start_rdma_unaligned_sg() to be inlined into its callsite. On x86_64: add/remove: 0/1 grow/shrink: 1/0 up/down: 466/-533 (-67) function old new delta iser_reg_rdma_mem 1518 1984 +466 iser_start_rdma_unaligned_sg 533 - -533 Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mthca: Fix printk format used for firmware version in warningRoland Dreier2007-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When warning about out-of-date firmware, current mthca code messes up the formatting of the version if the subminor doesn't have three digits. It doesn't fill the field with 0s so we end up with: ib_mthca 0000:0b:00.0: HCA FW version 1.1. 0 is old (1.2. 0 is current). Change the format from "%3d" to "%03d" to get the right thing printed. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mthca: Schedule MSI support for removalRoland Dreier2007-07-172-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mthca driver supports both MSI and MSI-X. However, MSI-X works with all hardware that the driver handles, and provides a superset of what MSI does, so there's no point in having code for both. Schedule MSI support for removal in 2008 to give anyone who actually needs MSI and who can't use MSI time to speak up. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ehca: Fix warnings issued by checkpatch.plHoang-Nam Nguyen2007-07-1722-242/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run the existing ehca code through checkpatch.pl and clean up the worst of the coding style violations. Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ehca: Restructure ehca_set_pagebuf()Hoang-Nam Nguyen2007-07-171-331/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split ehca_set_pagebuf() into three functions depending on MR type (phys/user/fast) and remove superfluous ehca_set_pagebuf_1(). Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ehca: MR/MW structure refactoringHoang-Nam Nguyen2007-07-172-277/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rename struct ehca_mr fields to clearly distinguish between kernel and HW page size. - Sort struct ehca_mr_pginfo into a common part and a union containing specific fields for physical, user and fast MR Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ehca: Use macro to calculate number of chunks in a mem blockHoang-Nam Nguyen2007-07-171-23/+24
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ehca: Use #define for "pages per register_rpage" instead of hardcoded valueHoang-Nam Nguyen2007-07-171-8/+11
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ehca: Use common error code mapping instead of specific onesHoang-Nam Nguyen2007-07-173-197/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of one error mapping function for each potential error source in ehca_mrmw.c, use a centralized function that handles all cases, saving a three-figure line count. Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ehca: Fix memory leak in error path of ehca_get_dma_mr()Hoang-Nam Nguyen2007-07-171-0/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/ehca: Fix HW level autodetectionJoachim Fenkes2007-07-171-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autodetection was missing a few HW revisions, causing certain eHCA1 revisions to be treated like eHCA2. Fixed. Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mlx4: Take sizeof the correct pointer in call to memset()Dotan Barak2007-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When clearing the ib_ah_attr parameter in to_ib_ah_attr(), use sizeof *ib_ah_attr instead of sizeof *path. This is the same bug as was fixed for mthca in 99d4f22e ("IB/mthca: Use correct structure size in call to memset()"), but the code was cut and pasted into mlx4 before the fix was merged. Signed-off-by: Dotan Barak <dotanb@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mlx4: Fix port returned from query QP for QPs in INIT stateJack Morgenstein2007-07-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a QP is in the INIT state, the sched_queue field hasn't been given to the firmware yet, so the firmware cannot return the value when the QP is queried. To handle this, use the port number that is saved in the driver's QP data structure. Found by Dotan Barak and Yaron Gepstein of Mellanox. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | IB/mlx4: Fix flow label returned from query QPJack Morgenstein2007-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correct the mask used to get the flow label, since the field is 20 bits, not 24 bits. Found by Dotan Barak and Yaron Gepstein of Mellanox. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | RDMA/cxgb3: Remove cm_id reference on listen failuresSteve Wise2007-07-171-0/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
* | | | firewire: fw-sbp2: convert to new SCSI data buffer accessorsStefan Richter2007-07-181-9/+7
| | | | | | | | | | | | | | | | Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
* | | | firewire: fix memory leak of fw_request instancesStefan Richter2007-07-182-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found and debugged by Jay Fenlason <fenlason@redhat.com>. The bug was especially noticeable with direct I/O over fw-sbp2. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Kristian Høgsberg <krh@redhat.com>
* | | | firewire: remove bogus check in fw_core_handle_requestStefan Richter2007-07-181-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This check is bogus: - Maximum asynchronous payload size for S800...S3200 is 4096. - The p->payload_length is totally uninteresting. Only the request->length of the subsequently allocated and initialized struct fw_request is of significance. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Kristian Høgsberg <krh@redhat.com>
* | | | firewire: fw-ohci: fix "scheduling while atomic"Stefan Richter2007-07-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | context_stop is called by bus_reset_tasklet, among else. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>