<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/infiniband, branch linux-2.6.16.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.16.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.16.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2007-03-11T06:37:12+00:00</updated>
<entry>
<title>IB/mthca: Fix off-by-one in FMR handling on memfree</title>
<updated>2007-03-11T06:37:12+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@mellanox.co.il</email>
</author>
<published>2007-03-11T06:37:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=59d2b001518d200ba99d213e41c892f5fe750d07'/>
<id>urn:sha1:59d2b001518d200ba99d213e41c892f5fe750d07</id>
<content type='text'>
From: Michael S. Tsirkin &lt;mst@mellanox.co.il&gt;

mthca_table_find() will return the wrong address when the table entry
being searched for is exactly at the beginning of a sglist entry
(other than the first), because it uses &gt;= when it should use &gt;.

Example: assume we have 2 entries in scatterlist, 4K each, offset is 4K.
The current code will return first entry + 4K when we really want
the second entry.

In particular this means mapping an FMR on a memfree HCA may end up
writing the page table into the wrong place, leading to memory
corruption and also causing the HCA to use an incorrect address
translation table.

Signed-off-by: Michael S. Tsirkin &lt;mst@mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>IPoIB: Rejoin all multicast groups after a port event</title>
<updated>2007-03-11T06:36:27+00:00</updated>
<author>
<name>Eli Cohen</name>
<email>eli@mellanox.co.il</email>
</author>
<published>2007-03-11T06:36:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4b3c56f0239d50fff032d3ff53f7b7509d10b53b'/>
<id>urn:sha1:4b3c56f0239d50fff032d3ff53f7b7509d10b53b</id>
<content type='text'>
When ipoib_ib_dev_flush() is called because of a port event, the
driver needs to rejoin all multicast groups, since the flush will call
ipoib_mcast_dev_flush() (via ipoib_ib_dev_down()).  Otherwise no
(non-broadcast) multicast groups will be rejoined until the networking
core calls -&gt;set_multicast_list again, and so multicast reception will
be broken for potentially a long time.

Signed-off-by: Eli Cohen &lt;eli@mellanox.co.il&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>IB/mthca: Use mmiowb after doorbell ring</title>
<updated>2007-03-11T06:35:15+00:00</updated>
<author>
<name>Arthur Kepner</name>
<email>akepner@sgi.com</email>
</author>
<published>2007-03-11T06:35:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=11bb9d392c1d5b63e2b9a0c8cc8a64cf49808757'/>
<id>urn:sha1:11bb9d392c1d5b63e2b9a0c8cc8a64cf49808757</id>
<content type='text'>
We discovered a problem when running IPoIB applications on multiple
CPUs on an Altix system. Many messages such as:

ib_mthca 0002:01:00.0: SQ 000014 full (19941644 head, 19941707 tail, 64 max, 0 nreq)

appear in syslog, and the driver wedges up.

Apparently this is because writes to the doorbells from different CPUs
reach the device out of order. The following patch adds mmiowb() calls
after doorbell rings to ensure the doorbell writes are ordered.

Signed-off-by: Arthur Kepner &lt;akepner@sgi.com&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>IB/mthca: restore missing PCI registers after reset</title>
<updated>2006-08-07T17:04:22+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@mellanox.co.il</email>
</author>
<published>2006-08-07T17:04:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ad29cb6531ebcc567327ab3030516f2f400a1c4e'/>
<id>urn:sha1:ad29cb6531ebcc567327ab3030516f2f400a1c4e</id>
<content type='text'>
mthca does not restore the following PCI-X/PCI Express registers after reset:
  PCI-X device: PCI-X command register
  PCI-X bridge: upstream and downstream split transaction registers
  PCI Express : PCI Express device control and link control registers

This causes instability and/or bad performance on systems where one of
these registers is set to a non-default value by BIOS.

Signed-off-by: Michael S. Tsirkin &lt;mst@mellanox.co.il&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>IB/srp: Don't send task management commands after target removal</title>
<updated>2006-03-04T01:50:16+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>rolandd@cisco.com</email>
</author>
<published>2006-03-03T23:47:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1285b3a0b0aa2391ac6f6939e6737203c8220f68'/>
<id>urn:sha1:1285b3a0b0aa2391ac6f6939e6737203c8220f68</id>
<content type='text'>
Just fail abort and reset requests that come in after we've already
decided to remove a target.

Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband</title>
<updated>2006-02-14T21:49:37+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2006-02-14T21:49:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f78cf0dc7b7b13d0550d1e02cf221b65969ff926'/>
<id>urn:sha1:f78cf0dc7b7b13d0550d1e02cf221b65969ff926</id>
<content type='text'>
</content>
</entry>
<entry>
<title>IB/mthca: bump driver version and release date</title>
<updated>2006-02-13T20:19:44+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>rolandd@cisco.com</email>
</author>
<published>2006-02-13T20:19:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7d2babc4874825027848db04d11784070da4456d'/>
<id>urn:sha1:7d2babc4874825027848db04d11784070da4456d</id>
<content type='text'>
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB: Yet another fix for send-only joins</title>
<updated>2006-02-11T20:22:12+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>rolandd@cisco.com</email>
</author>
<published>2006-02-11T20:22:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=20b83382d1c5d4d1a73fc5671261db5239d1dbb3'/>
<id>urn:sha1:20b83382d1c5d4d1a73fc5671261db5239d1dbb3</id>
<content type='text'>
Even after the last fix, it's still possible for a send-only join to
start before the join for the broadcast group has finished.  This
could cause us to create a multicast group using attributes from the
broadcast group that haven't been initialized yet, so we would use
garbage for the Q_Key, etc.  Fix this by waiting until the broadcast
group's attached flag is set before starting send-only joins.

Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IB/mthca: Don't print debugging info until we have all values</title>
<updated>2006-02-11T02:02:44+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>rolandd@cisco.com</email>
</author>
<published>2006-02-11T02:02:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f295c79b6766b25fe8c1aad88211c54d1caa7e0b'/>
<id>urn:sha1:f295c79b6766b25fe8c1aad88211c54d1caa7e0b</id>
<content type='text'>
When debugging is enabled, the mthca_QUERY_DEV_LIM() firmware command
function prints out some of the device limits that it queries.
However the debugging prints happen before all of the fields are
extracted from the firmware response, so some of the values that get
printed are uninitialized junk.  Move the prints to the end of the
function to fix this.

Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB: Fix another send-only join race</title>
<updated>2006-02-08T00:39:26+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@mellanox.co.il</email>
</author>
<published>2006-02-08T00:39:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7bcb974ef6a0ae903888272c92c66ea779388c01'/>
<id>urn:sha1:7bcb974ef6a0ae903888272c92c66ea779388c01</id>
<content type='text'>
Further, there's an additional issue that I saw in testing:
ipoib_mcast_send may get called when priv-&gt;broadcast is NULL (e.g. if
the device was downed and then upped internally because of a port
event).

If this happends and the send-only join request gets completed before
priv-&gt;broadcast is set, we get an oops.

Signed-off-by: Michael S. Tsirkin &lt;mst@mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
</feed>
