<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/emulex, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-06-30T12:49:33Z</updated>
<entry>
<title>be2net: Fix an error handling path in 'be_probe()'</title>
<updated>2021-06-30T12:49:33Z</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=2a36a6153f1fd392e0f49e5b9451c4965f9e0daa'/>
<id>urn:sha1:2a36a6153f1fd392e0f49e5b9451c4965f9e0daa</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: Don't leak iomapped memory on removal.</title>
<updated>2020-05-10T08:26:14Z</updated>
<author>
<name>Douglas Miller</name>
</author>
<published>2016-03-04T21:36:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c3589ff46ea17494273753022e9482548177ffa2'/>
<id>urn:sha1:c3589ff46ea17494273753022e9482548177ffa2</id>
<content type='text'>
commit a69bf3c5b49ef488970c74e26ba0ec12f08491c2 upstream.

The adapter-&gt;pcicfg resource is either mapped via pci_iomap() or
derived from adapter-&gt;db. During be_remove() this resource was ignored
and so could remain mapped after remove.

Add a flag to track whether adapter-&gt;pcicfg was mapped or not, then
use that flag in be_unmap_pci_bars() to unmap if required.

Fixes: 25848c901 ("use PCI MMIO read instead of config read for errors")

Signed-off-by: Douglas Miller &lt;dougmill@linux.vnet.ibm.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: Signal that the device cannot transmit during reconfiguration</title>
<updated>2019-08-06T16:28:27Z</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=85ba09a0da3e5abe711ad57143c632f0e2d1c5c7'/>
<id>urn:sha1:85ba09a0da3e5abe711ad57143c632f0e2d1c5c7</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:07:13Z</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=cd87aa09ee2bcaf0c5cede1236b73c1ee4ed7178'/>
<id>urn:sha1:cd87aa09ee2bcaf0c5cede1236b73c1ee4ed7178</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:18:25Z</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=6f057abd08d199ba61a9ceebb7cbb733ab996642'/>
<id>urn:sha1:6f057abd08d199ba61a9ceebb7cbb733ab996642</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 status check in be_cmd_pmac_add()</title>
<updated>2017-07-05T12:37:20Z</updated>
<author>
<name>Ivan Vecera</name>
</author>
<published>2017-01-13T21:38:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0593fa8f34a257143de31d8390d8ba72da79b5f1'/>
<id>urn:sha1:0593fa8f34a257143de31d8390d8ba72da79b5f1</id>
<content type='text'>
[ Upstream commit fe68d8bfe59c561664aa87d827aa4b320eb08895 ]

Return value from be_mcc_notify_wait() contains a base completion status
together with an additional status. The base_status() macro need to be
used to access base status.

Fixes: e3a7ae2 be2net: Changing MAC Address of a VF was 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;
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 offload features for Q-in-Q packets</title>
<updated>2017-06-07T10:05:58Z</updated>
<author>
<name>Vlad Yasevich</name>
</author>
<published>2017-05-23T17:38:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8380f16d0702817d2b5070d82972db03d2462e50'/>
<id>urn:sha1:8380f16d0702817d2b5070d82972db03d2462e50</id>
<content type='text'>
[ Upstream commit cc6e9de62a7f84c9293a2ea41bc412b55bb46e85 ]

At least some of the be2net cards do not seem to be capabled
of performing checksum offload computions on Q-in-Q packets.
In these case, the recevied checksum on the remote is invalid
and TCP syn packets are dropped.

This patch adds a call to check disbled acceleration features
on Q-in-Q tagged traffic.

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: Vladislav Yasevich &lt;vyasevic@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>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-12-31T22:40:43Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-12-31T22:40:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8f5daf2a49545374b5b433f0ee3ae62fc6e63d4d'/>
<id>urn:sha1:8f5daf2a49545374b5b433f0ee3ae62fc6e63d4d</id>
<content type='text'>
Pull networking fixes from David Miller:

 1) Prevent XFRM per-cpu counter updates for one namespace from being
    applied to another namespace.  Fix from DanS treetman.

 2) Fix RCU de-reference in iwl_mvm_get_key_sta_id(), from Johannes
    Berg.

 3) Remove ethernet header assumption in nft_do_chain_netdev(), from
    Pablo Neira Ayuso.

 4) Fix cpsw PHY ident with multiple slaves and fixed-phy, from Pascal
    Speck.

 5) Fix use after free in sixpack_close and mkiss_close.

 6) Fix VXLAN fw assertion on bnx2x, from Yuval Mintz.

 7) natsemi doesn't check for DMA mapping errors, from Alexey
    Khoroshilov.

 8) Fix inverted test in ip6addrlbl_get(), from ANdrey Ryabinin.

 9) Missing initialization of needed_headroom in geneve tunnel driver,
    from Paolo Abeni.

10) Fix conntrack template leak in openvswitch, from Joe Stringer.

11) Mission initialization of wq-&gt;flags in sock_alloc_inode(), from
    Nicolai Stange.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (35 commits)
  sctp: sctp should release assoc when sctp_make_abort_user return NULL in sctp_close
  net, socket, socket_wq: fix missing initialization of flags
  drivers: net: cpsw: fix error return code
  openvswitch: Fix template leak in error cases.
  sctp: label accepted/peeled off sockets
  sctp: use GFP_USER for user-controlled kmalloc
  qlcnic: fix a loop exit condition better
  net: cdc_ncm: avoid changing RX/TX buffers on MTU changes
  geneve: initialize needed_headroom
  ipv6: honor ifindex in case we receive ll addresses in router advertisements
  addrconf: always initialize sysctl table data
  ipv6/addrlabel: fix ip6addrlbl_get()
  switchdev: bridge: Pass ageing time as clock_t instead of jiffies
  sh_eth: fix 16-bit descriptor field access endianness too
  veth: don’t modify ip_summed; doing so treats packets with bad checksums as good.
  net: usb: cdc_ncm: Adding Dell DW5813 LTE AT&amp;T Mobile Broadband Card
  net: usb: cdc_ncm: Adding Dell DW5812 LTE Verizon Mobile Broadband Card
  natsemi: add checks for dma mapping errors
  rhashtable: Kill harmless RCU warning in rhashtable_walk_init
  openvswitch: correct encoding of set tunnel action attributes
  ...
</content>
</entry>
<entry>
<title>RDMA/be2net: Remove open and close entry points</title>
<updated>2015-12-28T16:45:55Z</updated>
<author>
<name>Devesh Sharma</name>
</author>
<published>2015-12-24T18:14:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f41647ef06536199d3366530da050b411546979d'/>
<id>urn:sha1:f41647ef06536199d3366530da050b411546979d</id>
<content type='text'>
Recently Dough Ledford reported a deadlock happening
between ocrdma-load sequence and NetworkManager service
issueing "open" on be2net interface.

The deadlock happens when any be2net hook (e.g. open/close) is called
in parallel to insmod ocrdma.ko.

A. be2net is sending administrative open/close event to ocrdma holding
   device_list_mutex. It does this from ndo_open/ndo_stop hooks of be2net.
   So sequence of locks is rtnl_lock---&gt; device_list lock

B.  When new ocrdma roce device gets registered, infiniband stack now
    takes rtnl_lock in ib_register_device() in GID initialization routines.
    So sequence of locks in this path is device_list lock ---&gt; rtnl_lock.

This improper locking sequence causes deadlock.

In order to resolve the above deadlock condition, ocrdma intorduced a
patch to stop listening to administrative open/close events generated from
be2net driver. It now depends on link-state-change async-event generated from
CNA. This change leaves behind dead code which used to generate administrative
open/close events. This patch cleans-up all that dead code from be2net.

Reported-by: Doug Ledford &lt;dledford@redhat.com&gt;
CC: Sathya Perla &lt;sathya.perla@avagotech.com&gt;
Signed-off-by: Padmanabh Ratnakar &lt;padmanabh.ratnakar@avagotech.com&gt;
Signed-off-by: Selvin Xavier &lt;selvin.xavier@avagotech.com&gt;
Signed-off-by: Devesh Sharma &lt;devesh.sharma@avagotech.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>be2net: Avoid accessing eq object in be_msix_register routine, when i &lt; 0.</title>
<updated>2015-12-18T20:50:52Z</updated>
<author>
<name>Venkat Duvvuru</name>
</author>
<published>2015-12-17T20:10:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6e3cd5fa65318f35ec9c9f61bc5cdb55d4783cb9'/>
<id>urn:sha1:6e3cd5fa65318f35ec9c9f61bc5cdb55d4783cb9</id>
<content type='text'>
When the first request_irq fails in be_msix_register, i value
would be zero. The current code decrements the i value and
accesses the eq object without validating the decremented
"i" value. This can cause an "invalid memory address access"
violation.

This patch fixes the problem by accessing the eq object after
validating the "i" value.

Signed-off-by: Venkat Duvvuru &lt;venkatkumar.duvvuru@avagotech.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
