<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers, branch v4.8.11</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>gpio: pca953x: Fix corruption of other gpios in set_multiple.</title>
<updated>2016-11-26T08:56:59+00:00</updated>
<author>
<name>Phil Reid</name>
<email>preid@electromag.com.au</email>
</author>
<published>2016-11-08T06:00:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=a9a0027757f8c317f1d7334c095bde96b4a0f84c'/>
<id>a9a0027757f8c317f1d7334c095bde96b4a0f84c</id>
<content type='text'>
commit 53f8d322234649b4d6f1515b20c127a577efd164 upstream.

gpiod_set_array_value_complex does not clear the bits field.
Therefore when the drivers set_multiple funciton is called bits outside
the mask are undefined and can be either set or not. So bank_val needs
to be masked with bank_mask before or with the reg_val cache.

Fixes: b4818afeacbd ("gpio: pca953x: Add set_multiple to allow multiple")
Signed-off-by: Phil Reid &lt;preid@electromag.com.au&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&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 53f8d322234649b4d6f1515b20c127a577efd164 upstream.

gpiod_set_array_value_complex does not clear the bits field.
Therefore when the drivers set_multiple funciton is called bits outside
the mask are undefined and can be either set or not. So bank_val needs
to be masked with bank_mask before or with the reg_val cache.

Fixes: b4818afeacbd ("gpio: pca953x: Add set_multiple to allow multiple")
Signed-off-by: Phil Reid &lt;preid@electromag.com.au&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>gpio: pca953x: Move memcpy into mutex lock for set multiple</title>
<updated>2016-11-26T08:56:59+00:00</updated>
<author>
<name>Phil Reid</name>
<email>preid@electromag.com.au</email>
</author>
<published>2016-11-08T05:18:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=88fce76cf59055ddf97667001dbd26577b8760e0'/>
<id>88fce76cf59055ddf97667001dbd26577b8760e0</id>
<content type='text'>
commit 386377b5473043c09b2de40bfe5abfb0fc87e1b4 upstream.

Need to ensure that reg_output is not updated while setting multiple
bits. This makes the mutex locking behaviour for the set_multiple call
consistent with that of the set_value call.

Fixes: b4818afeacbd ("gpio: pca953x: Add set_multiple to allow multiple")
Signed-off-by: Phil Reid &lt;preid@electromag.com.au&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&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 386377b5473043c09b2de40bfe5abfb0fc87e1b4 upstream.

Need to ensure that reg_output is not updated while setting multiple
bits. This makes the mutex locking behaviour for the set_multiple call
consistent with that of the set_value call.

Fixes: b4818afeacbd ("gpio: pca953x: Add set_multiple to allow multiple")
Signed-off-by: Phil Reid &lt;preid@electromag.com.au&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>IB/cm: Mark stale CM id's whenever the mad agent was unregistered</title>
<updated>2016-11-26T08:56:58+00:00</updated>
<author>
<name>Mark Bloch</name>
<email>markb@mellanox.com</email>
</author>
<published>2016-10-27T13:36:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=fd4251fa4d094d57b7e4ccd673350ce2f3d15be9'/>
<id>fd4251fa4d094d57b7e4ccd673350ce2f3d15be9</id>
<content type='text'>
commit 9db0ff53cb9b43ed75bacd42a89c1a0ab048b2b0 upstream.

When there is a CM id object that has port assigned to it, it means that
the cm-id asked for the specific port that it should go by it, but if
that port was removed (hot-unplug event) the cm-id was not updated.
In order to fix that the port keeps a list of all the cm-id's that are
planning to go by it, whenever the port is removed it marks all of them
as invalid.

This commit fixes a kernel panic which happens when running traffic between
guests and we force reboot a guest mid traffic, it triggers a kernel panic:

 Call Trace:
  [&lt;ffffffff815271fa&gt;] ? panic+0xa7/0x16f
  [&lt;ffffffff8152b534&gt;] ? oops_end+0xe4/0x100
  [&lt;ffffffff8104a00b&gt;] ? no_context+0xfb/0x260
  [&lt;ffffffff81084db2&gt;] ? del_timer_sync+0x22/0x30
  [&lt;ffffffff8104a295&gt;] ? __bad_area_nosemaphore+0x125/0x1e0
  [&lt;ffffffff81084240&gt;] ? process_timeout+0x0/0x10
  [&lt;ffffffff8104a363&gt;] ? bad_area_nosemaphore+0x13/0x20
  [&lt;ffffffff8104aabf&gt;] ? __do_page_fault+0x31f/0x480
  [&lt;ffffffff81065df0&gt;] ? default_wake_function+0x0/0x20
  [&lt;ffffffffa0752675&gt;] ? free_msg+0x55/0x70 [mlx5_core]
  [&lt;ffffffffa0753434&gt;] ? cmd_exec+0x124/0x840 [mlx5_core]
  [&lt;ffffffff8105a924&gt;] ? find_busiest_group+0x244/0x9f0
  [&lt;ffffffff8152d45e&gt;] ? do_page_fault+0x3e/0xa0
  [&lt;ffffffff8152a815&gt;] ? page_fault+0x25/0x30
  [&lt;ffffffffa024da25&gt;] ? cm_alloc_msg+0x35/0xc0 [ib_cm]
  [&lt;ffffffffa024e821&gt;] ? ib_send_cm_dreq+0xb1/0x1e0 [ib_cm]
  [&lt;ffffffffa024f836&gt;] ? cm_destroy_id+0x176/0x320 [ib_cm]
  [&lt;ffffffffa024fb00&gt;] ? ib_destroy_cm_id+0x10/0x20 [ib_cm]
  [&lt;ffffffffa034f527&gt;] ? ipoib_cm_free_rx_reap_list+0xa7/0x110 [ib_ipoib]
  [&lt;ffffffffa034f590&gt;] ? ipoib_cm_rx_reap+0x0/0x20 [ib_ipoib]
  [&lt;ffffffffa034f5a5&gt;] ? ipoib_cm_rx_reap+0x15/0x20 [ib_ipoib]
  [&lt;ffffffff81094d20&gt;] ? worker_thread+0x170/0x2a0
  [&lt;ffffffff8109b2a0&gt;] ? autoremove_wake_function+0x0/0x40
  [&lt;ffffffff81094bb0&gt;] ? worker_thread+0x0/0x2a0
  [&lt;ffffffff8109aef6&gt;] ? kthread+0x96/0xa0
  [&lt;ffffffff8100c20a&gt;] ? child_rip+0xa/0x20
  [&lt;ffffffff8109ae60&gt;] ? kthread+0x0/0xa0
  [&lt;ffffffff8100c200&gt;] ? child_rip+0x0/0x20

Fixes: a977049dacde ("[PATCH] IB: Add the kernel CM implementation")
Signed-off-by: Mark Bloch &lt;markb@mellanox.com&gt;
Signed-off-by: Erez Shitrit &lt;erezsh@mellanox.com&gt;
Reviewed-by: Maor Gottlieb &lt;maorg@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 9db0ff53cb9b43ed75bacd42a89c1a0ab048b2b0 upstream.

When there is a CM id object that has port assigned to it, it means that
the cm-id asked for the specific port that it should go by it, but if
that port was removed (hot-unplug event) the cm-id was not updated.
In order to fix that the port keeps a list of all the cm-id's that are
planning to go by it, whenever the port is removed it marks all of them
as invalid.

This commit fixes a kernel panic which happens when running traffic between
guests and we force reboot a guest mid traffic, it triggers a kernel panic:

 Call Trace:
  [&lt;ffffffff815271fa&gt;] ? panic+0xa7/0x16f
  [&lt;ffffffff8152b534&gt;] ? oops_end+0xe4/0x100
  [&lt;ffffffff8104a00b&gt;] ? no_context+0xfb/0x260
  [&lt;ffffffff81084db2&gt;] ? del_timer_sync+0x22/0x30
  [&lt;ffffffff8104a295&gt;] ? __bad_area_nosemaphore+0x125/0x1e0
  [&lt;ffffffff81084240&gt;] ? process_timeout+0x0/0x10
  [&lt;ffffffff8104a363&gt;] ? bad_area_nosemaphore+0x13/0x20
  [&lt;ffffffff8104aabf&gt;] ? __do_page_fault+0x31f/0x480
  [&lt;ffffffff81065df0&gt;] ? default_wake_function+0x0/0x20
  [&lt;ffffffffa0752675&gt;] ? free_msg+0x55/0x70 [mlx5_core]
  [&lt;ffffffffa0753434&gt;] ? cmd_exec+0x124/0x840 [mlx5_core]
  [&lt;ffffffff8105a924&gt;] ? find_busiest_group+0x244/0x9f0
  [&lt;ffffffff8152d45e&gt;] ? do_page_fault+0x3e/0xa0
  [&lt;ffffffff8152a815&gt;] ? page_fault+0x25/0x30
  [&lt;ffffffffa024da25&gt;] ? cm_alloc_msg+0x35/0xc0 [ib_cm]
  [&lt;ffffffffa024e821&gt;] ? ib_send_cm_dreq+0xb1/0x1e0 [ib_cm]
  [&lt;ffffffffa024f836&gt;] ? cm_destroy_id+0x176/0x320 [ib_cm]
  [&lt;ffffffffa024fb00&gt;] ? ib_destroy_cm_id+0x10/0x20 [ib_cm]
  [&lt;ffffffffa034f527&gt;] ? ipoib_cm_free_rx_reap_list+0xa7/0x110 [ib_ipoib]
  [&lt;ffffffffa034f590&gt;] ? ipoib_cm_rx_reap+0x0/0x20 [ib_ipoib]
  [&lt;ffffffffa034f5a5&gt;] ? ipoib_cm_rx_reap+0x15/0x20 [ib_ipoib]
  [&lt;ffffffff81094d20&gt;] ? worker_thread+0x170/0x2a0
  [&lt;ffffffff8109b2a0&gt;] ? autoremove_wake_function+0x0/0x40
  [&lt;ffffffff81094bb0&gt;] ? worker_thread+0x0/0x2a0
  [&lt;ffffffff8109aef6&gt;] ? kthread+0x96/0xa0
  [&lt;ffffffff8100c20a&gt;] ? child_rip+0xa/0x20
  [&lt;ffffffff8109ae60&gt;] ? kthread+0x0/0xa0
  [&lt;ffffffff8100c200&gt;] ? child_rip+0x0/0x20

Fixes: a977049dacde ("[PATCH] IB: Add the kernel CM implementation")
Signed-off-by: Mark Bloch &lt;markb@mellanox.com&gt;
Signed-off-by: Erez Shitrit &lt;erezsh@mellanox.com&gt;
Reviewed-by: Maor Gottlieb &lt;maorg@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/uverbs: Fix leak of XRC target QPs</title>
<updated>2016-11-26T08:56:58+00:00</updated>
<author>
<name>Tariq Toukan</name>
<email>tariqt@mellanox.com</email>
</author>
<published>2016-10-27T13:36:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=8ce92be782f808aed386fbb0d76aba1db34735c6'/>
<id>8ce92be782f808aed386fbb0d76aba1db34735c6</id>
<content type='text'>
commit 5b810a242c28e1d8d64d718cebe75b79d86a0b2d upstream.

The real QP is destroyed in case of the ref count reaches zero, but
for XRC target QPs this call was missed and caused to QP leaks.

Let's call to destroy for all flows.

Fixes: 0e0ec7e0638e ('RDMA/core: Export ib_open_qp() to share XRC...')
Signed-off-by: Tariq Toukan &lt;tariqt@mellanox.com&gt;
Signed-off-by: Noa Osherovich &lt;noaos@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 5b810a242c28e1d8d64d718cebe75b79d86a0b2d upstream.

The real QP is destroyed in case of the ref count reaches zero, but
for XRC target QPs this call was missed and caused to QP leaks.

Let's call to destroy for all flows.

Fixes: 0e0ec7e0638e ('RDMA/core: Export ib_open_qp() to share XRC...')
Signed-off-by: Tariq Toukan &lt;tariqt@mellanox.com&gt;
Signed-off-by: Noa Osherovich &lt;noaos@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: Remove incorrect IS_ERR check</title>
<updated>2016-11-26T08:56:58+00:00</updated>
<author>
<name>Dennis Dalessandro</name>
<email>dennis.dalessandro@intel.com</email>
</author>
<published>2016-10-25T20:12:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=160149299f71c36770be6e627f035bd2377ac3ab'/>
<id>160149299f71c36770be6e627f035bd2377ac3ab</id>
<content type='text'>
commit 2b16056f845207967a32497f41cf92b57849f934 upstream.

Remove IS_ERR check from caching code as the function being called does
not actually return error pointers.

Fixes: f19bd643dbde: "IB/hfi1: Prevent NULL pointer deferences in caching code"
Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Dean Luick &lt;dean.luick@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 2b16056f845207967a32497f41cf92b57849f934 upstream.

Remove IS_ERR check from caching code as the function being called does
not actually return error pointers.

Fixes: f19bd643dbde: "IB/hfi1: Prevent NULL pointer deferences in caching code"
Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Dean Luick &lt;dean.luick@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/core: Avoid unsigned int overflow in sg_alloc_table</title>
<updated>2016-11-26T08:56:58+00:00</updated>
<author>
<name>Mark Bloch</name>
<email>markb@mellanox.com</email>
</author>
<published>2016-10-27T13:36:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=46e47543175b6784b02f7b587ef83b44fd2c8f7d'/>
<id>46e47543175b6784b02f7b587ef83b44fd2c8f7d</id>
<content type='text'>
commit 3c7ba5760ab8eedec01159b267bb9bfcffe522ac upstream.

sg_alloc_table gets unsigned int as parameter while the driver
returns it as size_t. Check npages isn't greater than maximum
unsigned int.

Fixes: eeb8461e36c9 ("IB: Refactor umem to use linear SG table")
Signed-off-by: Mark Bloch &lt;markb@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@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 3c7ba5760ab8eedec01159b267bb9bfcffe522ac upstream.

sg_alloc_table gets unsigned int as parameter while the driver
returns it as size_t. Check npages isn't greater than maximum
unsigned int.

Fixes: eeb8461e36c9 ("IB: Refactor umem to use linear SG table")
Signed-off-by: Mark Bloch &lt;markb@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@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/mlx5: Fix NULL pointer dereference on debug print</title>
<updated>2016-11-26T08:56:58+00:00</updated>
<author>
<name>Eli Cohen</name>
<email>eli@mellanox.com</email>
</author>
<published>2016-10-27T13:36:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=82c377d0531156d30e6d26c3eb13122e8c1c8677'/>
<id>82c377d0531156d30e6d26c3eb13122e8c1c8677</id>
<content type='text'>
commit a1ab8402d15d2305d2315d96ec3294bfdf16587e upstream.

For XRC QP CQs may not exist. Check before attempting dereference.

Fixes: e126ba97dba9 ('mlx5: Add driver for Mellanox Connect-IB adapters')
Signed-off-by: Eli Cohen &lt;eli@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@mellanox.com&gt;
Reviewed-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 a1ab8402d15d2305d2315d96ec3294bfdf16587e upstream.

For XRC QP CQs may not exist. Check before attempting dereference.

Fixes: e126ba97dba9 ('mlx5: Add driver for Mellanox Connect-IB adapters')
Signed-off-by: Eli Cohen &lt;eli@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@mellanox.com&gt;
Reviewed-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/mlx5: Fix fatal error dispatching</title>
<updated>2016-11-26T08:56:58+00:00</updated>
<author>
<name>Eli Cohen</name>
<email>eli@mellanox.com</email>
</author>
<published>2016-10-27T13:36:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=554e4b69f1bbcd55a6e1af505ae0e96d6f485140'/>
<id>554e4b69f1bbcd55a6e1af505ae0e96d6f485140</id>
<content type='text'>
commit dbaaff2a2caa03d472b5cc53a3fbfd415c97dc26 upstream.

When an internal error condition is detected, make sure to set the
device inactive after dispatching the event so ULPs can get a
notification of this event.

Fixes: e126ba97dba9 ('mlx5: Add driver for Mellanox Connect-IB adapters')
Signed-off-by: Eli Cohen &lt;eli@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@mellanox.com&gt;
Reviewed-by: Mohamad Haj Yahia &lt;mohamad@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 dbaaff2a2caa03d472b5cc53a3fbfd415c97dc26 upstream.

When an internal error condition is detected, make sure to set the
device inactive after dispatching the event so ULPs can get a
notification of this event.

Fixes: e126ba97dba9 ('mlx5: Add driver for Mellanox Connect-IB adapters')
Signed-off-by: Eli Cohen &lt;eli@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@mellanox.com&gt;
Reviewed-by: Mohamad Haj Yahia &lt;mohamad@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/mlx5: Fix memory leak in query device</title>
<updated>2016-11-26T08:56:58+00:00</updated>
<author>
<name>Majd Dibbiny</name>
<email>majd@mellanox.com</email>
</author>
<published>2016-10-27T13:36:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=32091ee63d17a8eaaa25a9bcd99d12d236f2b603'/>
<id>32091ee63d17a8eaaa25a9bcd99d12d236f2b603</id>
<content type='text'>
commit 90be7c8ab72853ff9fc407f01518a898df1f3045 upstream.

We need to free dev-&gt;port when we fail to enable RoCE or
initialize node data.

Fixes: 0837e86a7a34 ('IB/mlx5: Add per port counters')
Signed-off-by: Majd Dibbiny &lt;majd@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@mellanox.com&gt;
Reviewed-by: Mark Bloch &lt;markb@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 90be7c8ab72853ff9fc407f01518a898df1f3045 upstream.

We need to free dev-&gt;port when we fail to enable RoCE or
initialize node data.

Fixes: 0837e86a7a34 ('IB/mlx5: Add per port counters')
Signed-off-by: Majd Dibbiny &lt;majd@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@mellanox.com&gt;
Reviewed-by: Mark Bloch &lt;markb@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/mlx5: Use cache line size to select CQE stride</title>
<updated>2016-11-26T08:56:58+00:00</updated>
<author>
<name>Daniel Jurgens</name>
<email>danielj@mellanox.com</email>
</author>
<published>2016-10-27T13:36:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=21822a5bbddd7c097e8822b6f762c697f1fc6558'/>
<id>21822a5bbddd7c097e8822b6f762c697f1fc6558</id>
<content type='text'>
commit 16b0e0695a73b68d8ca40288c8f9614ef208917b upstream.

When creating kernel CQs use 128B CQE stride if the
cache line size is 128B, 64B otherwise.  This prevents
multiple CQEs from residing in a 128B cache line,
which can cause retries when there are concurrent
read and writes in one cache line.

Tested with IPoIB on PPC64, saw ~5% throughput
improvement.

Fixes: e126ba97dba9 ('mlx5: Add driver for Mellanox Connect-IB adapters')
Signed-off-by: Daniel Jurgens &lt;danielj@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@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 16b0e0695a73b68d8ca40288c8f9614ef208917b upstream.

When creating kernel CQs use 128B CQE stride if the
cache line size is 128B, 64B otherwise.  This prevents
multiple CQEs from residing in a 128B cache line,
which can cause retries when there are concurrent
read and writes in one cache line.

Tested with IPoIB on PPC64, saw ~5% throughput
improvement.

Fixes: e126ba97dba9 ('mlx5: Add driver for Mellanox Connect-IB adapters')
Signed-off-by: Daniel Jurgens &lt;danielj@mellanox.com&gt;
Signed-off-by: Maor Gottlieb &lt;maorg@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>
</feed>
