* [PATCH 1/3] staging: octeon-ethernet: make dropped packets to consume NAPI budget
2013-09-05 18:43 octeon-ethernet: bug fixes Aaro Koskinen
@ 2013-09-05 18:43 ` Aaro Koskinen
2013-09-05 18:55 ` David Daney
2013-09-05 18:44 ` [PATCH 2/3] staging: octeon-ethernet: remove skb alloc failure warnings Aaro Koskinen
2013-09-05 18:44 ` [PATCH 3/3] staging: octeon-ethernet: rgmii: enable interrupts that we can handle Aaro Koskinen
2 siblings, 1 reply; 9+ messages in thread
From: Aaro Koskinen @ 2013-09-05 18:43 UTC (permalink / raw)
To: Greg Kroah-Hartman, devel, linux-mips
Cc: David Daney, Jason A. Donenfeld, richard, Aaro Koskinen
We should count also dropped packets, otherwise the NAPI handler may
end up running too long.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
---
drivers/staging/octeon/ethernet-rx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c
index 34afc16..10e5416 100644
--- a/drivers/staging/octeon/ethernet-rx.c
+++ b/drivers/staging/octeon/ethernet-rx.c
@@ -303,6 +303,7 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget)
if (backlog > budget * cores_in_use && napi != NULL)
cvm_oct_enable_one_cpu();
}
+ rx_count++;
skb_in_hw = USE_SKBUFFS_IN_HW && work->word2.s.bufs == 1;
if (likely(skb_in_hw)) {
@@ -429,7 +430,6 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget)
#endif
}
netif_receive_skb(skb);
- rx_count++;
} else {
/* Drop any packet received for a device that isn't up */
/*
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH 1/3] staging: octeon-ethernet: make dropped packets to consume NAPI budget
@ 2013-09-05 18:55 ` David Daney
0 siblings, 0 replies; 9+ messages in thread
From: David Daney @ 2013-09-05 18:55 UTC (permalink / raw)
To: Aaro Koskinen
Cc: Greg Kroah-Hartman, devel, linux-mips, David Daney,
Jason A. Donenfeld, richard
On 09/05/2013 11:43 AM, Aaro Koskinen wrote:
> We should count also dropped packets, otherwise the NAPI handler may
> end up running too long.
Is this actually a problem?
If so ... the patch looks sane and you and add Acked-by me.
>
> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
> ---
> drivers/staging/octeon/ethernet-rx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c
> index 34afc16..10e5416 100644
> --- a/drivers/staging/octeon/ethernet-rx.c
> +++ b/drivers/staging/octeon/ethernet-rx.c
> @@ -303,6 +303,7 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget)
> if (backlog > budget * cores_in_use && napi != NULL)
> cvm_oct_enable_one_cpu();
> }
> + rx_count++;
>
> skb_in_hw = USE_SKBUFFS_IN_HW && work->word2.s.bufs == 1;
> if (likely(skb_in_hw)) {
> @@ -429,7 +430,6 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget)
> #endif
> }
> netif_receive_skb(skb);
> - rx_count++;
> } else {
> /* Drop any packet received for a device that isn't up */
> /*
>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH 1/3] staging: octeon-ethernet: make dropped packets to consume NAPI budget
@ 2013-09-05 18:55 ` David Daney
0 siblings, 0 replies; 9+ messages in thread
From: David Daney @ 2013-09-05 18:55 UTC (permalink / raw)
To: Aaro Koskinen
Cc: Greg Kroah-Hartman, devel, linux-mips, David Daney,
Jason A. Donenfeld, richard
On 09/05/2013 11:43 AM, Aaro Koskinen wrote:
> We should count also dropped packets, otherwise the NAPI handler may
> end up running too long.
Is this actually a problem?
If so ... the patch looks sane and you and add Acked-by me.
>
> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
> ---
> drivers/staging/octeon/ethernet-rx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c
> index 34afc16..10e5416 100644
> --- a/drivers/staging/octeon/ethernet-rx.c
> +++ b/drivers/staging/octeon/ethernet-rx.c
> @@ -303,6 +303,7 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget)
> if (backlog > budget * cores_in_use && napi != NULL)
> cvm_oct_enable_one_cpu();
> }
> + rx_count++;
>
> skb_in_hw = USE_SKBUFFS_IN_HW && work->word2.s.bufs == 1;
> if (likely(skb_in_hw)) {
> @@ -429,7 +430,6 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget)
> #endif
> }
> netif_receive_skb(skb);
> - rx_count++;
> } else {
> /* Drop any packet received for a device that isn't up */
> /*
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/3] staging: octeon-ethernet: remove skb alloc failure warnings
2013-09-05 18:43 octeon-ethernet: bug fixes Aaro Koskinen
2013-09-05 18:43 ` [PATCH 1/3] staging: octeon-ethernet: make dropped packets to consume NAPI budget Aaro Koskinen
@ 2013-09-05 18:44 ` Aaro Koskinen
2013-09-05 18:57 ` David Daney
2013-09-05 18:44 ` [PATCH 3/3] staging: octeon-ethernet: rgmii: enable interrupts that we can handle Aaro Koskinen
2 siblings, 1 reply; 9+ messages in thread
From: Aaro Koskinen @ 2013-09-05 18:44 UTC (permalink / raw)
To: Greg Kroah-Hartman, devel, linux-mips
Cc: David Daney, Jason A. Donenfeld, richard, Aaro Koskinen
Remove skb allocation failure warnings. They will trigger a page
allocation warning already. Also, one of the warnings was not ratelimited,
causing the box to lock up under heavy traffic & low memory.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
---
drivers/staging/octeon/ethernet-mem.c | 7 +------
drivers/staging/octeon/ethernet-rx.c | 3 ---
2 files changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/staging/octeon/ethernet-mem.c b/drivers/staging/octeon/ethernet-mem.c
index 78b6cb7..199059d 100644
--- a/drivers/staging/octeon/ethernet-mem.c
+++ b/drivers/staging/octeon/ethernet-mem.c
@@ -48,13 +48,8 @@ static int cvm_oct_fill_hw_skbuff(int pool, int size, int elements)
while (freed) {
struct sk_buff *skb = dev_alloc_skb(size + 256);
- if (unlikely(skb == NULL)) {
- pr_warning
- ("Failed to allocate skb for hardware pool %d\n",
- pool);
+ if (unlikely(skb == NULL))
break;
- }
-
skb_reserve(skb, 256 - (((unsigned long)skb->data) & 0x7f));
*(struct sk_buff **)(skb->data - sizeof(void *)) = skb;
cvmx_fpa_free(skb->data, pool, DONT_WRITEBACK(size / 128));
diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c
index 10e5416..e14a1bb 100644
--- a/drivers/staging/octeon/ethernet-rx.c
+++ b/drivers/staging/octeon/ethernet-rx.c
@@ -337,9 +337,6 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget)
*/
skb = dev_alloc_skb(work->len);
if (!skb) {
- printk_ratelimited("Port %d failed to allocate "
- "skbuff, packet dropped\n",
- work->ipprt);
cvm_oct_free_work(work);
continue;
}
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH 2/3] staging: octeon-ethernet: remove skb alloc failure warnings
2013-09-05 18:44 ` [PATCH 2/3] staging: octeon-ethernet: remove skb alloc failure warnings Aaro Koskinen
@ 2013-09-05 18:57 ` David Daney
0 siblings, 0 replies; 9+ messages in thread
From: David Daney @ 2013-09-05 18:57 UTC (permalink / raw)
To: Aaro Koskinen
Cc: Greg Kroah-Hartman, devel, linux-mips, David Daney,
Jason A. Donenfeld, richard
On 09/05/2013 11:44 AM, Aaro Koskinen wrote:
> Remove skb allocation failure warnings. They will trigger a page
> allocation warning already. Also, one of the warnings was not ratelimited,
> causing the box to lock up under heavy traffic & low memory.
>
> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
This seems fine.
Acked-by: David Daney <david.daney@cavium.com>
> ---
> drivers/staging/octeon/ethernet-mem.c | 7 +------
> drivers/staging/octeon/ethernet-rx.c | 3 ---
> 2 files changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/staging/octeon/ethernet-mem.c b/drivers/staging/octeon/ethernet-mem.c
> index 78b6cb7..199059d 100644
> --- a/drivers/staging/octeon/ethernet-mem.c
> +++ b/drivers/staging/octeon/ethernet-mem.c
> @@ -48,13 +48,8 @@ static int cvm_oct_fill_hw_skbuff(int pool, int size, int elements)
> while (freed) {
>
> struct sk_buff *skb = dev_alloc_skb(size + 256);
> - if (unlikely(skb == NULL)) {
> - pr_warning
> - ("Failed to allocate skb for hardware pool %d\n",
> - pool);
> + if (unlikely(skb == NULL))
> break;
> - }
> -
> skb_reserve(skb, 256 - (((unsigned long)skb->data) & 0x7f));
> *(struct sk_buff **)(skb->data - sizeof(void *)) = skb;
> cvmx_fpa_free(skb->data, pool, DONT_WRITEBACK(size / 128));
> diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c
> index 10e5416..e14a1bb 100644
> --- a/drivers/staging/octeon/ethernet-rx.c
> +++ b/drivers/staging/octeon/ethernet-rx.c
> @@ -337,9 +337,6 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget)
> */
> skb = dev_alloc_skb(work->len);
> if (!skb) {
> - printk_ratelimited("Port %d failed to allocate "
> - "skbuff, packet dropped\n",
> - work->ipprt);
> cvm_oct_free_work(work);
> continue;
> }
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] staging: octeon-ethernet: rgmii: enable interrupts that we can handle
2013-09-05 18:43 octeon-ethernet: bug fixes Aaro Koskinen
2013-09-05 18:43 ` [PATCH 1/3] staging: octeon-ethernet: make dropped packets to consume NAPI budget Aaro Koskinen
2013-09-05 18:44 ` [PATCH 2/3] staging: octeon-ethernet: remove skb alloc failure warnings Aaro Koskinen
@ 2013-09-05 18:44 ` Aaro Koskinen
2013-09-05 19:00 ` David Daney
2 siblings, 1 reply; 9+ messages in thread
From: Aaro Koskinen @ 2013-09-05 18:44 UTC (permalink / raw)
To: Greg Kroah-Hartman, devel, linux-mips
Cc: David Daney, Jason A. Donenfeld, richard, Aaro Koskinen
Enable only those interrupts that we can handle & acknowledge in the
interrupt handler.
At least on EdgeRouter Lite, the hardware may occasionally interrupt with
some error condition when the physical link status changes frequently.
Since the interrupt condition is not acked properly, this leads to the
following warning and the IRQ gets disabled completely:
[ 41.324700] eth0: Link down
[ 44.324721] eth0: 1000 Mbps Full duplex, port 0, queue 0
[ 44.885590] irq 117: nobody cared (try booting with the "irqpoll" option)
[ 44.892397] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.11.0-rc5-edge-los.git-27d042f-dirty-00950-gaa42f2d-dirty #8
[ 44.902825] Stack : ffffffff815c0000 0000000000000004 0000000000000003 0000000000000000
ffffffff81fd0000 ffffffff815c0000 0000000000000004 ffffffff8118530c
ffffffff815c0000 ffffffff811858d8 0000000000000000 0000000000000000
ffffffff81fd0000 ffffffff81fc0000 ffffffff8152f3a0 ffffffff815b7bf7
ffffffff81fc6688 ffffffff815b8060 0000000000000000 0000000000000000
0000000000000000 ffffffff815346c8 ffffffff815346b0 ffffffff814a6a18
ffffffff8158b848 ffffffff81145614 ffffffff81593800 ffffffff81187174
ffffffff815b7d00 ffffffff8158b760 0000000000000000 ffffffff814a9184
0000000000000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 ffffffff811203b8 0000000000000000 0000000000000000
...
[ 44.968408] Call Trace:
[ 44.970873] [<ffffffff811203b8>] show_stack+0x68/0x80
[ 44.975937] [<ffffffff814a9184>] dump_stack+0x78/0xb8
[ 44.980999] [<ffffffff811aac54>] __report_bad_irq+0x44/0x108
[ 44.986662] [<ffffffff811ab238>] note_interrupt+0x248/0x2a0
[ 44.992240] [<ffffffff811a85e4>] handle_irq_event_percpu+0x144/0x200
[ 44.998598] [<ffffffff811a86f4>] handle_irq_event+0x54/0x90
[ 45.004176] [<ffffffff811ab908>] handle_level_irq+0xd0/0x148
[ 45.009839] [<ffffffff811a7b04>] generic_handle_irq+0x34/0x50
[ 45.015589] [<ffffffff8111dae8>] do_IRQ+0x18/0x30
[ 45.020301] [<ffffffff8110486c>] plat_irq_dispatch+0x74/0xb8
[ 45.025958]
[ 45.027451] handlers:
[ 45.029731] [<ffffffff813fca10>] cvm_oct_rgmii_rml_interrupt
[ 45.035397] Disabling IRQ #117
[ 45.038742] Port 0 receive error code 13, packet dropped
[ 46.324719] eth0: Link down
[ 48.324733] eth0: 1000 Mbps Full duplex, port 0, queue 0
Reported-by: "Jason A. Donenfeld" <Jason@zx2c4.com>
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
---
drivers/staging/octeon/ethernet-rgmii.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/staging/octeon/ethernet-rgmii.c b/drivers/staging/octeon/ethernet-rgmii.c
index d8f5f69..ea53af3 100644
--- a/drivers/staging/octeon/ethernet-rgmii.c
+++ b/drivers/staging/octeon/ethernet-rgmii.c
@@ -373,9 +373,7 @@ int cvm_oct_rgmii_init(struct net_device *dev)
* Enable interrupts on inband status changes
* for this port.
*/
- gmx_rx_int_en.u64 =
- cvmx_read_csr(CVMX_GMXX_RXX_INT_EN
- (index, interface));
+ gmx_rx_int_en.u64 = 0;
gmx_rx_int_en.s.phy_dupx = 1;
gmx_rx_int_en.s.phy_link = 1;
gmx_rx_int_en.s.phy_spd = 1;
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] staging: octeon-ethernet: rgmii: enable interrupts that we can handle
@ 2013-09-05 19:00 ` David Daney
0 siblings, 0 replies; 9+ messages in thread
From: David Daney @ 2013-09-05 19:00 UTC (permalink / raw)
To: Aaro Koskinen
Cc: Greg Kroah-Hartman, devel, linux-mips, David Daney,
Jason A. Donenfeld, richard
On 09/05/2013 11:44 AM, Aaro Koskinen wrote:
> Enable only those interrupts that we can handle & acknowledge in the
> interrupt handler.
>
> At least on EdgeRouter Lite, the hardware may occasionally interrupt with
> some error condition when the physical link status changes frequently.
> Since the interrupt condition is not acked properly, this leads to the
> following warning and the IRQ gets disabled completely:
>
> [ 41.324700] eth0: Link down
> [ 44.324721] eth0: 1000 Mbps Full duplex, port 0, queue 0
> [ 44.885590] irq 117: nobody cared (try booting with the "irqpoll" option)
> [ 44.892397] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.11.0-rc5-edge-los.git-27d042f-dirty-00950-gaa42f2d-dirty #8
> [ 44.902825] Stack : ffffffff815c0000 0000000000000004 0000000000000003 0000000000000000
> ffffffff81fd0000 ffffffff815c0000 0000000000000004 ffffffff8118530c
> ffffffff815c0000 ffffffff811858d8 0000000000000000 0000000000000000
> ffffffff81fd0000 ffffffff81fc0000 ffffffff8152f3a0 ffffffff815b7bf7
> ffffffff81fc6688 ffffffff815b8060 0000000000000000 0000000000000000
> 0000000000000000 ffffffff815346c8 ffffffff815346b0 ffffffff814a6a18
> ffffffff8158b848 ffffffff81145614 ffffffff81593800 ffffffff81187174
> ffffffff815b7d00 ffffffff8158b760 0000000000000000 ffffffff814a9184
> 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000 ffffffff811203b8 0000000000000000 0000000000000000
> ...
> [ 44.968408] Call Trace:
> [ 44.970873] [<ffffffff811203b8>] show_stack+0x68/0x80
> [ 44.975937] [<ffffffff814a9184>] dump_stack+0x78/0xb8
> [ 44.980999] [<ffffffff811aac54>] __report_bad_irq+0x44/0x108
> [ 44.986662] [<ffffffff811ab238>] note_interrupt+0x248/0x2a0
> [ 44.992240] [<ffffffff811a85e4>] handle_irq_event_percpu+0x144/0x200
> [ 44.998598] [<ffffffff811a86f4>] handle_irq_event+0x54/0x90
> [ 45.004176] [<ffffffff811ab908>] handle_level_irq+0xd0/0x148
> [ 45.009839] [<ffffffff811a7b04>] generic_handle_irq+0x34/0x50
> [ 45.015589] [<ffffffff8111dae8>] do_IRQ+0x18/0x30
> [ 45.020301] [<ffffffff8110486c>] plat_irq_dispatch+0x74/0xb8
> [ 45.025958]
> [ 45.027451] handlers:
> [ 45.029731] [<ffffffff813fca10>] cvm_oct_rgmii_rml_interrupt
> [ 45.035397] Disabling IRQ #117
> [ 45.038742] Port 0 receive error code 13, packet dropped
> [ 46.324719] eth0: Link down
> [ 48.324733] eth0: 1000 Mbps Full duplex, port 0, queue 0
>
> Reported-by: "Jason A. Donenfeld" <Jason@zx2c4.com>
> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: David Daney <david.daney@cavium.com>
> ---
> drivers/staging/octeon/ethernet-rgmii.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/staging/octeon/ethernet-rgmii.c b/drivers/staging/octeon/ethernet-rgmii.c
> index d8f5f69..ea53af3 100644
> --- a/drivers/staging/octeon/ethernet-rgmii.c
> +++ b/drivers/staging/octeon/ethernet-rgmii.c
> @@ -373,9 +373,7 @@ int cvm_oct_rgmii_init(struct net_device *dev)
> * Enable interrupts on inband status changes
> * for this port.
> */
> - gmx_rx_int_en.u64 =
> - cvmx_read_csr(CVMX_GMXX_RXX_INT_EN
> - (index, interface));
> + gmx_rx_int_en.u64 = 0;
> gmx_rx_int_en.s.phy_dupx = 1;
> gmx_rx_int_en.s.phy_link = 1;
> gmx_rx_int_en.s.phy_spd = 1;
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] staging: octeon-ethernet: rgmii: enable interrupts that we can handle
@ 2013-09-05 19:00 ` David Daney
0 siblings, 0 replies; 9+ messages in thread
From: David Daney @ 2013-09-05 19:00 UTC (permalink / raw)
To: Aaro Koskinen
Cc: Greg Kroah-Hartman, devel, linux-mips, David Daney,
Jason A. Donenfeld, richard
On 09/05/2013 11:44 AM, Aaro Koskinen wrote:
> Enable only those interrupts that we can handle & acknowledge in the
> interrupt handler.
>
> At least on EdgeRouter Lite, the hardware may occasionally interrupt with
> some error condition when the physical link status changes frequently.
> Since the interrupt condition is not acked properly, this leads to the
> following warning and the IRQ gets disabled completely:
>
> [ 41.324700] eth0: Link down
> [ 44.324721] eth0: 1000 Mbps Full duplex, port 0, queue 0
> [ 44.885590] irq 117: nobody cared (try booting with the "irqpoll" option)
> [ 44.892397] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.11.0-rc5-edge-los.git-27d042f-dirty-00950-gaa42f2d-dirty #8
> [ 44.902825] Stack : ffffffff815c0000 0000000000000004 0000000000000003 0000000000000000
> ffffffff81fd0000 ffffffff815c0000 0000000000000004 ffffffff8118530c
> ffffffff815c0000 ffffffff811858d8 0000000000000000 0000000000000000
> ffffffff81fd0000 ffffffff81fc0000 ffffffff8152f3a0 ffffffff815b7bf7
> ffffffff81fc6688 ffffffff815b8060 0000000000000000 0000000000000000
> 0000000000000000 ffffffff815346c8 ffffffff815346b0 ffffffff814a6a18
> ffffffff8158b848 ffffffff81145614 ffffffff81593800 ffffffff81187174
> ffffffff815b7d00 ffffffff8158b760 0000000000000000 ffffffff814a9184
> 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000 ffffffff811203b8 0000000000000000 0000000000000000
> ...
> [ 44.968408] Call Trace:
> [ 44.970873] [<ffffffff811203b8>] show_stack+0x68/0x80
> [ 44.975937] [<ffffffff814a9184>] dump_stack+0x78/0xb8
> [ 44.980999] [<ffffffff811aac54>] __report_bad_irq+0x44/0x108
> [ 44.986662] [<ffffffff811ab238>] note_interrupt+0x248/0x2a0
> [ 44.992240] [<ffffffff811a85e4>] handle_irq_event_percpu+0x144/0x200
> [ 44.998598] [<ffffffff811a86f4>] handle_irq_event+0x54/0x90
> [ 45.004176] [<ffffffff811ab908>] handle_level_irq+0xd0/0x148
> [ 45.009839] [<ffffffff811a7b04>] generic_handle_irq+0x34/0x50
> [ 45.015589] [<ffffffff8111dae8>] do_IRQ+0x18/0x30
> [ 45.020301] [<ffffffff8110486c>] plat_irq_dispatch+0x74/0xb8
> [ 45.025958]
> [ 45.027451] handlers:
> [ 45.029731] [<ffffffff813fca10>] cvm_oct_rgmii_rml_interrupt
> [ 45.035397] Disabling IRQ #117
> [ 45.038742] Port 0 receive error code 13, packet dropped
> [ 46.324719] eth0: Link down
> [ 48.324733] eth0: 1000 Mbps Full duplex, port 0, queue 0
>
> Reported-by: "Jason A. Donenfeld" <Jason@zx2c4.com>
> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: David Daney <david.daney@cavium.com>
> ---
> drivers/staging/octeon/ethernet-rgmii.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/staging/octeon/ethernet-rgmii.c b/drivers/staging/octeon/ethernet-rgmii.c
> index d8f5f69..ea53af3 100644
> --- a/drivers/staging/octeon/ethernet-rgmii.c
> +++ b/drivers/staging/octeon/ethernet-rgmii.c
> @@ -373,9 +373,7 @@ int cvm_oct_rgmii_init(struct net_device *dev)
> * Enable interrupts on inband status changes
> * for this port.
> */
> - gmx_rx_int_en.u64 =
> - cvmx_read_csr(CVMX_GMXX_RXX_INT_EN
> - (index, interface));
> + gmx_rx_int_en.u64 = 0;
> gmx_rx_int_en.s.phy_dupx = 1;
> gmx_rx_int_en.s.phy_link = 1;
> gmx_rx_int_en.s.phy_spd = 1;
>
^ permalink raw reply [flat|nested] 9+ messages in thread