<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/emulex, branch linux-4.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-07-29T15:05:46Z</updated>
<entry>
<title>be2net: Fix buffer overflow in be_get_module_eeprom</title>
<updated>2022-07-29T15:05:46Z</updated>
<author>
<name>Hristo Venev</name>
</author>
<published>2022-07-16T08:51:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a5a8fc0679a8fd58d47aa2ebcfc5742631f753f9'/>
<id>urn:sha1:a5a8fc0679a8fd58d47aa2ebcfc5742631f753f9</id>
<content type='text'>
[ Upstream commit d7241f679a59cfe27f92cb5c6272cb429fb1f7ec ]

be_cmd_read_port_transceiver_data assumes that it is given a buffer that
is at least PAGE_DATA_LEN long, or twice that if the module supports SFF
8472. However, this is not always the case.

Fix this by passing the desired offset and length to
be_cmd_read_port_transceiver_data so that we only copy the bytes once.

Fixes: e36edd9d26cf ("be2net: add ethtool "-m" option support")
Signed-off-by: Hristo Venev &lt;hristo@venev.name&gt;
Link: https://lore.kernel.org/r/20220716085134.6095-1-hristo@venev.name
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>be2net: Fix an error handling path in 'be_probe()'</title>
<updated>2021-06-30T12:49:15Z</updated>
<author>
<name>Christophe JAILLET</name>
</author>
<published>2021-06-16T18:43:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f4bbeaa68f09f7c7b89c5c5d2b13973758bd789f'/>
<id>urn:sha1:f4bbeaa68f09f7c7b89c5c5d2b13973758bd789f</id>
<content type='text'>
[ Upstream commit c19c8c0e666f9259e2fc4d2fa4b9ff8e3b40ee5d ]

If an error occurs after a 'pci_enable_pcie_error_reporting()' call, it
must be undone by a corresponding 'pci_disable_pcie_error_reporting()'
call, as already done in the remove function.

Fixes: d6b6d9877878 ("be2net: use PCIe AER capability")
Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Acked-by: Somnath Kotur &lt;somnath.kotur@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>be2net: Signal that the device cannot transmit during reconfiguration</title>
<updated>2019-08-06T16:29:36Z</updated>
<author>
<name>Benjamin Poirier</name>
</author>
<published>2019-07-16T08:16:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0b4f4a4b18dd104b9ddb13e02e90679c04825fb9'/>
<id>urn:sha1:0b4f4a4b18dd104b9ddb13e02e90679c04825fb9</id>
<content type='text'>
[ Upstream commit 7429c6c0d9cb086d8e79f0d2a48ae14851d2115e ]

While changing the number of interrupt channels, be2net stops adapter
operation (including netif_tx_disable()) but it doesn't signal that it
cannot transmit. This may lead dev_watchdog() to falsely trigger during
that time.

Add the missing call to netif_carrier_off(), following the pattern used in
many other drivers. netif_carrier_on() is already taken care of in
be_open().

Signed-off-by: Benjamin Poirier &lt;bpoirier@suse.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>be2net: fix link failure after ethtool offline test</title>
<updated>2019-07-21T07:06:06Z</updated>
<author>
<name>Petr Oros</name>
</author>
<published>2019-06-19T12:29:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=79568282985283f21b5597fa2aef3bde5cbf1f6a'/>
<id>urn:sha1:79568282985283f21b5597fa2aef3bde5cbf1f6a</id>
<content type='text'>
[ Upstream commit 2e5db6eb3c23e5dc8171eb8f6af7a97ef9fcf3a9 ]

Certain cards in conjunction with certain switches need a little more
time for link setup that results in ethtool link test failure after
offline test. Patch adds a loop that waits for a link setup finish.

Changes in v2:
- added fixes header

Fixes: 4276e47e2d1c ("be2net: Add link test to list of ethtool self tests.")
Signed-off-by: Petr Oros &lt;poros@redhat.com&gt;
Reviewed-by: Ivan Vecera &lt;ivecera@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>be2net: Fix number of Rx queues used for flow hashing</title>
<updated>2019-06-22T06:17:21Z</updated>
<author>
<name>Ivan Vecera</name>
</author>
<published>2019-06-14T15:48:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e6ac0cec5b03cdba63850ec384161212123bd3ce'/>
<id>urn:sha1:e6ac0cec5b03cdba63850ec384161212123bd3ce</id>
<content type='text'>
[ Upstream commit 718f4a2537089ea41903bf357071306163bc7c04 ]

Number of Rx queues used for flow hashing returned by the driver is
incorrect and this bug prevents user to use the last Rx queue in
indirection table.

Let's say we have a NIC with 6 combined queues:

[root@sm-03 ~]# ethtool -l enp4s0f0
Channel parameters for enp4s0f0:
Pre-set maximums:
RX:             5
TX:             5
Other:          0
Combined:       6
Current hardware settings:
RX:             0
TX:             0
Other:          0
Combined:       6

Default indirection table maps all (6) queues equally but the driver
reports only 5 rings available.

[root@sm-03 ~]# ethtool -x enp4s0f0
RX flow hash indirection table for enp4s0f0 with 5 RX ring(s):
    0:      0     1     2     3     4     5     0     1
    8:      2     3     4     5     0     1     2     3
   16:      4     5     0     1     2     3     4     5
   24:      0     1     2     3     4     5     0     1
...

Now change indirection table somehow:

[root@sm-03 ~]# ethtool -X enp4s0f0 weight 1 1
[root@sm-03 ~]# ethtool -x enp4s0f0
RX flow hash indirection table for enp4s0f0 with 6 RX ring(s):
    0:      0     0     0     0     0     0     0     0
...
   64:      1     1     1     1     1     1     1     1
...

Now it is not possible to change mapping back to equal (default) state:

[root@sm-03 ~]# ethtool -X enp4s0f0 equal 6
Cannot set RX flow hash configuration: Invalid argument

Fixes: 594ad54a2c3b ("be2net: Add support for setting and getting rx flow hash options")
Reported-by: Tianhao &lt;tizhao@redhat.com&gt;
Signed-off-by: Ivan Vecera &lt;ivecera@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>be2net: Fix memory leak in be_cmd_get_profile_config()</title>
<updated>2018-09-26T06:36:30Z</updated>
<author>
<name>Petr Oros</name>
</author>
<published>2018-09-05T12:37:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bfb8799ab575c6076ca2ee1738453643d5ef6bfa'/>
<id>urn:sha1:bfb8799ab575c6076ca2ee1738453643d5ef6bfa</id>
<content type='text'>
[ Upstream commit 9d7f19dc4673fbafebfcbf30eb90e09fa7d1c037 ]

DMA allocated memory is lost in be_cmd_get_profile_config() when we
call it with non-NULL port_res parameter.

Signed-off-by: Petr Oros &lt;poros@redhat.com&gt;
Reviewed-by: Ivan Vecera &lt;ivecera@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>be2net: restore properly promisc mode after queues reconfiguration</title>
<updated>2018-01-31T11:55:55Z</updated>
<author>
<name>Ivan Vecera</name>
</author>
<published>2018-01-19T19:23:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1711ba166e5f7148bc41b5e24f7f282ffc055515'/>
<id>urn:sha1:1711ba166e5f7148bc41b5e24f7f282ffc055515</id>
<content type='text'>
[ Upstream commit 52acf06451930eb4cefabd5ecea56e2d46c32f76 ]

The commit 622190669403 ("be2net: Request RSS capability of Rx interface
depending on number of Rx rings") modified be_update_queues() so the
IFACE (HW representation of the netdevice) is destroyed and then
re-created. This causes a regression because potential promiscuous mode
is not restored properly during be_open() because the driver thinks
that the HW has promiscuous mode already enabled.

Note that Lancer is not affected by this bug because RX-filter flags are
disabled during be_close() for this chipset.

Cc: Sathya Perla &lt;sathya.perla@broadcom.com&gt;
Cc: Ajit Khaparde &lt;ajit.khaparde@broadcom.com&gt;
Cc: Sriharsha Basavapatna &lt;sriharsha.basavapatna@broadcom.com&gt;
Cc: Somnath Kotur &lt;somnath.kotur@broadcom.com&gt;

Fixes: 622190669403 ("be2net: Request RSS capability of Rx interface depending on number of Rx rings")
Signed-off-by: Ivan Vecera &lt;ivecera@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>be2net: fix initial MAC setting</title>
<updated>2017-12-09T21:01:54Z</updated>
<author>
<name>Ivan Vecera</name>
</author>
<published>2017-01-31T19:01:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6129fd98822520dccf60389a4e2ef5d0148aad78'/>
<id>urn:sha1:6129fd98822520dccf60389a4e2ef5d0148aad78</id>
<content type='text'>
[ Upstream commit 4993b39ab04b083ff6ee1147e7e7f120feb6bf7f ]

Recent commit 34393529163a ("be2net: fix MAC addr setting on privileged
BE3 VFs") allows privileged BE3 VFs to set its MAC address during
initialization. Although the initial MAC for such VFs is already
programmed by parent PF the subsequent setting performed by VF is OK,
but in certain cases (after fresh boot) this command in VF can fail.

The MAC should be initialized only when:
1) no MAC is programmed (always except BE3 VFs during first init)
2) programmed MAC is different from requested (e.g. MAC is set when
   interface is down). In this case the initial MAC programmed by PF
   needs to be deleted.

The adapter-&gt;dev_mac contains MAC address currently programmed in HW so
it should be zeroed when the MAC is deleted from HW and should not be
filled when MAC is set when interface is down in be_mac_addr_set() as
no programming is performed in this case.

Example of failure without the fix (immediately after fresh boot):

# ip link set eth0 up  &lt;- eth0 is BE3 PF
be2net 0000:01:00.0 eth0: Link is Up

# echo 1 &gt; /sys/class/net/eth0/device/sriov_numvfs  &lt;- Create 1 VF
...
be2net 0000:01:04.0: Emulex OneConnect(be3): VF  port 0

# ip link set eth8 up  &lt;- eth8 is created privileged VF
be2net 0000:01:04.0: opcode 59-1 failed:status 1-76
RTNETLINK answers: Input/output error

# echo 0 &gt; /sys/class/net/eth0/device/sriov_numvfs  &lt;- Delete VF
iommu: Removing device 0000:01:04.0 from group 33
...

# echo 1 &gt; /sys/class/net/eth0/device/sriov_numvfs  &lt;- Create it again
iommu: Removing device 0000:01:04.0 from group 33
...

# ip link set eth8 up
be2net 0000:01:04.0 eth8: Link is Up

Initialization is now OK.

v2 - Corrected the comment and condition check suggested by Suresh &amp; Harsha

Fixes: 34393529163a ("be2net: fix MAC addr setting on privileged BE3 VFs")
Cc: Sathya Perla &lt;sathya.perla@broadcom.com&gt;
Cc: Ajit Khaparde &lt;ajit.khaparde@broadcom.com&gt;
Cc: Sriharsha Basavapatna &lt;sriharsha.basavapatna@broadcom.com&gt;
Cc: Somnath Kotur &lt;somnath.kotur@broadcom.com&gt;
Signed-off-by: Ivan Vecera &lt;cera@cera.cz&gt;
Acked-by: Sriharsha Basavapatna &lt;sriharsha.basavapatna@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>be2net: fix unicast list filling</title>
<updated>2017-12-09T21:01:51Z</updated>
<author>
<name>Ivan Vecera</name>
</author>
<published>2017-01-06T20:59:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e3a252a9924cb80678092e841cada6c48773eef2'/>
<id>urn:sha1:e3a252a9924cb80678092e841cada6c48773eef2</id>
<content type='text'>
[ Upstream commit 6052cd1af86f9833b6b0b60d5d4787c4a06d65ea ]

The adapter-&gt;pmac_id[0] item is used for primary MAC address but
this is not true for adapter-&gt;uc_list[0] as is assumed in
be_set_uc_list(). There are N UC addresses copied first from net_device
to adapter-&gt;uc_list[1..N] and then N UC addresses from
adapter-&gt;uc_list[0..N-1] are sent to HW. So the last UC address is never
stored into HW and address 00:00:00:00;00:00 (from uc_list[0]) is used
instead.

Cc: Sathya Perla &lt;sathya.perla@broadcom.com&gt;
Cc: Ajit Khaparde &lt;ajit.khaparde@broadcom.com&gt;
Cc: Sriharsha Basavapatna &lt;sriharsha.basavapatna@broadcom.com&gt;
Cc: Somnath Kotur &lt;somnath.kotur@broadcom.com&gt;
Fixes: b717241 be2net: replace polling with sleeping in the FW completion path
Signed-off-by: Ivan Vecera &lt;cera@cera.cz&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>be2net: fix accesses to unicast list</title>
<updated>2017-12-09T21:01:51Z</updated>
<author>
<name>Ivan Vecera</name>
</author>
<published>2017-01-06T19:30:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b4c3022e673a0c368e16d296691719a6f920ad74'/>
<id>urn:sha1:b4c3022e673a0c368e16d296691719a6f920ad74</id>
<content type='text'>
[ Upstream commit 1d0f110a2c6c4bca3dbcc4b0e27f1e3dc2d44a2c ]

Commit 988d44b "be2net: Avoid redundant addition of mac address in HW"
introduced be_dev_mac_add &amp; be_uc_mac_add helpers that incorrectly
access adapter-&gt;uc_list as an array of bytes instead of an array of
be_eth_addr. Consequently NIC is not filled with valid data so unicast
filtering is broken.

Cc: Sathya Perla &lt;sathya.perla@broadcom.com&gt;
Cc: Ajit Khaparde &lt;ajit.khaparde@broadcom.com&gt;
Cc: Sriharsha Basavapatna &lt;sriharsha.basavapatna@broadcom.com&gt;
Cc: Somnath Kotur &lt;somnath.kotur@broadcom.com&gt;
Fixes: 988d44b be2net: Avoid redundant addition of mac address in HW
Signed-off-by: Ivan Vecera &lt;cera@cera.cz&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
