* Re: [PATCH net-next] udp: Need to make ip6_udp_tunnel.c have GPL license
From: David Miller @ 2014-09-22 19:08 UTC (permalink / raw)
To: therbert; +Cc: azhou, netdev
In-Reply-To: <1411411184-11993-1-git-send-email-therbert@google.com>
From: Tom Herbert <therbert@google.com>
Date: Mon, 22 Sep 2014 11:39:44 -0700
> Unable to load various tunneling modules without this:
>
> [ 80.679049] fou: Unknown symbol udp_sock_create6 (err 0)
> [ 91.439939] ip6_udp_tunnel: Unknown symbol ip6_local_out (err 0)
> [ 91.439954] ip6_udp_tunnel: Unknown symbol __put_net (err 0)
> [ 91.457792] vxlan: Unknown symbol udp_sock_create6 (err 0)
> [ 91.457831] vxlan: Unknown symbol udp_tunnel6_xmit_skb (err 0)
>
> Signed-off-by: Tom Herbert <therbert@google.com>
Applied, thanks Tom.
^ permalink raw reply
* Re: Corrupt Network Packets -- 3.17-rc5/rc6
From: David Miller @ 2014-09-22 19:07 UTC (permalink / raw)
To: clem; +Cc: xiyou.wangcong, linux-kernel, netdev
In-Reply-To: <201409221830.s8MIUbWS002990@clem.clem-digital.net>
From: Pete Clements <clem@clem.clem-digital.net>
Date: Mon, 22 Sep 2014 14:30:36 -0400 (EDT)
>
> Thanks. Does not patch. Code looks not to be in the rc6 that Linus
> put out. Guess there is more to come. (This is what I believe is
> the segment in rc6 -- at line 2179.)
>
> vp->tx_ring[entry].frag[i+1].addr =
> cpu_to_le32(skb_frag_dma_map(
> &VORTEX_PCI(vp)->dev,
> frag,
> frag->page_offset, frag->size, DMA_TO_DEVICE));
Just simply change the frag->page_offset argument to zero.
^ permalink raw reply
* Re: [PATCH net-next 00/12] be2net: patch set
From: David Miller @ 2014-09-22 19:01 UTC (permalink / raw)
To: sathya.perla; +Cc: netdev
In-Reply-To: <1411121822-25842-1-git-send-email-sathya.perla@emulex.com>
From: Sathya Perla <sathya.perla@emulex.com>
Date: Fri, 19 Sep 2014 15:46:50 +0530
> Patches 1 and 2 fix sparse warnings (static declaration needed and endian
> declaration needed) introduced by the earlier patch set.
>
> Patches 3 and 4 add 20G/40G speed reporting via ethtool for the Skyhawk-R
> chip.
>
> Patches 5 to 12 fix various style issues and checkpatch warnings in the
> driver such as:
> - removing unnecessary return statements in void routines
> - adding needed blank lines after a declaration block
> - deleting multiple blank lines
> - inserting a blank line after a function/struct definition
> - removing space after typecast
> - fixing multiple assignments on a single line
> - fixing alignment on a line wrap
Series applied, thank you.
^ permalink raw reply
* Re: [PATCH net-next V2] net: keep original skb which only needs header checking during software GSO
From: David Miller @ 2014-09-22 18:57 UTC (permalink / raw)
To: jasowang; +Cc: netdev, linux-kernel, eric.dumazet
In-Reply-To: <1411113878-11910-1-git-send-email-jasowang@redhat.com>
From: Jason Wang <jasowang@redhat.com>
Date: Fri, 19 Sep 2014 16:04:38 +0800
> Commit ce93718fb7cdbc064c3000ff59e4d3200bdfa744 ("net: Don't keep
> around original SKB when we software segment GSO frames") frees the
> original skb after software GSO even for dodgy gso skbs. This breaks
> the stream throughput from untrusted sources, since only header
> checking was done during software GSO instead of a true
> segmentation. This patch fixes this by freeing the original gso skb
> only when it was really segmented by software.
>
> Fixes ce93718fb7cdbc064c3000ff59e4d3200bdfa744 ("net: Don't keep
> around original SKB when we software segment GSO frames.")
>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: Eric Dumazet <eric.dumazet@gmail.com>
> Signed-off-by: Jason Wang <jasowang@redhat.com>
Applied, thanks Jeff.
^ permalink raw reply
* [PATCH net 2/2 v2] net: bcmgenet: call bcmgenet_dma_teardown in bcmgenet_fini_dma
From: Florian Fainelli @ 2014-09-22 18:54 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
In-Reply-To: <1411412083-9370-1-git-send-email-f.fainelli@gmail.com>
We should not be manipulaging the DMA_CTRL registers directly by writing
0 to them to disable DMA. This is an operation that needs to be timed to
make sure the DMA engines have been properly stopped since their state
machine stops on a packet boundary, not immediately.
Make sure that tha bcmgenet_fini_dma() calls bcmgenet_dma_teardown() to
ensure a proper DMA engine state. As a result, we need to reorder the
function bodies to resolve the use dependency.
Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
Changes in v2:
- properly re-order bcmgenet_dma_teardown to resolve the use dependency
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 105 ++++++++++++-------------
1 file changed, 52 insertions(+), 53 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 11a96437862d..5cc9cae21ed5 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -1744,13 +1744,63 @@ static void bcmgenet_init_multiq(struct net_device *dev)
bcmgenet_tdma_writel(priv, reg, DMA_CTRL);
}
+static int bcmgenet_dma_teardown(struct bcmgenet_priv *priv)
+{
+ int ret = 0;
+ int timeout = 0;
+ u32 reg;
+
+ /* Disable TDMA to stop add more frames in TX DMA */
+ reg = bcmgenet_tdma_readl(priv, DMA_CTRL);
+ reg &= ~DMA_EN;
+ bcmgenet_tdma_writel(priv, reg, DMA_CTRL);
+
+ /* Check TDMA status register to confirm TDMA is disabled */
+ while (timeout++ < DMA_TIMEOUT_VAL) {
+ reg = bcmgenet_tdma_readl(priv, DMA_STATUS);
+ if (reg & DMA_DISABLED)
+ break;
+
+ udelay(1);
+ }
+
+ if (timeout == DMA_TIMEOUT_VAL) {
+ netdev_warn(priv->dev, "Timed out while disabling TX DMA\n");
+ ret = -ETIMEDOUT;
+ }
+
+ /* Wait 10ms for packet drain in both tx and rx dma */
+ usleep_range(10000, 20000);
+
+ /* Disable RDMA */
+ reg = bcmgenet_rdma_readl(priv, DMA_CTRL);
+ reg &= ~DMA_EN;
+ bcmgenet_rdma_writel(priv, reg, DMA_CTRL);
+
+ timeout = 0;
+ /* Check RDMA status register to confirm RDMA is disabled */
+ while (timeout++ < DMA_TIMEOUT_VAL) {
+ reg = bcmgenet_rdma_readl(priv, DMA_STATUS);
+ if (reg & DMA_DISABLED)
+ break;
+
+ udelay(1);
+ }
+
+ if (timeout == DMA_TIMEOUT_VAL) {
+ netdev_warn(priv->dev, "Timed out while disabling RX DMA\n");
+ ret = -ETIMEDOUT;
+ }
+
+ return ret;
+}
+
static void bcmgenet_fini_dma(struct bcmgenet_priv *priv)
{
int i;
/* disable DMA */
- bcmgenet_rdma_writel(priv, 0, DMA_CTRL);
- bcmgenet_tdma_writel(priv, 0, DMA_CTRL);
+ bcmgenet_dma_teardown(priv);
for (i = 0; i < priv->num_tx_bds; i++) {
if (priv->tx_cbs[i].skb != NULL) {
@@ -2109,57 +2159,6 @@ err_clk_disable:
return ret;
}
-static int bcmgenet_dma_teardown(struct bcmgenet_priv *priv)
-{
- int ret = 0;
- int timeout = 0;
- u32 reg;
-
- /* Disable TDMA to stop add more frames in TX DMA */
- reg = bcmgenet_tdma_readl(priv, DMA_CTRL);
- reg &= ~DMA_EN;
- bcmgenet_tdma_writel(priv, reg, DMA_CTRL);
-
- /* Check TDMA status register to confirm TDMA is disabled */
- while (timeout++ < DMA_TIMEOUT_VAL) {
- reg = bcmgenet_tdma_readl(priv, DMA_STATUS);
- if (reg & DMA_DISABLED)
- break;
-
- udelay(1);
- }
-
- if (timeout == DMA_TIMEOUT_VAL) {
- netdev_warn(priv->dev, "Timed out while disabling TX DMA\n");
- ret = -ETIMEDOUT;
- }
-
- /* Wait 10ms for packet drain in both tx and rx dma */
- usleep_range(10000, 20000);
-
- /* Disable RDMA */
- reg = bcmgenet_rdma_readl(priv, DMA_CTRL);
- reg &= ~DMA_EN;
- bcmgenet_rdma_writel(priv, reg, DMA_CTRL);
-
- timeout = 0;
- /* Check RDMA status register to confirm RDMA is disabled */
- while (timeout++ < DMA_TIMEOUT_VAL) {
- reg = bcmgenet_rdma_readl(priv, DMA_STATUS);
- if (reg & DMA_DISABLED)
- break;
-
- udelay(1);
- }
-
- if (timeout == DMA_TIMEOUT_VAL) {
- netdev_warn(priv->dev, "Timed out while disabling RX DMA\n");
- ret = -ETIMEDOUT;
- }
-
- return ret;
-}
-
static void bcmgenet_netif_stop(struct net_device *dev)
{
struct bcmgenet_priv *priv = netdev_priv(dev);
--
1.9.1
^ permalink raw reply related
* [PATCH net 1/2 v2] net: bcmgenet: fix TX reclaim accounting for fragments
From: Florian Fainelli @ 2014-09-22 18:54 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
In-Reply-To: <1411412083-9370-1-git-send-email-f.fainelli@gmail.com>
The GENET driver supports SKB fragments, and succeeds in transmitting
them properly, but when reclaiming these transmitted fragments, we will
only update the count of free buffer descriptors by 1, even for SKBs
with fragments. This leads to the networking stack thinking it has more
room than the hardware has when pushing new SKBs, and backing off
consequently because we return NETDEV_TX_BUSY.
Fix this by accounting for the SKB nr_frags plus one (itself) and update
ring->free_bds accordingly with that value for each iteration loop in
__bcmgenet_tx_reclaim().
Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index cdef86a03862..11a96437862d 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -875,6 +875,7 @@ static void __bcmgenet_tx_reclaim(struct net_device *dev,
int last_tx_cn, last_c_index, num_tx_bds;
struct enet_cb *tx_cb_ptr;
struct netdev_queue *txq;
+ unsigned int bds_compl;
unsigned int c_index;
/* Compute how many buffers are transmitted since last xmit call */
@@ -899,7 +900,9 @@ static void __bcmgenet_tx_reclaim(struct net_device *dev,
/* Reclaim transmitted buffers */
while (last_tx_cn-- > 0) {
tx_cb_ptr = ring->cbs + last_c_index;
+ bds_compl = 0;
if (tx_cb_ptr->skb) {
+ bds_compl = skb_shinfo(tx_cb_ptr->skb)->nr_frags + 1;
dev->stats.tx_bytes += tx_cb_ptr->skb->len;
dma_unmap_single(&dev->dev,
dma_unmap_addr(tx_cb_ptr, dma_addr),
@@ -916,7 +919,7 @@ static void __bcmgenet_tx_reclaim(struct net_device *dev,
dma_unmap_addr_set(tx_cb_ptr, dma_addr, 0);
}
dev->stats.tx_packets++;
- ring->free_bds += 1;
+ ring->free_bds += bds_compl;
last_c_index++;
last_c_index &= (num_tx_bds - 1);
--
1.9.1
^ permalink raw reply related
* [PATCH net 0/2 v2] net: bcmgenet: TX reclaim and DMA fixes
From: Florian Fainelli @ 2014-09-22 18:54 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
Hi David,
This patch set contains one fix for an accounting problem while reclaiming
transmitted buffers having fragments, and the second fix is to make sure
that the DMA shutdown is properly controlled.
Florian Fainelli (2):
net: bcmgenet: fix TX reclaim accounting for fragments
net: bcmgenet: call bcmgenet_dma_teardown in bcmgenet_fini_dma
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 110 +++++++++++++------------
1 file changed, 56 insertions(+), 54 deletions(-)
--
1.9.1
^ permalink raw reply
* Re: [PATCH net] r8152: disable ALDPS
From: David Miller @ 2014-09-22 18:54 UTC (permalink / raw)
To: hayeswang; +Cc: netdev, nic_swsd, linux-kernel, linux-usb
In-Reply-To: <1394712342-15778-44-Taiwan-albertk@realtek.com>
From: Hayes Wang <hayeswang@realtek.com>
Date: Fri, 19 Sep 2014 15:17:18 +0800
> If the hw is in ALDPS mode, the hw may have no response for accessing
> the most registers. Therefore, the ALDPS should be disabled before
> accessing the hw in rtl_ops.init(), rtl_ops.disable(), rtl_ops.up(),
> and rtl_ops.down(). Regardless of rtl_ops.enable(), because the hw
> wouldn't enter ALDPS mode when linking on. The hw would enter the
> ALDPS mode after several seconds when link down occurs and the ALDPS
> is enabled.
>
> Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH] net: fec: fix code identation
From: David Miller @ 2014-09-22 18:52 UTC (permalink / raw)
To: b38611; +Cc: netdev, dan.carpenter
In-Reply-To: <1411107963-8303-1-git-send-email-b38611@freescale.com>
From: Fugang Duan <b38611@freescale.com>
Date: Fri, 19 Sep 2014 14:26:03 +0800
> There have extra identation before .skb_copy_to_linear_data_offset(),
> this patch just remove the identation.
>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Fugang Duan <B38611@freescale.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH net 0/2] net: bcmgenet: TX reclaim and DMA fixes
From: Florian Fainelli @ 2014-09-22 18:50 UTC (permalink / raw)
To: David Miller; +Cc: netdev
In-Reply-To: <20140922.144618.340968117925494461.davem@davemloft.net>
On 09/22/2014 11:46 AM, David Miller wrote:
> From: Florian Fainelli <f.fainelli@gmail.com>
> Date: Thu, 18 Sep 2014 17:48:15 -0700
>
>> This patch set contains one fix for an accounting problem while reclaiming
>> transmitted buffers having fragments, and the second fix is to make sure
>> that the DMA shutdown is properly controlled.
>
> Florian I am seriesly irritated, are you even build testing these
> changes?
>
> bcmgenet_dma_teardown() is a static function declared far after the
> new call you are adding in patch #2, so now we get:
>
> drivers/net/ethernet/broadcom/genet/bcmgenet.c: In function ‘bcmgenet_fini_dma’:
> drivers/net/ethernet/broadcom/genet/bcmgenet.c:1752:2: error: implicit declaration of function ‘bcmgenet_dma_teardown’ [-Werror=implicit-function-declaration]
> drivers/net/ethernet/broadcom/genet/bcmgenet.c: At top level:
> drivers/net/ethernet/broadcom/genet/bcmgenet.c:2111:12: error: static declaration of ‘bcmgenet_dma_teardown’ follows non-static declaration
> drivers/net/ethernet/broadcom/genet/bcmgenet.c:1752:2: note: previous implicit declaration of ‘bcmgenet_dma_teardown’ was here
>
> I want to make it clear to you that whatever time you think you're
> saving by skipping even the most basic compilation test, goes directly
> to _ME_ and you are therefore having a negative impact on every single
> developer who is also waiting for me to review and integrate their
> networking changes.
>
> Please do not do this any more.
Very sorry about that, v2 is on your way, I will be more careful.
--
Florian
^ permalink raw reply
* Re: [PATCH net 0/2] net: bcmgenet: TX reclaim and DMA fixes
From: David Miller @ 2014-09-22 18:46 UTC (permalink / raw)
To: f.fainelli; +Cc: netdev
In-Reply-To: <1411087697-19306-1-git-send-email-f.fainelli@gmail.com>
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Thu, 18 Sep 2014 17:48:15 -0700
> This patch set contains one fix for an accounting problem while reclaiming
> transmitted buffers having fragments, and the second fix is to make sure
> that the DMA shutdown is properly controlled.
Florian I am seriesly irritated, are you even build testing these
changes?
bcmgenet_dma_teardown() is a static function declared far after the
new call you are adding in patch #2, so now we get:
drivers/net/ethernet/broadcom/genet/bcmgenet.c: In function ‘bcmgenet_fini_dma’:
drivers/net/ethernet/broadcom/genet/bcmgenet.c:1752:2: error: implicit declaration of function ‘bcmgenet_dma_teardown’ [-Werror=implicit-function-declaration]
drivers/net/ethernet/broadcom/genet/bcmgenet.c: At top level:
drivers/net/ethernet/broadcom/genet/bcmgenet.c:2111:12: error: static declaration of ‘bcmgenet_dma_teardown’ follows non-static declaration
drivers/net/ethernet/broadcom/genet/bcmgenet.c:1752:2: note: previous implicit declaration of ‘bcmgenet_dma_teardown’ was here
I want to make it clear to you that whatever time you think you're
saving by skipping even the most basic compilation test, goes directly
to _ME_ and you are therefore having a negative impact on every single
developer who is also waiting for me to review and integrate their
networking changes.
Please do not do this any more.
Thanks.
^ permalink raw reply
* Re: [PATCH v2 net] ipv4: do not use this_cpu_ptr() in preemptible context
From: Tom Herbert @ 2014-09-22 18:44 UTC (permalink / raw)
To: Eric Dumazet; +Cc: Stephen Hemminger, David Miller, Linux Netdev List, joe9mail
In-Reply-To: <1411407496.26859.141.camel@edumazet-glaptop2.roam.corp.google.com>
On Mon, Sep 22, 2014 at 10:38 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> From: Eric Dumazet <edumazet@google.com>
>
> this_cpu_ptr() in preemptible context is generally bad
>
> Sep 22 05:05:55 br kernel: [ 94.608310] BUG: using smp_processor_id()
> in
> preemptible [00000000] code: ip/2261
> Sep 22 05:05:55 br kernel: [ 94.608316] caller is
> tunnel_dst_set.isra.28+0x20/0x60 [ip_tunnel]
> Sep 22 05:05:55 br kernel: [ 94.608319] CPU: 3 PID: 2261 Comm: ip Not
> tainted
> 3.17.0-rc5 #82
>
> We can simply use raw_cpu_ptr(), as preemption is safe in these
> contexts.
>
> Should fix https://bugzilla.kernel.org/show_bug.cgi?id=84991
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Reported-by: Joe <joe9mail@gmail.com>
> Fixes: 9a4aa9af447f ("ipv4: Use percpu Cache route in IP tunnels")
Acked-by: Tom Herbert <therbert@google.com>
> ---
> v2: use latest and shiny raw_cpu_ptr(), as it seems the latest
> incantation of ever changing percpu interface.
>
> net/ipv4/ip_tunnel.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
> index afed1aac2638..bd41dd1948b6 100644
> --- a/net/ipv4/ip_tunnel.c
> +++ b/net/ipv4/ip_tunnel.c
> @@ -79,10 +79,10 @@ static void __tunnel_dst_set(struct ip_tunnel_dst *idst,
> idst->saddr = saddr;
> }
>
> -static void tunnel_dst_set(struct ip_tunnel *t,
> +static noinline void tunnel_dst_set(struct ip_tunnel *t,
> struct dst_entry *dst, __be32 saddr)
> {
> - __tunnel_dst_set(this_cpu_ptr(t->dst_cache), dst, saddr);
> + __tunnel_dst_set(raw_cpu_ptr(t->dst_cache), dst, saddr);
> }
>
> static void tunnel_dst_reset(struct ip_tunnel *t)
> @@ -106,7 +106,7 @@ static struct rtable *tunnel_rtable_get(struct ip_tunnel *t,
> struct dst_entry *dst;
>
> rcu_read_lock();
> - idst = this_cpu_ptr(t->dst_cache);
> + idst = raw_cpu_ptr(t->dst_cache);
> dst = rcu_dereference(idst->dst);
> if (dst && !atomic_inc_not_zero(&dst->__refcnt))
> dst = NULL;
>
>
^ permalink raw reply
* Re: [PATCH net-next 0/4] dsa: Broadcom SF2 suspend/resume and WoL
From: David Miller @ 2014-09-22 18:41 UTC (permalink / raw)
To: f.fainelli; +Cc: netdev
In-Reply-To: <1411086685-18684-1-git-send-email-f.fainelli@gmail.com>
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Thu, 18 Sep 2014 17:31:21 -0700
> This patch add supports for suspend/resume and configuring Wake-on-LAN
> for Broadcom Starfighter 2 switches.
Series applied, thanks Florian.
^ permalink raw reply
* [PATCH net-next] udp: Need to make ip6_udp_tunnel.c have GPL license
From: Tom Herbert @ 2014-09-22 18:39 UTC (permalink / raw)
To: davem, azhou, netdev
Unable to load various tunneling modules without this:
[ 80.679049] fou: Unknown symbol udp_sock_create6 (err 0)
[ 91.439939] ip6_udp_tunnel: Unknown symbol ip6_local_out (err 0)
[ 91.439954] ip6_udp_tunnel: Unknown symbol __put_net (err 0)
[ 91.457792] vxlan: Unknown symbol udp_sock_create6 (err 0)
[ 91.457831] vxlan: Unknown symbol udp_tunnel6_xmit_skb (err 0)
Signed-off-by: Tom Herbert <therbert@google.com>
---
net/ipv6/ip6_udp_tunnel.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/ipv6/ip6_udp_tunnel.c b/net/ipv6/ip6_udp_tunnel.c
index cbc9907..b04ed72 100644
--- a/net/ipv6/ip6_udp_tunnel.c
+++ b/net/ipv6/ip6_udp_tunnel.c
@@ -103,3 +103,5 @@ int udp_tunnel6_xmit_skb(struct socket *sock, struct dst_entry *dst,
return 0;
}
EXPORT_SYMBOL_GPL(udp_tunnel6_xmit_skb);
+
+MODULE_LICENSE("GPL");
--
2.1.0.rc2.206.gedb03e5
^ permalink raw reply related
* Re: [net] net: sched: shrink struct qdisc_skb_cb to 28 bytes
From: David Miller @ 2014-09-22 18:38 UTC (permalink / raw)
To: dledford
Cc: eric.dumazet, or.gerlitz, _govind, yinghai, netdev, ssujith,
gvaradar, benve
In-Reply-To: <541B5CCB.6060808@xsintricity.com>
From: Doug Ledford <dledford@xsintricity.com>
Date: Thu, 18 Sep 2014 18:29:31 -0400
> Tested-by/Acked-by: Doug Ledford <dledford@redhat.com>
Automated tools do not understand this, please explicitly give
separate Tested-by: and Acked-by: tags in the future.
Thanks.
^ permalink raw reply
* Re: [PATCH net-next 1/2] qlge: Fix compilation warning
From: David Miller @ 2014-09-22 18:36 UTC (permalink / raw)
To: harish.patil; +Cc: netdev, Dept-GELinuxNICDev, sudarsana.kalluru
In-Reply-To: <1411075645-21845-2-git-send-email-harish.patil@qlogic.com>
From: Harish Patil <harish.patil@qlogic.com>
Date: Thu, 18 Sep 2014 17:27:24 -0400
> From: Harish Patil <harish.patil@qlogic.com>
>
> Signed-off-by: Harish Patil <harish.patil@qlogic.com>
>
> Fix the below warning message:
> qlge_main.c:1754: warning: 'lbq_desc' may be used uninitialized in this function
Next time, put the build warning information before, not after, your signoff.
^ permalink raw reply
* Re: [net-next PATCH v2 00/29] Add support for the Intel FM10000 Ethernet Switch Host Interface
From: Jeff Kirsher @ 2014-09-22 18:36 UTC (permalink / raw)
To: Alexander Duyck
Cc: davem, nhorman, netdev, john.fastabend, matthew.vick, sassmann
In-Reply-To: <20140920234342.2977.21667.stgit@ahduyck-bv4.jf.intel.com>
[-- Attachment #1: Type: text/plain, Size: 5724 bytes --]
On Sat, 2014-09-20 at 19:45 -0400, Alexander Duyck wrote:
> This patch series adds support for the FM10000 Ethernet switch host
> interface. The Intel FM10000 Ethernet Switch is a 48-port Ethernet switch
> supporting both Ethernet ports and PCI Express host interfaces. The fm10k
> driver provides support for the host interface portion of the switch, both
> PF and VF.
>
> As the host interfaces are directly connected to the switch this results in
> some significant differences versus a standard network driver. For example
> there is no PHY or MII on the device. Since packets are delivered directly
> from the switch to the host interface these are unnecessary. Otherwise most
> of the functionality is very similar to our other network drivers such as
> ixgbe or igb. For example we support all the standard network offloads,
> jumbo frames, SR-IOV (64 VFS), PTP, and some VXLAN and NVGRE offloads.
>
> ---
Dave, if it makes it easier on you, I can add Alex's series of patches
to my net-next tree for you to pull. Just give me an hour or so so that
I can update my net-next and push his patches up to my tree.
>
> Alexander Duyck (29):
> fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver
> fm10k: Add register defines and basic structures
> fm10k: Add support for TLV message parsing and generation
> fm10k: Add support for basic interaction with hardware
> fm10k: Add support for mailbox
> fm10k: Implement PF <-> SM mailbox operations
> fm10k: Add support for PF
> fm10k: Add support for configuring PF interface
> fm10k: Add netdev
> fm10k: Add support for L2 filtering
> fm10k: Add support for ndo_open/stop
> fm10k: Add interrupt support
> fm10k: add support for Tx/Rx rings
> fm10k: Add service task to handle delayed events
> fm10k: Add Tx/Rx hardware ring bring-up/tear-down
> fm10k: Add transmit and receive fastpath and interrupt handlers
> fm10k: Add ethtool support
> fm10k: Add support for PCI power management and error handling
> fm10k: Add support for multiple queues
> fm10k: Add support for netdev offloads
> fm10k: Add support for MACVLAN acceleration
> fm10k: Add support for PF <-> VF mailbox
> fm10k: Add support for VF
> fm10k: Add support for SR-IOV to PF core files
> fm10k: Add support for SR-IOV to driver
> fm10k: Add support for IEEE DCBx
> fm10k: Add support for debugfs
> fm10k: Add support for ptp to hw specific files
> fm10k: Add support for PTP
>
>
> drivers/net/ethernet/intel/Kconfig | 19
> drivers/net/ethernet/intel/Makefile | 1
> drivers/net/ethernet/intel/fm10k/Makefile | 33
> drivers/net/ethernet/intel/fm10k/fm10k.h | 534 +++++
> drivers/net/ethernet/intel/fm10k/fm10k_common.c | 534 +++++
> drivers/net/ethernet/intel/fm10k/fm10k_common.h | 65 +
> drivers/net/ethernet/intel/fm10k/fm10k_dcbnl.c | 174 ++
> drivers/net/ethernet/intel/fm10k/fm10k_debugfs.c | 259 +++
> drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c | 1069 +++++++++++
> drivers/net/ethernet/intel/fm10k/fm10k_iov.c | 536 +++++
> drivers/net/ethernet/intel/fm10k/fm10k_main.c | 1978 ++++++++++++++++++++
> drivers/net/ethernet/intel/fm10k/fm10k_mbx.c | 2125 ++++++++++++++++++++++
> drivers/net/ethernet/intel/fm10k/fm10k_mbx.h | 307 +++
> drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 1430 +++++++++++++++
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 2166 ++++++++++++++++++++++
> drivers/net/ethernet/intel/fm10k/fm10k_pf.c | 1880 +++++++++++++++++++
> drivers/net/ethernet/intel/fm10k/fm10k_pf.h | 135 +
> drivers/net/ethernet/intel/fm10k/fm10k_ptp.c | 463 +++++
> drivers/net/ethernet/intel/fm10k/fm10k_tlv.c | 863 +++++++++
> drivers/net/ethernet/intel/fm10k/fm10k_tlv.h | 186 ++
> drivers/net/ethernet/intel/fm10k/fm10k_type.h | 770 ++++++++
> drivers/net/ethernet/intel/fm10k/fm10k_vf.c | 578 ++++++
> drivers/net/ethernet/intel/fm10k/fm10k_vf.h | 78 +
> 23 files changed, 16183 insertions(+)
> create mode 100644 drivers/net/ethernet/intel/fm10k/Makefile
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k.h
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_common.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_common.h
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_dcbnl.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_debugfs.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_iov.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_main.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_mbx.h
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_pf.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_pf.h
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_ptp.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_tlv.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_tlv.h
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_type.h
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_vf.c
> create mode 100644 drivers/net/ethernet/intel/fm10k/fm10k_vf.h
>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* Re: [PATCH net-next 0/2] qlge: Fix compilation warning and update maintainers
From: David Miller @ 2014-09-22 18:36 UTC (permalink / raw)
To: harish.patil; +Cc: netdev, Dept-GELinuxNICDev, sudarsana.kalluru
In-Reply-To: <1411075645-21845-1-git-send-email-harish.patil@qlogic.com>
From: Harish Patil <harish.patil@qlogic.com>
Date: Thu, 18 Sep 2014 17:27:23 -0400
> From: Harish Patil <harish.patil@qlogic.com>
>
> This patch series includes the following set of patches:
>
> - Fix the below warning message:
> qlge_main.c:1754: warning: 'lbq_desc' may be used uninitialized in this function
>
> I have made changes according to your earlier feedback:
>
> "Please fix this differently. The problem is that the compiler can't see that
> you've done the !length check at the top of the function, so when it later
> sees the while (length > 0) loop, it doesn't know that this loop will always
> execute at least once. Just change that loop to a do { } while() loop and
> the compiler will be able to see everything."
>
> - Update qlge driver maintainers list
>
> Please apply this series to net-next.
Series applied, thanks.
^ permalink raw reply
* Re: Corrupt Network Packets -- 3.17-rc5/rc6
From: Pete Clements @ 2014-09-22 18:30 UTC (permalink / raw)
To: David Miller; +Cc: clem, xiyou.wangcong, linux-kernel, netdev
In-Reply-To: <20140922.133831.220769383344675250.davem@davemloft.net>
Thanks. Does not patch. Code looks not to be in the rc6 that Linus
put out. Guess there is more to come. (This is what I believe is
the segment in rc6 -- at line 2179.)
vp->tx_ring[entry].frag[i+1].addr =
cpu_to_le32(skb_frag_dma_map(
&VORTEX_PCI(vp)->dev,
frag,
frag->page_offset, frag->size, DMA_TO_DEVICE));
--
Pete Clements
Quoting David Miller
> From: Pete Clements <clem@clem.clem-digital.net>
> Date: Mon, 22 Sep 2014 13:24:59 -0400 (EDT)
>
> > Quoting Cong Wang
> > > <clem@clem.clem-digital.net> wrote:
> > > > Heads up fyi: system is i386 UP.
> > > >
> > > > Started getting some pop3 reception errors from the above system.
> > > > Investigating the problem discovered scp of the mailbox failed
> > > > with "Corrupted MAC on input"
> > > >
> > > > Problem started with rc5, still in rc6. Running rc4 with no
> > > > problem.
> > > >
> > > > Sorry for lack of better definition.
> > >
> > >
> > > Which driver are you using?
> > >
> > Here's the output from boot log:
> >
> > PCI: setting IRQ 11 as level-triggered
> > 3c59x 0000:00:0d.0: found PCI INT A -> IRQ 11
> > 3c59x: Donald Becker and others.
> > 0000:00:0d.0: 3Com PCI 3c900 Cyclone 10Mbps TPC at d8812000.
>
> Should be fixed by:
>
> commit 8400dd029e764e30361a51a7ae35900ae0032b43
> Author: Neil Horman <nhorman@tuxdriver.com>
> Date: Wed Sep 17 09:04:45 2014 -0400
>
> 3c59x: Fix bad offset spec in skb_frag_dma_map
>
> Recently aded the use of skb_frag_dma_map to 3c59x, but didn't realize it
> automatically included the frag_offset internally, as well as provided an option
> to specify an extra offset in the parameter list. We need to specify an offset
> of 0 in the parameter list to avoid skb corruption that results in lost
> connections.
>
> Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
> CC: Linux Kernel list <linux-kernel@vger.kernel.org>
> CC: "David S. Miller" <davem@davemloft.net>
> CC: Meelis Roos <mroos@linux.ee>
> Tested-by: Meelis Roos <mroos@linux.ee>
>
> diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c
> index 8ab87ff..8ca49f04 100644
> --- a/drivers/net/ethernet/3com/3c59x.c
> +++ b/drivers/net/ethernet/3com/3c59x.c
> @@ -2186,7 +2186,7 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)
> skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
>
> dma_addr = skb_frag_dma_map(&VORTEX_PCI(vp)->dev, frag,
> - frag->page_offset,
> + 0,
> frag->size,
> DMA_TO_DEVICE);
> if (dma_mapping_error(&VORTEX_PCI(vp)->dev, dma_addr)) {
>
^ permalink raw reply
* Re: [net-next] am2150: Update nmclan_cs.c to use update PCMCIA API
From: David Miller @ 2014-09-22 18:28 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, nhorman, sassmann, jogreene, rpao
In-Reply-To: <1411032821-9753-1-git-send-email-jeffrey.t.kirsher@intel.com>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 18 Sep 2014 02:33:41 -0700
> Resolves compile warning about use of a deprecated function call:
> drivers/net/ethernet/amd/nmclan_cs.c: In function ‘nmclan_config’:
> drivers/net/ethernet/amd/nmclan_cs.c:624:3: warning: ‘pcmcia_request_exclusive_irq’ is deprecated (declared at include/pcmcia/ds.h:213) [-Wdeprecated-declarations]
> ret = pcmcia_request_exclusive_irq(link, mace_interrupt);
>
> Updates pcmcia_request_exclusive_irq() to pcmcia_request_irq().
>
> CC: Roger Pao <rpao@paonet.org>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied, thanks Jeff.
^ permalink raw reply
* Re: [PATCH net] net: sched: shrink struct qdisc_skb_cb to 28 bytes
From: David Miller @ 2014-09-22 18:22 UTC (permalink / raw)
To: eric.dumazet
Cc: or.gerlitz, _govind, yinghai, netdev, ssujith, gvaradar, benve
In-Reply-To: <1411052525.7106.269.camel@edumazet-glaptop2.roam.corp.google.com>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 18 Sep 2014 08:02:05 -0700
> From: Eric Dumazet <edumazet@google.com>
>
> We cannot make struct qdisc_skb_cb bigger without impacting IPoIB,
> or increasing skb->cb[] size.
>
> Commit e0f31d849867 ("flow_keys: Record IP layer protocol in
> skb_flow_dissect()") broke IPoIB.
>
> Only current offender is sch_choke, and this one do not need an
> absolutely precise flow key.
>
> If we store 17 bytes of flow key, its more than enough. (Its the actual
> size of flow_keys if it was a packed structure, but we might add new
> fields at the end of it later)
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Fixes: e0f31d849867 ("flow_keys: Record IP layer protocol in skb_flow_dissect()")
Applied, thanks Eric.
^ permalink raw reply
* Re: [PATCH] tg3: Work around HW/FW limitations with vlan encapsulated frames
From: David Miller @ 2014-09-22 18:20 UTC (permalink / raw)
To: vyasevich; +Cc: netdev, vyasevic, prashant, mchan
In-Reply-To: <1411050677-28147-1-git-send-email-vyasevic@redhat.com>
From: Vladislav Yasevich <vyasevich@gmail.com>
Date: Thu, 18 Sep 2014 10:31:17 -0400
> TG3 appears to have an issue performing TSO and checksum offloading
> correclty when the frame has been vlan encapsulated (non-accelrated).
> In these cases, tcp checksum is not correctly updated.
>
> This patch attempts to work around this issue. After the patch,
> 802.1ad vlans start working correctly over tg3 devices.
>
> CC: Prashant Sreedharan <prashant@broadcom.com>
> CC: Michael Chan <mchan@broadcom.com>
> Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com>
Applied and queued up for -stable.
^ permalink raw reply
* Re: [PATCH] net: stmmac: fix stmmac_pci_probe failed when CONFIG_HAVE_CLK is selected
From: David Miller @ 2014-09-22 18:19 UTC (permalink / raw)
To: hock.leong.kweh
Cc: peppe.cavallaro, rayagond, vbridgers2013, wens, netdev,
linux-kernel, boon.leong.ong, tobias.johannes.klausmann
In-Reply-To: <1411043650-31712-1-git-send-email-hock.leong.kweh@intel.com>
From: Kweh Hock Leong <hock.leong.kweh@intel.com>
Date: Thu, 18 Sep 2014 20:34:10 +0800
> From: "Kweh, Hock Leong" <hock.leong.kweh@intel.com>
>
> When the CONFIG_HAVE_CLK is selected for the system, the stmmac_pci_probe
> will fail with dmesg:
> [ 2.167225] stmmaceth 0000:00:14.6: enabling device (0000 -> 0002)
> [ 2.178267] stmmaceth 0000:00:14.6: enabling bus mastering
> [ 2.178436] stmmaceth 0000:00:14.6: irq 24 for MSI/MSI-X
> [ 2.178703] stmmaceth 0000:00:14.6: stmmac_dvr_probe: warning: cannot
> get CSR clock
> [ 2.186503] stmmac_pci_probe: main driver probe failed
> [ 2.194003] stmmaceth 0000:00:14.6: disabling bus mastering
> [ 2.196473] stmmaceth: probe of 0000:00:14.6 failed with error -2
>
> This patch fix the issue by breaking the dependency to devm_clk_get()
> as the CSR clock can be obtained at priv->plat->clk_csr from pci driver.
>
> Reported-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
> Signed-off-by: Kweh, Hock Leong <hock.leong.kweh@intel.com>
Giuseppe, Kweh, where are we with this patch?
^ permalink raw reply
* [PATCH net-next] bluetooth: Convert bt_<level> logging functions to return void
From: Joe Perches @ 2014-09-22 18:17 UTC (permalink / raw)
To: Marcel Holtmann
Cc: Gustavo Padovan, Johan Hedberg, David S. Miller, linux-bluetooth,
netdev, linux-kernel
No caller or macro uses the return value so make all
the functions return void.
Signed-off-by: Joe Perches <joe@perches.com>
---
This change is associated to a desire to eventually
change printk to return void.
include/net/bluetooth/bluetooth.h | 4 ++--
net/bluetooth/lib.c | 14 ++++----------
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h
index 7e666d0..58695ff 100644
--- a/include/net/bluetooth/bluetooth.h
+++ b/include/net/bluetooth/bluetooth.h
@@ -120,9 +120,9 @@ struct bt_voice {
#define BT_RCVMTU 13
__printf(1, 2)
-int bt_info(const char *fmt, ...);
+void bt_info(const char *fmt, ...);
__printf(1, 2)
-int bt_err(const char *fmt, ...);
+void bt_err(const char *fmt, ...);
#define BT_INFO(fmt, ...) bt_info(fmt "\n", ##__VA_ARGS__)
#define BT_ERR(fmt, ...) bt_err(fmt "\n", ##__VA_ARGS__)
diff --git a/net/bluetooth/lib.c b/net/bluetooth/lib.c
index 941ad75..b36bc04 100644
--- a/net/bluetooth/lib.c
+++ b/net/bluetooth/lib.c
@@ -135,40 +135,34 @@ int bt_to_errno(__u16 code)
}
EXPORT_SYMBOL(bt_to_errno);
-int bt_info(const char *format, ...)
+void bt_info(const char *format, ...)
{
struct va_format vaf;
va_list args;
- int r;
va_start(args, format);
vaf.fmt = format;
vaf.va = &args;
- r = pr_info("%pV", &vaf);
+ pr_info("%pV", &vaf);
va_end(args);
-
- return r;
}
EXPORT_SYMBOL(bt_info);
-int bt_err(const char *format, ...)
+void bt_err(const char *format, ...)
{
struct va_format vaf;
va_list args;
- int r;
va_start(args, format);
vaf.fmt = format;
vaf.va = &args;
- r = pr_err("%pV", &vaf);
+ pr_err("%pV", &vaf);
va_end(args);
-
- return r;
}
EXPORT_SYMBOL(bt_err);
^ permalink raw reply related
* Re: [PATCH net] macvlan: allow to enqueue broadcast pkt on virtual device
From: David Miller @ 2014-09-22 18:10 UTC (permalink / raw)
To: nicolas.dichtel; +Cc: netdev, herbert
In-Reply-To: <1410941288-1880-1-git-send-email-nicolas.dichtel@6wind.com>
From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Wed, 17 Sep 2014 10:08:08 +0200
> Since commit 412ca1550cbe ("macvlan: Move broadcasts into a work queue"), the
> driver uses tx_queue_len of the master device as the limit of packets enqueuing.
> Problem is that virtual drivers have this value set to 0, thus all broadcast
> packets were rejected.
> Because tx_queue_len was arbitrarily chosen, I replace it with a static limit
> of 1000 (also arbitrarily chosen).
>
> CC: Herbert Xu <herbert@gondor.apana.org.au>
> Reported-by: Thibaut Collet <thibaut.collet@6wind.com>
> Suggested-by: Thibaut Collet <thibaut.collet@6wind.com>
> Tested-by: Thibaut Collet <thibaut.collet@6wind.com>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Applied and queued up for -stable.
Longer term we should come up with something a little bit nicer.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox