<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/infiniband, branch v4.7.6</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>iw_cxgb4: stop MPA_REPLY timer when disconnecting</title>
<updated>2016-09-30T08:12:48+00:00</updated>
<author>
<name>Steve Wise</name>
<email>swise@opengridcomputing.com</email>
</author>
<published>2016-07-29T15:38:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c270b18bea75269388a7089b080840884c9d5d5c'/>
<id>c270b18bea75269388a7089b080840884c9d5d5c</id>
<content type='text'>
commit 12eb5137edecfd8fb6d23dacec2a3630e729736f upstream.

There exists a race where the application can setup a connection
and then disconnect it before iw_cxgb4 processes the fw4_ack
message.  For passive side connections, the fw4_ack message is
used to know when to stop the ep timer for MPA_REPLY messages.

If the application disconnects before the fw4_ack is handled then
c4iw_ep_disconnect() needs to clean up the timer state and stop the
timer before restarting it for the disconnect timer.  Failure to do this
results in a "timer already started" message and a premature stopping
of the disconnect timer.

Fixes: e4b76a2 ("RDMA/iw_cxgb4: stop_ep_timer() after MPA negotiation")

Signed-off-by: Steve Wise &lt;swise@opengridcomputing.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 12eb5137edecfd8fb6d23dacec2a3630e729736f upstream.

There exists a race where the application can setup a connection
and then disconnect it before iw_cxgb4 processes the fw4_ack
message.  For passive side connections, the fw4_ack message is
used to know when to stop the ep timer for MPA_REPLY messages.

If the application disconnects before the fw4_ack is handled then
c4iw_ep_disconnect() needs to clean up the timer state and stop the
timer before restarting it for the disconnect timer.  Failure to do this
results in a "timer already started" message and a premature stopping
of the disconnect timer.

Fixes: e4b76a2 ("RDMA/iw_cxgb4: stop_ep_timer() after MPA negotiation")

Signed-off-by: Steve Wise &lt;swise@opengridcomputing.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/hfi1: Reset QSFP on every run through channel tuning</title>
<updated>2016-09-24T08:09:29+00:00</updated>
<author>
<name>Easwar Hariharan</name>
<email>easwar.hariharan@intel.com</email>
</author>
<published>2016-07-25T20:40:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b4000d206c21d868f9598a6d7b2fee5d48f613ec'/>
<id>b4000d206c21d868f9598a6d7b2fee5d48f613ec</id>
<content type='text'>
commit b5e710195492f682d93097cddac13e594d39a946 upstream.

Active QSFP cables were reset only every alternate iteration of the
channel tuning algorithm instead of every iteration due to incorrect
reset of the flag that controlled QSFP reset, resulting in using stale
QSFP status in the channel tuning algorithm.

Fixes: 8ebd4cf1852a ("Add active and optical cable support")
Reviewed-by: Dean Luick &lt;dean.luick@intel.com&gt;
Signed-off-by: Easwar Hariharan &lt;easwar.hariharan@intel.com&gt;
Signed-off-by: Dennis Dalessandro &lt;dennis.dalessandro@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b5e710195492f682d93097cddac13e594d39a946 upstream.

Active QSFP cables were reset only every alternate iteration of the
channel tuning algorithm instead of every iteration due to incorrect
reset of the flag that controlled QSFP reset, resulting in using stale
QSFP status in the channel tuning algorithm.

Fixes: 8ebd4cf1852a ("Add active and optical cable support")
Reviewed-by: Dean Luick &lt;dean.luick@intel.com&gt;
Signed-off-by: Easwar Hariharan &lt;easwar.hariharan@intel.com&gt;
Signed-off-by: Dennis Dalessandro &lt;dennis.dalessandro@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/uverbs: Fix race between uverbs_close and remove_one</title>
<updated>2016-09-24T08:09:29+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2016-07-03T12:28:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d86220a95429bd8c81514f3a0799e102463c034d'/>
<id>d86220a95429bd8c81514f3a0799e102463c034d</id>
<content type='text'>
commit d1e09f304a1d9651c5059ebfeb696dc2effc9b32 upstream.

Fixes an oops that might happen if uverbs_close races with
remove_one.

Both contexts may run ib_uverbs_cleanup_ucontext, it depends
on the flow.

Currently, there is no protection for a case that remove_one
didn't make the cleanup it runs to its end, the underlying
ib_device was freed then uverbs_close will call
ib_uverbs_cleanup_ucontext and OOPs.

Above might happen if uverbs_close deleted the file from the list
then remove_one didn't find it and runs to its end.

Fixes to protect against that case by a new cleanup lock so that
ib_uverbs_cleanup_ucontext will be called always before that
remove_one is ended.

Fixes: 35d4a0b63dc0 ("IB/uverbs: Fix race between ib_uverbs_open and remove_one")
Reported-by: Devesh Sharma &lt;devesh.sharma@broadcom.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Signed-off-by: Yishai Hadas &lt;yishaih@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leon@kernel.org&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d1e09f304a1d9651c5059ebfeb696dc2effc9b32 upstream.

Fixes an oops that might happen if uverbs_close races with
remove_one.

Both contexts may run ib_uverbs_cleanup_ucontext, it depends
on the flow.

Currently, there is no protection for a case that remove_one
didn't make the cleanup it runs to its end, the underlying
ib_device was freed then uverbs_close will call
ib_uverbs_cleanup_ucontext and OOPs.

Above might happen if uverbs_close deleted the file from the list
then remove_one didn't find it and runs to its end.

Fixes to protect against that case by a new cleanup lock so that
ib_uverbs_cleanup_ucontext will be called always before that
remove_one is ended.

Fixes: 35d4a0b63dc0 ("IB/uverbs: Fix race between ib_uverbs_open and remove_one")
Reported-by: Devesh Sharma &lt;devesh.sharma@broadcom.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Signed-off-by: Yishai Hadas &lt;yishaih@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leon@kernel.org&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/hfi1,IB/qib: Fix qp_stats sleep with rcu read lock held</title>
<updated>2016-09-24T08:09:29+00:00</updated>
<author>
<name>Mike Marciniszyn</name>
<email>mike.marciniszyn@intel.com</email>
</author>
<published>2016-08-12T15:17:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1c94558c5df3e05f6d0051f947087441f9ff56d4'/>
<id>1c94558c5df3e05f6d0051f947087441f9ff56d4</id>
<content type='text'>
commit c62fb260a86dde3df5b2905432caa0e9f6898434 upstream.

The qp init function does a kzalloc() while holding the RCU
lock that encounters the following warning with a debug kernel
when a cat of the qp_stats is done:

[  231.723948] rcu_scheduler_active = 1, debug_locks = 0
[  231.731939] 3 locks held by cat/11355:
[  231.736492]  #0:  (debugfs_srcu){......}, at: [&lt;ffffffff813001a5&gt;] debugfs_use_file_start+0x5/0x90
[  231.746955]  #1:  (&amp;p-&gt;lock){+.+.+.}, at: [&lt;ffffffff81289a6c&gt;] seq_read+0x4c/0x3c0
[  231.755873]  #2:  (rcu_read_lock){......}, at: [&lt;ffffffffa0a0c535&gt;] _qp_stats_seq_start+0x5/0xd0 [hfi1]
[  231.766862]

The init functions do an implicit next which requires the rcu read lock
before the kzalloc().

Fix for both drivers is to change the scope of the init function to only
do the allocation and the initialization of the just allocated iter.

The implict next is moved back into the respective start functions to fix
the issue.

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Mike Marciniszyn &lt;mike.marciniszyn@intel.com&gt;
Reviewed-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c62fb260a86dde3df5b2905432caa0e9f6898434 upstream.

The qp init function does a kzalloc() while holding the RCU
lock that encounters the following warning with a debug kernel
when a cat of the qp_stats is done:

[  231.723948] rcu_scheduler_active = 1, debug_locks = 0
[  231.731939] 3 locks held by cat/11355:
[  231.736492]  #0:  (debugfs_srcu){......}, at: [&lt;ffffffff813001a5&gt;] debugfs_use_file_start+0x5/0x90
[  231.746955]  #1:  (&amp;p-&gt;lock){+.+.+.}, at: [&lt;ffffffff81289a6c&gt;] seq_read+0x4c/0x3c0
[  231.755873]  #2:  (rcu_read_lock){......}, at: [&lt;ffffffffa0a0c535&gt;] _qp_stats_seq_start+0x5/0xd0 [hfi1]
[  231.766862]

The init functions do an implicit next which requires the rcu read lock
before the kzalloc().

Fix for both drivers is to change the scope of the init function to only
do the allocation and the initialization of the just allocated iter.

The implict next is moved back into the respective start functions to fix
the issue.

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Mike Marciniszyn &lt;mike.marciniszyn@intel.com&gt;
Reviewed-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/core, RDMA RW API: Do not exceed QP SGE send limit</title>
<updated>2016-08-20T16:11:02+00:00</updated>
<author>
<name>Bart Van Assche</name>
<email>bart.vanassche@sandisk.com</email>
</author>
<published>2016-07-21T20:03:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=84c9756c8bf7b7130b506679e7a2509a64fb758a'/>
<id>84c9756c8bf7b7130b506679e7a2509a64fb758a</id>
<content type='text'>
commit 632bc3f65081dd1e2e5394a9161580a0f78e8839 upstream.

Compute the SGE limit for RDMA READ and WRITE requests in
ib_create_qp(). Use that limit in the RDMA RW API implementation.

Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Cc: Steve Wise &lt;swise@opengridcomputing.com&gt;
Cc: Parav Pandit &lt;pandit.parav@gmail.com&gt;
Cc: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Cc: Laurence Oberman &lt;loberman@redhat.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 632bc3f65081dd1e2e5394a9161580a0f78e8839 upstream.

Compute the SGE limit for RDMA READ and WRITE requests in
ib_create_qp(). Use that limit in the RDMA RW API implementation.

Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Cc: Steve Wise &lt;swise@opengridcomputing.com&gt;
Cc: Parav Pandit &lt;pandit.parav@gmail.com&gt;
Cc: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Cc: Laurence Oberman &lt;loberman@redhat.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/core: Make rdma_rw_ctx_init() initialize all used fields</title>
<updated>2016-08-20T16:11:02+00:00</updated>
<author>
<name>Bart Van Assche</name>
<email>bart.vanassche@sandisk.com</email>
</author>
<published>2016-07-21T20:03:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1406586821b660baba40ba98881e9ce7d932b409'/>
<id>1406586821b660baba40ba98881e9ce7d932b409</id>
<content type='text'>
commit eaa74ec7329a48a4b724d8de440b3a2cbaabf7c8 upstream.

Some but not all callers of rdma_rw_ctx_init() zero-initialize
struct rdma_rw_ctx. Hence make rdma_rw_ctx_init() initialize all
work request fields that will be read by ib_post_send().

Fixes: a060b5629ab0 ("IB/core: generic RDMA READ/WRITE API")
Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Reviewed-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Tested-by: Steve Wise &lt;swise@opengridcomputing.com&gt;
Tested-by: Laurence Oberman &lt;loberman@redhat.com&gt;
Cc: Parav Pandit &lt;pandit.parav@gmail.com&gt;
Cc: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit eaa74ec7329a48a4b724d8de440b3a2cbaabf7c8 upstream.

Some but not all callers of rdma_rw_ctx_init() zero-initialize
struct rdma_rw_ctx. Hence make rdma_rw_ctx_init() initialize all
work request fields that will be read by ib_post_send().

Fixes: a060b5629ab0 ("IB/core: generic RDMA READ/WRITE API")
Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Reviewed-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Tested-by: Steve Wise &lt;swise@opengridcomputing.com&gt;
Tested-by: Laurence Oberman &lt;loberman@redhat.com&gt;
Cc: Parav Pandit &lt;pandit.parav@gmail.com&gt;
Cc: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/srpt: Limit the number of SG elements per work request</title>
<updated>2016-08-20T16:11:02+00:00</updated>
<author>
<name>Bart Van Assche</name>
<email>bart.vanassche@sandisk.com</email>
</author>
<published>2016-07-21T20:03:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d15cc043d7e450cb759ca997c618d4bb06b17836'/>
<id>d15cc043d7e450cb759ca997c618d4bb06b17836</id>
<content type='text'>
commit 30c6d8773de06878f920666d8c945f81cb2081b3 upstream.

Limit the number of SG elements per work request to what the HCA
and the queue pair support.

Fixes: 34693573fde0 ("IB/srpt: Reduce QP buffer size")
Reported-by: Parav Pandit &lt;pandit.parav@gmail.com&gt;
Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Cc: Steve Wise &lt;swise@opengridcomputing.com&gt;
Cc: Parav Pandit &lt;pandit.parav@gmail.com&gt;
Cc: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Cc: Laurence Oberman &lt;loberman@redhat.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 30c6d8773de06878f920666d8c945f81cb2081b3 upstream.

Limit the number of SG elements per work request to what the HCA
and the queue pair support.

Fixes: 34693573fde0 ("IB/srpt: Reduce QP buffer size")
Reported-by: Parav Pandit &lt;pandit.parav@gmail.com&gt;
Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Cc: Steve Wise &lt;swise@opengridcomputing.com&gt;
Cc: Parav Pandit &lt;pandit.parav@gmail.com&gt;
Cc: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Cc: Laurence Oberman &lt;loberman@redhat.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/rdmavt: Add missing spin_lock_init call for rdi-&gt;n_cqs_lock</title>
<updated>2016-08-20T16:11:02+00:00</updated>
<author>
<name>Jianxin Xiong</name>
<email>jianxin.xiong@intel.com</email>
</author>
<published>2016-07-25T20:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c8029fae4f239c13d89d25e4b18897ea1bf001e7'/>
<id>c8029fae4f239c13d89d25e4b18897ea1bf001e7</id>
<content type='text'>
commit a6580f4310ded039fc9f682cbf027fbba217652b upstream.

This fixes the following warning with PROV_LOCKING enabled kernel:

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 15 PID: 12286 Comm: modprobe Not tainted 4.7.0-rc5.prove_rcu+ #1
Hardware name: Intel Corporation S2600WT2R/S2600WT2R,
......
Call Trace:
[&lt;ffffffff8139ec0d&gt;] dump_stack+0x85/0xc8
[&lt;ffffffff810eb765&gt;] register_lock_class+0x415/0x4b0
[&lt;ffffffff810ede1c&gt;] ? __lock_acquire+0x40c/0x1960
[&lt;ffffffff810edaa9&gt;] __lock_acquire+0x99/0x1960
[&lt;ffffffff8120ab62&gt;] ? find_vmap_area+0x42/0x60
[&lt;ffffffff8120ab39&gt;] ? find_vmap_area+0x19/0x60
[&lt;ffffffff810ef9d3&gt;] lock_acquire+0xd3/0x200
[&lt;ffffffffa049d598&gt;] ? rvt_create_cq+0xc8/0x250 [rdmavt]
[&lt;ffffffff81763391&gt;] _raw_spin_lock+0x31/0x40
[&lt;ffffffffa049d598&gt;] ? rvt_create_cq+0xc8/0x250 [rdmavt]
[&lt;ffffffffa049d598&gt;] rvt_create_cq+0xc8/0x250 [rdmavt]
[&lt;ffffffff810ead46&gt;] ? static_obj+0x36/0x50
[&lt;ffffffffa0469e39&gt;] ib_alloc_cq+0x49/0x180 [ib_core]
[&lt;ffffffffa047bed4&gt;] ib_mad_init_device+0x204/0x6d0 [ib_core]
[&lt;ffffffff810e968f&gt;] ? up_write+0x1f/0x40
[&lt;ffffffffa046e2c0&gt;] ib_register_device+0x3d0/0x510 [ib_core]
[&lt;ffffffffa0752410&gt;] ? read_cc_setting_bin+0x200/0x200 [hfi1]
[&lt;ffffffff810ead46&gt;] ? static_obj+0x36/0x50
[&lt;ffffffff810eb888&gt;] ? lockdep_init_map+0x88/0x200
[&lt;ffffffffa049cbff&gt;] rvt_register_device+0x17f/0x320 [rdmavt]
[&lt;ffffffffa0766caa&gt;] hfi1_register_ib_device+0x6ca/0x7c0 [hfi1]
[&lt;ffffffffa0733de4&gt;] init_one+0x2b4/0x430 [hfi1]
[&lt;ffffffff813e40a5&gt;] local_pci_probe+0x45/0xa0
[&lt;ffffffff813e5110&gt;] ? pci_match_device+0xe0/0x110
[&lt;ffffffff813e550c&gt;] pci_device_probe+0xfc/0x140
[&lt;ffffffff814daee9&gt;] driver_probe_device+0x239/0x460
[&lt;ffffffff814db1dd&gt;] __driver_attach+0xcd/0xf0
[&lt;ffffffff814db110&gt;] ? driver_probe_device+0x460/0x460
[&lt;ffffffff814d89b3&gt;] bus_for_each_dev+0x73/0xc0
[&lt;ffffffff814da74e&gt;] driver_attach+0x1e/0x20
[&lt;ffffffff814da1b3&gt;] bus_add_driver+0x1d3/0x290
[&lt;ffffffffa04cc114&gt;] ? dev_init+0x114/0x114 [hfi1]
[&lt;ffffffff814dbf60&gt;] driver_register+0x60/0xe0
[&lt;ffffffffa04cc114&gt;] ? dev_init+0x114/0x114 [hfi1]
[&lt;ffffffff813e39d0&gt;] __pci_register_driver+0x60/0x70
[&lt;ffffffffa04cc2aa&gt;] hfi1_mod_init+0x196/0x1fe [hfi1]
[&lt;ffffffff81002190&gt;] do_one_initcall+0x50/0x190
[&lt;ffffffff8110be72&gt;] ? rcu_read_lock_sched_held+0x62/0x70
[&lt;ffffffff8122d4aa&gt;] ? kmem_cache_alloc_trace+0x23a/0x2a0
[&lt;ffffffff811c1881&gt;] ? do_init_module+0x27/0x1dc
[&lt;ffffffff811c18ba&gt;] do_init_module+0x60/0x1dc
[&lt;ffffffff811360cc&gt;] load_module+0x132c/0x1ac0
[&lt;ffffffff81132c40&gt;] ? __symbol_put+0x60/0x60
[&lt;ffffffff8133e50d&gt;] ? ima_post_read_file+0x3d/0x80

Reviewed-by: Mike Marciniszyn &lt;mike.marciniszyn@intel.com&gt;
Signed-off-by: Jianxin Xiong &lt;jianxin.xiong@intel.com&gt;
Signed-off-by: Dennis Dalessandro &lt;dennis.dalessandro@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit a6580f4310ded039fc9f682cbf027fbba217652b upstream.

This fixes the following warning with PROV_LOCKING enabled kernel:

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 15 PID: 12286 Comm: modprobe Not tainted 4.7.0-rc5.prove_rcu+ #1
Hardware name: Intel Corporation S2600WT2R/S2600WT2R,
......
Call Trace:
[&lt;ffffffff8139ec0d&gt;] dump_stack+0x85/0xc8
[&lt;ffffffff810eb765&gt;] register_lock_class+0x415/0x4b0
[&lt;ffffffff810ede1c&gt;] ? __lock_acquire+0x40c/0x1960
[&lt;ffffffff810edaa9&gt;] __lock_acquire+0x99/0x1960
[&lt;ffffffff8120ab62&gt;] ? find_vmap_area+0x42/0x60
[&lt;ffffffff8120ab39&gt;] ? find_vmap_area+0x19/0x60
[&lt;ffffffff810ef9d3&gt;] lock_acquire+0xd3/0x200
[&lt;ffffffffa049d598&gt;] ? rvt_create_cq+0xc8/0x250 [rdmavt]
[&lt;ffffffff81763391&gt;] _raw_spin_lock+0x31/0x40
[&lt;ffffffffa049d598&gt;] ? rvt_create_cq+0xc8/0x250 [rdmavt]
[&lt;ffffffffa049d598&gt;] rvt_create_cq+0xc8/0x250 [rdmavt]
[&lt;ffffffff810ead46&gt;] ? static_obj+0x36/0x50
[&lt;ffffffffa0469e39&gt;] ib_alloc_cq+0x49/0x180 [ib_core]
[&lt;ffffffffa047bed4&gt;] ib_mad_init_device+0x204/0x6d0 [ib_core]
[&lt;ffffffff810e968f&gt;] ? up_write+0x1f/0x40
[&lt;ffffffffa046e2c0&gt;] ib_register_device+0x3d0/0x510 [ib_core]
[&lt;ffffffffa0752410&gt;] ? read_cc_setting_bin+0x200/0x200 [hfi1]
[&lt;ffffffff810ead46&gt;] ? static_obj+0x36/0x50
[&lt;ffffffff810eb888&gt;] ? lockdep_init_map+0x88/0x200
[&lt;ffffffffa049cbff&gt;] rvt_register_device+0x17f/0x320 [rdmavt]
[&lt;ffffffffa0766caa&gt;] hfi1_register_ib_device+0x6ca/0x7c0 [hfi1]
[&lt;ffffffffa0733de4&gt;] init_one+0x2b4/0x430 [hfi1]
[&lt;ffffffff813e40a5&gt;] local_pci_probe+0x45/0xa0
[&lt;ffffffff813e5110&gt;] ? pci_match_device+0xe0/0x110
[&lt;ffffffff813e550c&gt;] pci_device_probe+0xfc/0x140
[&lt;ffffffff814daee9&gt;] driver_probe_device+0x239/0x460
[&lt;ffffffff814db1dd&gt;] __driver_attach+0xcd/0xf0
[&lt;ffffffff814db110&gt;] ? driver_probe_device+0x460/0x460
[&lt;ffffffff814d89b3&gt;] bus_for_each_dev+0x73/0xc0
[&lt;ffffffff814da74e&gt;] driver_attach+0x1e/0x20
[&lt;ffffffff814da1b3&gt;] bus_add_driver+0x1d3/0x290
[&lt;ffffffffa04cc114&gt;] ? dev_init+0x114/0x114 [hfi1]
[&lt;ffffffff814dbf60&gt;] driver_register+0x60/0xe0
[&lt;ffffffffa04cc114&gt;] ? dev_init+0x114/0x114 [hfi1]
[&lt;ffffffff813e39d0&gt;] __pci_register_driver+0x60/0x70
[&lt;ffffffffa04cc2aa&gt;] hfi1_mod_init+0x196/0x1fe [hfi1]
[&lt;ffffffff81002190&gt;] do_one_initcall+0x50/0x190
[&lt;ffffffff8110be72&gt;] ? rcu_read_lock_sched_held+0x62/0x70
[&lt;ffffffff8122d4aa&gt;] ? kmem_cache_alloc_trace+0x23a/0x2a0
[&lt;ffffffff811c1881&gt;] ? do_init_module+0x27/0x1dc
[&lt;ffffffff811c18ba&gt;] do_init_module+0x60/0x1dc
[&lt;ffffffff811360cc&gt;] load_module+0x132c/0x1ac0
[&lt;ffffffff81132c40&gt;] ? __symbol_put+0x60/0x60
[&lt;ffffffff8133e50d&gt;] ? ima_post_read_file+0x3d/0x80

Reviewed-by: Mike Marciniszyn &lt;mike.marciniszyn@intel.com&gt;
Signed-off-by: Jianxin Xiong &lt;jianxin.xiong@intel.com&gt;
Signed-off-by: Dennis Dalessandro &lt;dennis.dalessandro@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/rdmavt: Disable by default</title>
<updated>2016-08-20T16:11:02+00:00</updated>
<author>
<name>Bart Van Assche</name>
<email>bart.vanassche@sandisk.com</email>
</author>
<published>2016-07-19T17:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=168a28e28144aa0c8f38899374135c697a388d35'/>
<id>168a28e28144aa0c8f38899374135c697a388d35</id>
<content type='text'>
commit 378fc3201eae07ab0fa7fb4133da141c3072f995 upstream.

There is a strict policy in the Linux kernel that new drivers must be
disabled by default. Hence leave out the "default m" line from Kconfig.

Fixes: 0194621b2253 ("IB/rdmavt: Create module framework and handle driver registration")
Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Cc: Jubin John &lt;jubin.john@intel.com&gt;
Cc: Dennis Dalessandro &lt;dennis.dalessandro@intel.com&gt;
Cc: Ira Weiny &lt;ira.weiny@intel.com&gt;
Cc: Mike Marciniszyn &lt;mike.marciniszyn@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 378fc3201eae07ab0fa7fb4133da141c3072f995 upstream.

There is a strict policy in the Linux kernel that new drivers must be
disabled by default. Hence leave out the "default m" line from Kconfig.

Fixes: 0194621b2253 ("IB/rdmavt: Create module framework and handle driver registration")
Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Cc: Jubin John &lt;jubin.john@intel.com&gt;
Cc: Dennis Dalessandro &lt;dennis.dalessandro@intel.com&gt;
Cc: Ira Weiny &lt;ira.weiny@intel.com&gt;
Cc: Mike Marciniszyn &lt;mike.marciniszyn@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/mlx5: Fix iteration overrun in GSI qps</title>
<updated>2016-08-20T16:11:01+00:00</updated>
<author>
<name>Slava Shwartsman</name>
<email>slavash@mellanox.com</email>
</author>
<published>2016-07-03T12:28:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3e132bf7877a410507f40de76783d762c65ec6f7'/>
<id>3e132bf7877a410507f40de76783d762c65ec6f7</id>
<content type='text'>
commit b0ffeb537f3a726931d962ab6d03e34a2f070ea4 upstream.

Number of outstanding_pi may overflow and as a result may indicate that
there are no elements in the queue. The effect of doing this is that the
MAD layer will get stuck waiting for completions. The MAD layer will
think that the QP is full - because it didn't receive these completions.

This fix changes it so the outstanding_pi number is increased
with 32-bit wraparound and is not limited to max_send_wr so
that the difference between outstanding_pi and outstanding_ci will
really indicate the number of outstanding completions.

Fixes: ea6dc2036224 ('IB/mlx5: Reorder GSI completions')
Signed-off-by: Slava Shwartsman &lt;slavash@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leon@kernel.org&gt;
Reviewed-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Reviewed-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b0ffeb537f3a726931d962ab6d03e34a2f070ea4 upstream.

Number of outstanding_pi may overflow and as a result may indicate that
there are no elements in the queue. The effect of doing this is that the
MAD layer will get stuck waiting for completions. The MAD layer will
think that the QP is full - because it didn't receive these completions.

This fix changes it so the outstanding_pi number is increased
with 32-bit wraparound and is not limited to max_send_wr so
that the difference between outstanding_pi and outstanding_ci will
really indicate the number of outstanding completions.

Fixes: ea6dc2036224 ('IB/mlx5: Reorder GSI completions')
Signed-off-by: Slava Shwartsman &lt;slavash@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leon@kernel.org&gt;
Reviewed-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Reviewed-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
</feed>
