05 Jan, 2006
2 commits
-
Trivial manual merge fixup for usb_find_interface clashes.
-
Leave the overloaded "hotplug" word to susbsystems which are handling
real devices. The driver core does not "plug" anything, it just exports
the state to userspace and generates events.Signed-off-by: Kay Sievers
Signed-off-by: Greg Kroah-Hartman
04 Jan, 2006
1 commit
-
To help in reducing the number of include dependencies, several files were
touched as they were getting needed headers indirectly for stuff they use.Thanks also to Alan Menegotto for pointing out that net/dccp/proto.c had
linux/dccp.h include twice.Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller
30 Nov, 2005
7 commits
-
uverbs needs to track which multicast groups is each qp
attached to, in order to properly detach when cleanup
is performed on device file close.Signed-off-by: Jack Morgenstein
Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
On mem-free HCAs, when posting a long list of send requests, a
doorbell must be rung every 255 requests. Add code to handle this.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
If ipoib_ib_dev_up() fails after ipoib_ib_dev_open() is called, then
ipoib_ib_dev_stop() needs to be called to clean up.Signed-off-by: Roland Dreier
-
race condition: ipoib_ib_dev_flush is accessing child list without locks.
Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
ipoib_mcast_alloc() uses kzalloc(), so there's no need to zero out
members of the mcast struct after it's allocated.Signed-off-by: Roland Dreier
-
Make sure mcast->done is initialized to uncompleted value before we
submit a new query, so that it's safe to wait on.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
Always set path->query to NULL when the SA path record query
completes, rather than only when we don't have an address handle.Signed-off-by: Roland Dreier
29 Nov, 2005
3 commits
-
It's possible that IPoIB will issue multiple SA queries for the same
path struct. Therefore the struct's completion needs to be
initialized for each query rather than only once when the struct is
allocated, or else we might not wait long enough for later queries to
finish and free the path struct too soon.Signed-off-by: Roland Dreier
-
ib_umad_write in user_mad.c is looking at rmpp_hdr field in MAD before
checking that the MAD actually has the RMPP header. So for a MAD
without RMPP header it looks like we are actually checking a bit
inside M_Key, or something.Signed-off-by: Jack Morgenstein
Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
last pointer is not updated when QP is modified to reset state. This
causes data corruption if WQEs are already posted on the queue.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier
28 Nov, 2005
1 commit
-
The Coverity checker spotted this obvious use-after-release bug caused
by a wrong order of the cleanups.Signed-off-by: Adrian Bunk
Signed-off-by: Linus Torvalds
19 Nov, 2005
3 commits
-
Make sure that userspace passes in enough data when sending a MAD. We
always copy at least sizeof (struct ib_user_mad) + IB_MGMT_RMPP_HDR
bytes from userspace, so anything less is definitely invalid. Also,
if the length is less than this limit, it's possible for the second
copy_from_user() to get a negative length and trigger a BUG().Signed-off-by: Roland Dreier
-
Calculation of QP capabilities still isn't exactly right in mthca:
max_send_sge/max_recv_sge fields returned in create_qp can exceed the
handware supported limits.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier
15 Nov, 2005
2 commits
-
Responder resources are only required to handle RDMA reads and atomic
operations, not RDMA writes. So the driver should allow RDMA writes
even if responder resources are set to 0. This is especially
important for the UC transport -- with the old code, it was impossible
to enable RDMA writes for UC QPs.Signed-off-by: Roland Dreier
-
Have __srp_get_tx_iu() fail if the target port's request limit will
not allow the initiator to post a send. This avoids continuing on and
posting a receive, and then failing to post a corresponding send. If
that happens, then the initiator will end up with an extra receive
posted, and if this happens to much, the receive queue will overflow.Signed-off-by: Roland Dreier
12 Nov, 2005
1 commit
-
Increase SRP max_luns to 512 to match the kernel's default, since SRP
storage targets can have lots of LUNs and the SRP initiator itself
doesn't have any particular limit.Signed-off-by: Roland Dreier
11 Nov, 2005
13 commits
-
Signed-off-by: Greg Kroah-Hartman
-
The previous umad deadlock fix left ib_umad_kill_port() still
vulnerable to deadlocking. This patch fixes that by downgrading our
lock to a read lock when we might end up trying to reacquire the lock
for reading.Signed-off-by: Roland Dreier
-
In Tavor mode, when posting a long list of receive work requests, a
doorbell must be rung every 256 requests. Add code to do this when
required.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
Handle case where prod_index has wrapped around and become less than
cq->cons_index by checking that their difference as a signed int is
positive rather than comparing directly.Signed-off-by: Roland Dreier
-
The size of work requests for atomic operations was computed
incorrectly in mthca: all sizeofs need to be divided by 16.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
Move the computation of QP capabilities (max scatter/gather entries,
max inline data, etc) into the kernel, and have the uverbs module
return the values as part of the create QP response. This keeps
precise knowledge of device limits in the low-level kernel driver.This requires an ABI bump, so while we're making changes, get rid of
the max_sge parameter for the modify SRQ command -- it's not used and
shouldn't be there.Signed-off-by: Jack Morgenstein
Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
Now that ib_umad uses the new MAD sending interface, it no longer
needs its own L_Key. So just delete the array of MRs that it keeps.Signed-off-by: Roland Dreier
-
Change the struct ib_device.resize_cq() method to take a plain integer
that holds the new CQ size, rather than a pointer to an integer that
it uses to return the new size. This makes the interface match the
exported ib_resize_cq() signature, and allows the low-level driver to
update the CQ size with proper locking if necessary.No in-tree drivers are exporting this method yet.
Signed-off-by: Roland Dreier
-
Fix a typo in the rearming of the catastrophic error polling timer: we
should rearm the timer as long as the stop flag is _not_ set.Signed-off-by: Roland Dreier
-
For cut-and-paste reasons, the IPoIB driver was setting skb->dev right
before calling dev_kfree_skb_any(). Get rid of this.Signed-off-by: Roland Dreier
-
ib_unregister_mad_agent() completes all pending MAD sends and waits
for the agent's send_handler routine to return. umad's send_handler()
calls queue_packet(), which does down_read() on the port mutex to look
up the agent ID. This means that the port mutex cannot be held for
writing while calling ib_unregister_mad_agent(), or else it will
deadlock. This patch fixes all the calls to ib_unregister_mad_agent()
in the umad module to avoid this deadlock.Signed-off-by: Roland Dreier
-
Add ibX_path files to debugfs that contain information about the IPoIB
path cache. IPoIB ARP only gives GIDs, which the IPoIB driver must
resolve to real IB paths through the ib_sa module. For debugging,
when the ARP table looks OK but traffic isn't flowing, it's useful to
be able to see if the resolution from GID to path worked.Also clean up the formatting of the existing _mcg debugfs files.
Signed-off-by: Roland Dreier
09 Nov, 2005
1 commit
-
This patch removes almost all inclusions of linux/version.h. The 3
#defines are unused in most of the touched files.A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
unfortunatly in linux/version.h.There are also lots of #ifdef for long obsolete kernels, this was not
touched. In a few places, the linux/version.h include was move to where
the LINUX_VERSION_CODE was used.quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`
search pattern:
/UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).hSigned-off-by: Olaf Hering
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
07 Nov, 2005
3 commits
-
This is the remaining misc drivers/ part of the big kfree cleanup patch.
Remove pointless checks for NULL prior to calling kfree() in misc files in
drivers/.Signed-off-by: Jesper Juhl
Acked-by: Aristeu Sergio Rozanski Filho
Acked-by: Roland Dreier
Acked-by: Pierre Ossman
Acked-by: Jean Delvare
Acked-by: Greg Kroah-Hartman
Acked-by: Len Brown
Acked-by: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix more include file problems that surfaced since I submitted the previous
fix-missing-includes.patch. This should now allow not to include sched.h
from module.h, which is done by a followup patch.Signed-off-by: Tim Schmielau
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Two small fixes for the umad module:
- set kobject name for issm device properly
- in ib_umad_add_one(), s is subtracted from the index i when
initializing ports, so s should be subtracted from the index when
freeing ports in the error path as well.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier
05 Nov, 2005
3 commits
-
Report the device's real page size capability in mthca_query_device().
Signed-off-by: Jack Morgenstein
Signed-off-by: Roland Dreier