> > - for (i = 0; i < MCP_DRV_VER_STR_SIZE - 1; i += 4) {
> > - val = cpu_to_be32(p_ver->name[i]);
> > + for (i = 0; i < (MCP_DRV_VER_STR_SIZE - 4) / sizeof(u32); i++) {
> > + val = cpu_to_be32(p_ver->name[i * sizeof(u32)]);
> > *(__be32 *)&p_drv_version->name[i
The Marvell driver is the only one that actually sets the switches HW
address. All other drivers have an empty stub. fix this by making the
callback optional.
John Crispin (4):
net-next: dsa: fix duplicate invocation of set_addr()
net-next: dsa: make the set_addr() operation optional
net-nex
commit 83c0afaec7b730b ("net: dsa: Add new binding implementation")
has a duplicate invocation of the set_addr() operation callback. Remove one
of them.
Signed-off-by: John Crispin
---
net/dsa/dsa2.c |4
1 file changed, 4 deletions(-)
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
index
The set_addr() callback is now optional. Remove the empty stub that qca8k
has.
Signed-off-by: John Crispin
---
drivers/net/dsa/qca8k.c |8
1 file changed, 8 deletions(-)
diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
index 7f3f178..4788a89 100644
--- a/drivers/net/d
From: Yuval Mintz
> Sent: 18 September 2016 09:15
> Commit fe56b9e6a8d95 ("qed: Add module with basic common support")
> has introduced a stack corruption during probe, where filling a
> local struct with data to be sent to management firmware is incorrectly
> filled; The data is written outside of
Hi all,
I come back to this thread to re-start the conversation as I still have
the issue...
Le 16/04/2016 à 00:45, Alexandre Belloni a écrit :
> On 16/04/2016 at 00:30:26 +0200, Andrew Lunn wrote :
>> On Sat, Apr 16, 2016 at 12:17:11AM +0200, Alexandre Belloni wrote:
>>> On 16/04/2016 at 00:05:
On Mon, 19 Sep 2016 14:22:57 +0200, dan...@iogearbox.net wrote:
> On 09/19/2016 08:15 AM, Shmulik Ladkani wrote:
> > On Sun, 18 Sep 2016 13:26:30 -0700, pshe...@ovn.org wrote:
> >> On Sun, Sep 18, 2016 at 3:09 AM, Shmulik Ladkani
> >> wrote:
> >>> diff --git a/net/core/skbuff.c b/net/core/skbuff.c
Write space becoming available may race with putting the task to sleep
in xprt_wait_for_buffer_space(). The existing mechanism to avoid the
race does not work.
This (edited) partial trace illustrates the problem:
[1] rpc_task_run_action: task:43546@5 ... action=call_transmit
[2] xs_write_s
On Sun, 18 Sep 2016 23:51:09 -0400, Nicolas Pitre wrote:
> And to make it possible for PTP to be configured out, the select statement
> in the Kconfig entry for those ethernet drivers is changed from selecting
> PTP_1588_CLOCK to PTP_1588_CLOCK_SELECTED whose purpose is to indicate the
> default Kc
Reviewed-by: Eugenia Emantayev
On 09/19/2016 08:15 AM, Shmulik Ladkani wrote:
On Sun, 18 Sep 2016 13:26:30 -0700, pshe...@ovn.org wrote:
On Sun, Sep 18, 2016 at 3:09 AM, Shmulik Ladkani
wrote:
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 1e329d4112..cc2c004838 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff
[Fixup Vladimir's email]
same here I do not feel familiar with the code enough to give my ack but
Vladimir might be in a better position
On Wed 14-09-16 15:48:46, Johannes Weiner wrote:
> The cgroup core and the memory controller need to track socket
> ownership for different purposes, but the tr
[Fixup Vladimir's email]
I am not familiar with this code path to give my ack, unfortunatelly.
On Wed 14-09-16 15:48:45, Johannes Weiner wrote:
> From: Johannes Weiner
>
> When a socket is cloned, the associated sock_cgroup_data is duplicated
> but not its reference on the cgroup. As a result,
[Fixup Vladimir's email]
On Wed 14-09-16 15:48:44, Johannes Weiner wrote:
> From: Johannes Weiner
>
> During cgroup2 rollout into production, we started encountering css
> refcount underflows and css access crashes in the memory controller.
> Splitting the heavily shared css reference counter in
The driver allocates 1 vector per CPU thread and the current hardware
limit for vectors is 129 per PF. On systems with 128 or more threads
this currently means all vectors are used by the PF leaving no room for
additional features like VMDq, iWARP, etc...
The code that should redistribute the vecto
During MSI-X vector allocation for VMDq, a check for "no vectors left"
was missing, add it. This prevents more vectors to be allocated than
available.
Signed-off-by: Stefan Assmann
---
drivers/net/ethernet/intel/i40e/i40e_main.c | 27 ---
1 file changed, 16 insertions(+),
Stefan Assmann (3):
i40e: check if vectors are already depleted when doing VMDq allocation
i40e: fix MSI-X vector redistribution if hw limit is reached
i40e: fix sideband flow director vector allocation
drivers/net/ethernet/intel/i40e/i40e_main.c | 76 ++---
1 file c
Currently if the MSI-X vector limit is reached the sideband flow
director gets disabled. A bit too early to make that decision, as
vectors may get re-distributed. So move the check further back.
Signed-off-by: Stefan Assmann
---
drivers/net/ethernet/intel/i40e/i40e_main.c | 11 +--
1 fil
On Mon, 2016-09-19 at 13:03 +0200, Johannes Berg wrote:
> On Mon, 2016-09-19 at 18:58 +0800, Herbert Xu wrote:
> >
> > v3 fixes a bug in the remove path that causes the element count
> > to decrease when it shouldn't, leading to a gigantic hash table
> > when it underflows.
> >
> Ok, with the BUG
On Sun, Sep 18, 2016 at 07:42:53AM +, Ilan Tayari wrote:
> commit 1a6509d99122 ("[IPSEC]: Add support for combined mode algorithms")
> introduced aead. The function attach_aead kmemdup()s the algorithm
> name during xfrm_state_construct().
> However this memory is never freed.
> Implementation
On Mon, 2016-09-19 at 18:58 +0800, Herbert Xu wrote:
> v3 fixes a bug in the remove path that causes the element count
> to decrease when it shouldn't, leading to a gigantic hash table
> when it underflows.
>
Ok, with the BUG_ON() thrown in, this works in the test that was
failing before. I'll run
The insecure_elasticity setting is an ugly wart brought out by
users who need to insert duplicate objects (that is, distinct
objects with identical keys) into the same table.
In fact, those users have a much bigger problem. Once those
duplicate objects are inserted, they don't have an interface t
mac80211 currently uses rhashtable with insecure_elasticity set
to true. The latter is because of duplicate objects. What's
more, mac80211 walks the rhashtable chains by hand which is broken
as rhashtable may contain multiple tables due to resizing or
rehashing.
This patch fixes it by converting
v3 fixes a bug in the remove path that causes the element count
to decrease when it shouldn't, leading to a gigantic hash table
when it underflows.
v2 contains a reworked insertion slowpath to ensure that the
spinlock for the table we're inserting into is taken.
This series contains two patches.
On Mon, 2016-09-19 at 18:48 +0800, Herbert Xu wrote:
> On Mon, Sep 19, 2016 at 12:10:27PM +0200, Johannes Berg wrote:
> >
> > Btw, for debug I put
> >
> > BUG_ON(atomic_read(&ht->nelems) < 0);
> >
> > after the atomic_dec() in __rhashtable_remove_fast_one(). That
> > makes
> > the kernel crash i
Since commit 8a29111c7 ("net: gro: allow to build full sized skb")
gro may build buffers with a frag_list. This can hurt forwarding
because most NICs can't offload such packets, they need to be
segmented in software. This patch splits buffers with a frag_list
at the frag_list pointer into buffers t
Small packet loss is reported on complex multi host network configurations
including tunnels, NAT, ... My investigation led me to the following check
in netback which drops packets:
if (unlikely(txreq.size < ETH_HLEN)) {
netdev_err(queue->vif->dev,
On 19/09/2016 10:40 AM, Jesper Dangaard Brouer wrote:
Correct drop handling for XDP_TX on TX failure, were recently added in
commit 95357907ae73 ("mlx4: fix XDP_TX is acting like XDP_PASS on TX
ring full").
The change missed an opportunity for recycling the RX page, instead of
going through the
On Mon, Sep 19, 2016 at 12:10:27PM +0200, Johannes Berg wrote:
> Btw, for debug I put
>
> BUG_ON(atomic_read(&ht->nelems) < 0);
>
> after the atomic_dec() in __rhashtable_remove_fast_one(). That makes
> the kernel crash instantly on the buggy code, and I just have to run a
> single test ("wpas_ct
David Vrabel writes:
> On 19/09/16 11:22, Vitaly Kuznetsov wrote:
>> David Miller writes:
>>
>>> From: Vitaly Kuznetsov
>>> Date: Fri, 16 Sep 2016 12:59:14 +0200
>>>
@@ -595,6 +596,19 @@ static int xennet_start_xmit(struct sk_buff *skb,
struct net_device *dev)
offset = offse
Small packet loss is reported on complex multi host network configurations
including tunnels, NAT, ... My investigation led me to the following check
in netback which drops packets:
if (unlikely(txreq.size < ETH_HLEN)) {
netdev_err(queue->vif->dev,
On 19/09/16 11:22, Vitaly Kuznetsov wrote:
> David Miller writes:
>
>> From: Vitaly Kuznetsov
>> Date: Fri, 16 Sep 2016 12:59:14 +0200
>>
>>> @@ -595,6 +596,19 @@ static int xennet_start_xmit(struct sk_buff *skb,
>>> struct net_device *dev)
>>> offset = offset_in_page(skb->data);
>>> le
David Miller writes:
> From: Vitaly Kuznetsov
> Date: Fri, 16 Sep 2016 12:59:14 +0200
>
>> @@ -595,6 +596,19 @@ static int xennet_start_xmit(struct sk_buff *skb,
>> struct net_device *dev)
>> offset = offset_in_page(skb->data);
>> len = skb_headlen(skb);
>>
>> +/* The first req
Btw, for debug I put
BUG_ON(atomic_read(&ht->nelems) < 0);
after the atomic_dec() in __rhashtable_remove_fast_one(). That makes
the kernel crash instantly on the buggy code, and I just have to run a
single test ("wpas_ctrl_interface_add_many") to get there.
johannes
On Mon, 2016-09-19 at 12:02 +0200, Johannes Berg wrote:
> On Mon, 2016-09-19 at 11:54 +0200, Johannes Berg wrote:
> >
> > >
> > >
> > > The stack trace is useless, but my other annotation showed that
> > > the
> > > table's nelems *underflowed* to -1, so now the worker will
> > > continue
> > >
From: Raju Lakkaraju
All the review comments updated and resending for review.
This is MAC interface feature.
Microsemi PHY can support RGMII, RMII or GMII/MII interface between MAC and PHY.
MAC-IF function program the right value based on Device tree configuration.
Tested on Beaglebone Black w
On Mon, 2016-09-19 at 11:54 +0200, Johannes Berg wrote:
> >
> > The stack trace is useless, but my other annotation showed that the
> > table's nelems *underflowed* to -1, so now the worker will continue
> > to try to grow it forever.
> >
>
> And this *was* actually a case of duplication, afaict
> The stack trace is useless, but my other annotation showed that the
> table's nelems *underflowed* to -1, so now the worker will continue
> to try to grow it forever.
>
And this *was* actually a case of duplication, afaict, since it was
multiple virtual interfaces on the same device all connec
> >> The existing code is inconsistent in reporting and accepting the
> >> combined channel count. bnxt_get_channels() reports maximum combined
> >> as the maximum rx count. bnxt_set_channels() accepts combined count
> >> that cannot be bigger than max rx or max tx.
> >>
> >> For example, if max
> >> >> The existing code is inconsistent in reporting and accepting the
> >> >> combined channel count. bnxt_get_channels() reports maximum
> >> >> combined as the maximum rx count. bnxt_set_channels() accepts
> >> >> combined count that cannot be bigger than max rx or max tx.
> >> >>
> >> >> Fo
On Mon, 2016-09-19 at 17:34 +0800, Herbert Xu wrote:
> On Mon, Sep 19, 2016 at 11:27:24AM +0200, Johannes Berg wrote:
> >
> >
> > I have a feeling there's a bug with ht->nelems, since the crash is
> > always in the grow worker, but I haven't quite put my finger on it
> > yet.
>
> Can you show me
On Mon, Sep 19, 2016 at 2:21 AM, Mintz, Yuval wrote:
>> >> The existing code is inconsistent in reporting and accepting the
>> >> combined channel count. bnxt_get_channels() reports maximum combined
>> >> as the maximum rx count. bnxt_set_channels() accepts combined count
>> >> that cannot be bi
On Mon, 2016-09-19 at 17:34 +0800, Herbert Xu wrote:
> On Mon, Sep 19, 2016 at 11:27:24AM +0200, Johannes Berg wrote:
> >
> >
> > I have a feeling there's a bug with ht->nelems, since the crash is
> > always in the grow worker, but I haven't quite put my finger on it
> > yet.
>
> Can you show me
On Mon, Sep 19, 2016 at 11:27:24AM +0200, Johannes Berg wrote:
>
> I have a feeling there's a bug with ht->nelems, since the crash is
> always in the grow worker, but I haven't quite put my finger on it yet.
Can you show me a stack trace?
Thanks,
--
Email: Herbert Xu
Home Page: http://gondor.a
On Mon, 2016-09-19 at 11:27 +0200, Johannes Berg wrote:
> >
> I have a feeling there's a bug with ht->nelems, since the crash is
> always in the grow worker, but I haven't quite put my finger on it
> yet.
>
Btw, I should not actually get into the duplicate case here.
johannes
> What does your test suite actually do? Is it something that I
> can run without special hardware?
Yes, it's pretty simple - it spins up a number of VMs with hwsim and
just runs a lot of tests:
https://w1.fi/cgit/hostap/tree/tests/hwsim
I've attached a kernel .config you can use for it.
I'm r
On Mon, Sep 19, 2016 at 11:15:30AM +0200, Johannes Berg wrote:
> On Mon, 2016-09-19 at 16:40 +0800, Herbert Xu wrote:
>
> > I've tested the rhlist code with test_rhashtable but I haven't
> > tested the mac80211 conversion. So please give it a go and see
> > if it still works.
>
> This is still r
On Mon, 2016-09-19 at 16:40 +0800, Herbert Xu wrote:
> I've tested the rhlist code with test_rhashtable but I haven't
> tested the mac80211 conversion. So please give it a go and see
> if it still works.
This is still running out of memory on my test suite.
Somehow I don't see kmemleak kicking
On Mon, Sep 19, 2016 at 1:16 AM, Mintz, Yuval wrote:
>> + if (bp->hwrm_spec_code < 0x10400)
>> + return -EOPNOTSUPP;
> Don't you use defines for these kind of version values?
No we don't. In this case, firmware spec version 1.4.0 has added this
new feature. So we use this featur
> > > + dev->max_sge = min_t(u32, RDMA_MAX_SGE_PER_SQ_WQE,
> > > + RDMA_MAX_SGE_PER_RQ_WQE);
> >
> > Our kernel target mode consumers sort of rely on max_sge_rd, you need
> > to make sure to set it too.
> Good catch. Thanks!
Actually, as I come to code this, I just realized th
> > +
> > + rc = ib_get_cached_gid(ibqp->device, attr->ah_attr.port_num,
> > + attr->ah_attr.grh.sgid_index, &gid, &gid_attr);
> > + if (!rc && !memcmp(&gid, &zgid, sizeof(gid)))
> > + rc = -ENOENT;
> > +
> > + if (!rc && gid_attr.ndev) {
> > +
> > I take that back. I think it's leaking memory - my tests never used
> > to run out of memory, but now they eventually do.
>
> > I'll try to figure out more.
>
> Interesting. The kernel test robot found a bug in the insertion
> slowpath where we end up inserting without taking the inner spin
On Mon, Sep 19, 2016 at 1:33 AM, Mintz, Yuval wrote:
>> The existing code is inconsistent in reporting and accepting the combined
>> channel count. bnxt_get_channels() reports maximum combined as the
>> maximum rx count. bnxt_set_channels() accepts combined count that cannot be
>> bigger than ma
The insecure_elasticity setting is an ugly wart brought out by
users who need to insert duplicate objects (that is, distinct
objects with identical keys) into the same table.
In fact, those users have a much bigger problem. Once those
duplicate objects are inserted, they don't have an interface t
v2 contains a reworked insertion slowpath to ensure that the
spinlock for the table we're inserting into is taken.
This series contains one two patches. The first adds the rhlist
interface and the second converts mac80211 to use it. If this works
out I'll then proceed to convert the other insecu
mac80211 currently uses rhashtable with insecure_elasticity set
to true. The latter is because of duplicate objects. What's
more, mac80211 walks the rhashtable chains by hand which is broken
as rhashtable may contain multiple tables due to resizing or
rehashing.
This patch fixes it by converting
On Mon, Sep 19, 2016 at 10:25:18AM +0200, Johannes Berg wrote:
>
> > Yes, it's passing all the wpa_supplicant tests, so
> >
> > Acked-by: Johannes Berg
> >
>
> I take that back. I think it's leaking memory - my tests never used to
> run out of memory, but now they eventually do.
>
> I'll try
> The existing code is inconsistent in reporting and accepting the combined
> channel count. bnxt_get_channels() reports maximum combined as the
> maximum rx count. bnxt_set_channels() accepts combined count that cannot be
> bigger than max rx or max tx.
>
> For example, if max rx = 2 and max tx
> + if (bp->hwrm_spec_code < 0x10400)
> + return -EOPNOTSUPP;
Don't you use defines for these kind of version values?
> static int bnxt_flash_package_from_file(struct net_device *dev,
...
> + rc = request_firmware(&fw, filename, &dev->dev);
> + if (rc != 0) {
If (rc)
> +
> Restart autoneg if autoneg is enabled.
> + if (!(link_info->autoneg & BNXT_AUTONEG_SPEED))
> + return -EINVAL;
Looks like a lot of the of implementations of this ethtool
are unconditionally doing the reset.
Perhaps the right thing to do is check for autoneg availability
at the e
> Yes, it's passing all the wpa_supplicant tests, so
>
> Acked-by: Johannes Berg
>
I take that back. I think it's leaking memory - my tests never used to
run out of memory, but now they eventually do.
I'll try to figure out more.
johannes
> OK, it's finally ready now.
>
> This series contains one two patches. The first adds the rhlist
> interface and the second converts mac80211 to use it. If this works
> out I'll then proceed to convert the other insecure_elasticity
> users over to this.
Thanks a lot Herbert!
> I've tested th
The hardware has a limitation that it won't pass host to BMC loopback
packets below 52-bytes.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
b/drivers/net/eth
Re-arrange the code so that the generation of the random MAC address for
the VF is at the end of the function. The next patch will add one more step
to call bnxt_approve_mac() to get the firmware to approve the random MAC
address.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bn
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c |3 +
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 14 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 1251 +++--
3 files changed, 760 insertions(+), 508 deletions(-)
diff --git a/drive
The existing code is inconsistent in reporting and accepting the combined
channel count. bnxt_get_channels() reports maximum combined as the
maximum rx count. bnxt_set_channels() accepts combined count that
cannot be bigger than max rx or max tx.
For example, if max rx = 2 and max tx = 1, we rep
From: Deepak Khungar
Restart autoneg if autoneg is enabled.
Signed-off-by: Deepak Khungar
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 20
1 file changed, 20 insertions(+)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool
From: Eddie Wai
The VF link state can be changed via the 'ip link set' cmd.
Currently, the new link state does not take effect immediately.
The fix is for the PF to send a link change async event to the
designated VF after a VF link state change. This async event will
trigger the VF to update t
After generating the random MAC address for VF, call the firmware to
approve it. This step serves 2 purposes. Some hypervisor (e.g. ESX)
wants to approve the MAC address. 2nd, the call will setup the
proper forwarding database in the internal switch.
We need to unlock the hwrm_cmd_lock mutex be
From: Rob Swindell
Using Ethtool flashdev command, entire NVM package (*.pkg) files
may now be staged into the "update" area of the NVM and subsequently
verified and installed by the firmware using the newly introduced
command: NVM_INSTALL_UPDATE.
We also introduce use of the new firmware comman
Remove "Single-port/Dual-port" from the device names. Dual-port devices
will appear as 2 separate devices, so no need to call each a dual-port
device. Use a more generic name for VF devices belonging to the same
chip fanmily. Add some remaining NPAR device IDs.
Signed-off-by: David Christensen
Misc. changes and minor bug fixes for net-next. Please review.
Deepak Khungar (1):
bnxt_en: Support for "ethtool -r" command
Eddie Wai (1):
bnxt_en: Fixed the VF link status after a link state change
Michael Chan (7):
bnxt_en: Use RSS flags defined in the bnxt_hsi.h file.
bnxt_en: Simpl
And remove redundant definitions of the same flags.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 5 -
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.
We were missing check for 100G while checking port speed, which lead to
less number of queues getting allocated for 100G and leading to low
throughput. Adding the missing check for both NIC and vNIC driver.
Signed-off-by: Hariprasad Shenai
---
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c|
On Mon, 19 Sep 2016 01:39:25 -0400 (EDT)
David Miller wrote:
> From: Jesper Dangaard Brouer
> Date: Sat, 17 Sep 2016 17:48:00 +0200
>
> > The XDP_TX action can fail transmitting the frame in case the TX ring
> > is full or port is down. In case of TX failure it should drop the
> > frame, and n
Correct drop handling for XDP_TX on TX failure, were recently added in
commit 95357907ae73 ("mlx4: fix XDP_TX is acting like XDP_PASS on TX
ring full").
The change missed an opportunity for recycling the RX page, instead of
going through the page allocator, like the regular XDP_DROP action does.
T
201 - 276 of 276 matches
Mail list logo