Re: [PATCH 127/141] staging: qlge: Fix fall-through warnings for Clang

2020-11-24 Thread Benjamin Poirier
On 2020-11-20 12:39 -0600, Gustavo A. R. Silva wrote: > In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning > by explicitly adding a break statement instead of letting the code fall > through to the next case. > > Link: https://github.com/KSPP/linux/issues/115 > Signed-off-by:

Re: [PATCH v2 1/7] staging: qlge: replace ql_* with qlge_* to avoid namespace clashes with other qlogic drivers

2020-10-18 Thread Benjamin Poirier
On 2020-10-17 07:16 +0800, Coiby Xu wrote: > On Thu, Oct 15, 2020 at 10:01:36AM +0900, Benjamin Poirier wrote: > > On 2020-10-14 18:43 +0800, Coiby Xu wrote: > > > To avoid namespace clashes with other qlogic drivers and also for the > > > sake of naming consistency

Re: [PATCH v1 1/6] staging: qlge: Initialize devlink health dump framework for the dlge driver

2020-10-15 Thread Benjamin Poirier
On 2020-10-15 11:37 +0800, Coiby Xu wrote: > On Tue, Oct 13, 2020 at 09:37:04AM +0900, Benjamin Poirier wrote: > > On 2020-10-12 19:24 +0800, Coiby Xu wrote: > > [...] > > > > I think, but didn't check in depth, that in those drivers, the devlink > > > &

Re: [PATCH v2 1/7] staging: qlge: replace ql_* with qlge_* to avoid namespace clashes with other qlogic drivers

2020-10-14 Thread Benjamin Poirier
On 2020-10-14 18:43 +0800, Coiby Xu wrote: > To avoid namespace clashes with other qlogic drivers and also for the > sake of naming consistency, use the "qlge_" prefix as suggested in > drivers/staging/qlge/TODO. > > Suggested-by: Benjamin Poirier > Signed-off-by

Re: [PATCH v1 2/6] staging: qlge: coredump via devlink health reporter

2020-10-12 Thread Benjamin Poirier
On 2020-10-12 19:51 +0800, Coiby Xu wrote: > On Sat, Oct 10, 2020 at 10:22:30PM +0900, Benjamin Poirier wrote: > > On 2020-10-10 18:02 +0800, Coiby Xu wrote: > > [...] > > > > > + do { \ > > >

Re: [PATCH v1 1/6] staging: qlge: Initialize devlink health dump framework for the dlge driver

2020-10-12 Thread Benjamin Poirier
On 2020-10-12 19:24 +0800, Coiby Xu wrote: [...] > > I think, but didn't check in depth, that in those drivers, the devlink > > device is tied to the pci device and can exist independently of the > > netdev, at least in principle. > > > You are right. Take drivers/net/ethernet/mellanox/mlxsw as an

Re: [PATCH v1 5/6] staging: qlge: clean up debugging code in the QL_ALL_DUMP ifdef land

2020-10-10 Thread Benjamin Poirier
On 2020-10-10 18:00 +0800, Coiby Xu wrote: [...] > > > > Please also update drivers/staging/qlge/TODO accordingly. There is still > > a lot of debugging code IMO (the netif_printk statements - kernel > > tracing can be used instead of those) but this patch is a substantial > > improvement. > > Th

Re: [PATCH v1 2/6] staging: qlge: coredump via devlink health reporter

2020-10-10 Thread Benjamin Poirier
On 2020-10-10 18:02 +0800, Coiby Xu wrote: [...] > > > + do { \ > > > + err = fill_seg_(fmsg, &dump->seg_hdr, dump->seg_regs); \ > > > + if (err) { \ > > > + kvfree(

Re: [PATCH v1 1/6] staging: qlge: Initialize devlink health dump framework for the dlge driver

2020-10-10 Thread Benjamin Poirier
On 2020-10-10 18:24 +0800, Coiby Xu wrote: > On Sat, Oct 10, 2020 at 04:35:14PM +0900, Benjamin Poirier wrote: > > On 2020-10-08 19:58 +0800, Coiby Xu wrote: > > > Initialize devlink health dump framework for the dlge driver so the > > > coredump could be done via devli

Re: [PATCH v1 5/6] staging: qlge: clean up debugging code in the QL_ALL_DUMP ifdef land

2020-10-10 Thread Benjamin Poirier
ers can be obtained by ethtool. > - Coredump can be done via devlink health reporter. > - Structure related to the hardware (struct ql_adapter) can be obtained > by crash or drgn. > > Suggested-by: Benjamin Poirier > Signed-off-by: Coiby Xu > --- > drivers/staging/

Re: [PATCH v1 2/6] staging: qlge: coredump via devlink health reporter

2020-10-10 Thread Benjamin Poirier
On 2020-10-08 19:58 +0800, Coiby Xu wrote: > $ devlink health dump show DEVICE reporter coredump -p -j > { > "Core Registers": { > "segment": 1, > "values": [ > 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Re: [PATCH v1 1/6] staging: qlge: Initialize devlink health dump framework for the dlge driver

2020-10-10 Thread Benjamin Poirier
On 2020-10-08 19:58 +0800, Coiby Xu wrote: > Initialize devlink health dump framework for the dlge driver so the > coredump could be done via devlink. > > Signed-off-by: Coiby Xu > --- > drivers/staging/qlge/Kconfig| 1 + > drivers/staging/qlge/Makefile | 2 +- > drivers/staging/

Re: [PATCH v4] staging: qlge: fix build breakage with dumping enabled

2020-10-04 Thread Benjamin Poirier
On 2020-10-04 23:22 +0800, Coiby Xu wrote: > On Sat, Oct 03, 2020 at 02:53:48PM +0900, Benjamin Poirier wrote: > > On 2020-10-03 07:59 +0800, Coiby Xu wrote: > > > This fixes commit 0107635e15ac > > > ("staging: qlge: replace pr_err with netdev_err") which

Re: [PATCH v4] staging: qlge: fix build breakage with dumping enabled

2020-10-02 Thread Benjamin Poirier
unsigned int > > Note that now ql_dump_rx_ring/ql_dump_tx_ring won't check if the passed > parameter is a null pointer. > > Fixes: 0107635e15ac ("staging: qlge: replace pr_err with netdev_err") > Reported-by: Benjamin Poirier > Suggested-by: Benjamin Poirier > Signed-off-by: Coiby Xu > --- Reviewed-by: Benjamin Poirier

Re: [PATCH v3] staging: qlge: fix build breakage with dumping enabled

2020-09-02 Thread Benjamin Poirier
:37: warning: format ‘%x’ expects a matching ‘unsigned int’ > argument [-Wformat=] > 1435 |"%s: Routing Mask %d = 0x%.08x\n", > | ^ > | | > |

Re: [PATCH v2] staging: qlge: fix build breakage with dumping enabled

2020-08-26 Thread Benjamin Poirier
:37: warning: format ‘%x’ expects a matching ‘unsigned int’ > argument [-Wformat=] > 1435 |"%s: Routing Mask %d = 0x%.08x\n", > | ^ > | | > |

Re: [PATCH] staging: qlge: fix build breakage with dumping enabled

2020-08-25 Thread Benjamin Poirier
On 2020-08-25 19:16 +0800, Coiby Xu wrote: [...] > > > @@ -1630,7 +1630,7 @@ void ql_dump_wqicb(struct wqicb *wqicb) > > > (unsigned long long)le64_to_cpu(wqicb->cnsmr_idx_addr)); > > > } > > > > > > -void ql_dump_tx_ring(struct tx_ring *tx_ring) > > > +void ql_dump_tx_ring(struct ql

Re: [PATCH] staging: qlge: fix build breakage with dumping enabled

2020-08-21 Thread Benjamin Poirier
QL_IB_DUMP=1 QL_DEV_DUMP=1 make M=drivers/staging/qlge > > Fixes: 0107635e15ac ("taging: qlge: replace pr_err with netdev_err") ^ staging > Reported-by: Benjamin Poirier > Signed-off-by: Coiby Xu > --- > drivers/staging/qlge/qlge.h | 42

Re: [RFC 1/3] Initialize devlink health dump framework for the dlge driver

2020-08-20 Thread Benjamin Poirier
On 2020-08-21 11:08 +0800, Coiby Xu wrote: [...] > > > diff --git a/drivers/staging/qlge/qlge_health.h > > > b/drivers/staging/qlge/qlge_health.h > > > new file mode 100644 > > > index ..07d3bafab845 > > > --- /dev/null > > > +++ b/drivers/staging/qlge/qlge_health.h > > > @@ -0,0 +1,2

Re: [RFC 3/3] staging: qlge: clean up code that dump info to dmesg

2020-08-15 Thread Benjamin Poirier
On 2020-08-15 00:06 +0800, Coiby Xu wrote: > The related code are not necessary because, > - Device status and general registers can be obtained by ethtool. > - Coredump can be done via devlink health reporter. > - Structure related to the hardware (struct ql_adapter) can be obtained > by crash o

Re: [RFC 1/3] Initialize devlink health dump framework for the dlge driver

2020-08-15 Thread Benjamin Poirier
On 2020-08-15 00:05 +0800, Coiby Xu wrote: > Initialize devlink health dump framework for the dlge driver so the > coredump could be done via devlink. > > Signed-off-by: Coiby Xu > --- > drivers/staging/qlge/Makefile | 2 +- > drivers/staging/qlge/qlge.h| 9 +++ > drivers/stag

Re: [PATCH 4/6] staging: qlge: qlge_main: Simplify while statements.

2020-07-13 Thread Benjamin Poirier
On 2020-07-13 17:50 +0530, Suraj Upadhyay wrote: > Simplify while loops into more readable and simple for loops. > > Signed-off-by: Suraj Upadhyay > --- [...] > @@ -1824,7 +1821,7 @@ static struct sk_buff *ql_build_rx_skb(struct > ql_adapter *qdev, > sbq_desc->p.skb = NULL;

Re: [PATCH] staging: qlge: Remove pci-dma-compat wrapper APIs.

2020-07-12 Thread Benjamin Poirier
On 2020-07-13 11:14 +0530, Suraj Upadhyay wrote: > On Mon, Jul 13, 2020 at 01:59:59PM +0900, Benjamin Poirier wrote: > > On 2020-07-11 18:16 +0530, Suraj Upadhyay wrote: > > > The legacy API wrappers in include/linux/pci-dma-compat.h > > > should go away as it crea

Re: [PATCH] staging: qlge: Remove pci-dma-compat wrapper APIs.

2020-07-12 Thread Benjamin Poirier
On 2020-07-11 18:16 +0530, Suraj Upadhyay wrote: > The legacy API wrappers in include/linux/pci-dma-compat.h > should go away as it creates unnecessary midlayering > for include/linux/dma-mapping.h APIs, instead use dma-mapping.h > APIs directly. > > The patch has been generated with the coccinell

Re: [PATCH v2 4/4] staging: qlge: replace pr_err with netdev_err

2020-06-29 Thread Benjamin Poirier
On 2020-06-30 01:43 +0800, Coiby Xu wrote: > On Mon, Jun 29, 2020 at 02:30:04PM +0900, Benjamin Poirier wrote: > > On 2020-06-27 22:58 +0800, Coiby Xu wrote: > > [...] > > > void ql_dump_qdev(struct ql_adapter *qdev) > > > { > > > @@ -1611,99 +1618,

Re: [PATCH v2 4/4] staging: qlge: replace pr_err with netdev_err

2020-06-29 Thread Benjamin Poirier
On 2020-06-27 22:58 +0800, Coiby Xu wrote: [...] > void ql_dump_qdev(struct ql_adapter *qdev) > { > @@ -1611,99 +1618,100 @@ void ql_dump_qdev(struct ql_adapter *qdev) > #ifdef QL_CB_DUMP > void ql_dump_wqicb(struct wqicb *wqicb) > { > - pr_err("Dumping wqicb stuff...\n"); > - pr_err("

Re: [PATCH] staging: qlge: qlge_main.c: fixed spaces coding style issues

2020-05-31 Thread Benjamin Poirier
On 2020-05-29 17:17 +0200, Jil Rouceau wrote: > Fixed the missing spaces before and after binary operators. > > Signed-off-by: Jil Rouceau This patch does not apply cleanly. I think your base tree is missing commit ec269f1250c6 ("staging: qlge: Remove unnecessary spaces in qlge_main.c").

Re: [PATCH] staging: qlge: unmap dma when lock failed

2020-05-17 Thread Benjamin Poirier
On 2020-05-17 13:46 +0800, Xiangyang Zhang wrote: > DMA not unmapped when lock failed, this patch fixed it. > Fixes: 4322c5bee85e ("qlge: Expand coverage of hw lock for config register.") > Signed-off-by: Xiangyang Zhang > --- > drivers/staging/qlge/qlge_main.c | 3 ++- > 1 file changed, 2 ins

Re: [PATCH v2 0/17] staging: qlge: Fix rx stall in case of allocation failures

2019-10-04 Thread Benjamin Poirier
On 2019/10/04 10:19, Greg Kroah-Hartman wrote: > On Fri, Sep 27, 2019 at 07:11:54PM +0900, Benjamin Poirier wrote: [...] > > As this code got moved to staging with the goal to drop it from the > tree, why are you working on fixing it up? Do you want it moved back > out of staging

[PATCH v2 09/17] staging: qlge: Fix dma_sync_single calls

2019-09-27 Thread Benjamin Poirier
Fixes: 2c9a266afefe ("qlge: Fix receive packets drop.") Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/qlge.h | 5 +-- drivers/staging/qlge/qlge_main.c | 54 +--- 2 files changed, 22 insertions(+), 37 deletions(-) diff --git a/drivers/staging

[PATCH v2 02/17] staging: qlge: Remove irq_cnt

2019-09-27 Thread Benjamin Poirier
( +- 0.09% ) After: 636300 634106 634984 638555 634188 [...] 259,237,291,449 cycles ( +- 0.19% ) Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/qlge.h | 7 --- drivers/staging/qlge/qlge_main.c | 98 +--- drivers/staging/qlge

[PATCH v2 14/17] staging: qlge: Replace memset with assignment

2019-09-27 Thread Benjamin Poirier
Instead of clearing the structure wholesale, it is sufficient to initialize the skb member which is used to manage sbq instances. lbq instances are managed according to curr_idx and clean_idx. Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/qlge_main.c | 3 +-- 1 file changed, 1

[PATCH v2 13/17] staging: qlge: Remove useless memset

2019-09-27 Thread Benjamin Poirier
This just repeats what the other memset a few lines above did. Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/qlge_main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/qlge/qlge_main.c b/drivers/staging/qlge/qlge_main.c index ef33db118aa1..8da596922582 100644

[PATCH v2 10/17] staging: qlge: Remove rx_ring.type

2019-09-27 Thread Benjamin Poirier
This field is redundant, the type can be determined from the index, cq_id. Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/qlge.h | 10 -- drivers/staging/qlge/qlge_dbg.c | 16 drivers/staging/qlge/qlge_main.c | 31 +++ 3 files

[PATCH v2 12/17] staging: qlge: Remove qlge_bq.len & size

2019-09-27 Thread Benjamin Poirier
Given the way the driver currently works, these values are always known at compile time. Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/qlge.h | 17 +--- drivers/staging/qlge/qlge_dbg.c | 4 -- drivers/staging/qlge/qlge_main.c | 75 3 files

[PATCH v2 15/17] staging: qlge: Update buffer queue prod index despite oom

2019-09-27 Thread Benjamin Poirier
ome associated bookkeeping variables. Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/qlge.h | 8 +-- drivers/staging/qlge/qlge_dbg.c | 10 ++- drivers/staging/qlge/qlge_main.c | 105 +++ 3 files changed, 60 insertions(+), 63 deletions(-) diff --gi

[PATCH v2 04/17] staging: qlge: Deduplicate lbq_buf_size

2019-09-27 Thread Benjamin Poirier
lbq_buf_size is duplicated to every rx_ring structure whereas lbq_buf_order is present once in the ql_adapter structure. All rings use the same buf size, keep only one copy of it. Also factor out the calculation of lbq_buf_size instead of having two copies. Signed-off-by: Benjamin Poirier Acked

[PATCH v2 17/17] staging: qlge: Refill empty buffer queues from wq

2019-09-27 Thread Benjamin Poirier
27;t lock up if there are allocation failures. Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/TODO| 3 -- drivers/staging/qlge/qlge.h | 8 drivers/staging/qlge/qlge_main.c | 80 +--- 3 files changed, 72 insertions(+), 19 deletions(-) diff

[PATCH v2 07/17] staging: qlge: Remove useless dma synchronization calls

2019-09-27 Thread Benjamin Poirier
This is unneeded for two reasons: 1) the cpu does not write data for the device in the mapping 2) calls like ..._sync_..._for_device(..., ..._FROMDEVICE) are nonsensical, see commit 3f0fb4e85b38 ("Documentation/DMA-API-HOWTO.txt: fix misleading example") Signed-off-by: Benjam

[PATCH v2 06/17] staging: qlge: Remove rx_ring.sbq_buf_size

2019-09-27 Thread Benjamin Poirier
Tx completion rings have sbq_buf_size = 0 but there's no case where the code actually tests on that value. We can remove sbq_buf_size and use a constant instead. Signed-off-by: Benjamin Poirier Reviewed-by: Willem de Bruijn --- drivers/staging/qlge/qlge.h | 1 - drivers/staging

[PATCH v2 16/17] staging: qlge: Refill rx buffers up to multiple of 16

2019-09-27 Thread Benjamin Poirier
no longer guarantees prod_idx values aligned on multiples of 16. While it appears that we can write unaligned values to prod_idx without ill effects on device operation, it makes more sense to change qlge_refill_bq() to refill up to a limit that corresponds with the device's behavior. Signed-of

[PATCH v2 08/17] staging: qlge: Deduplicate rx buffer queue management

2019-09-27 Thread Benjamin Poirier
required adjustments to code and dedup the most obvious cases of copy/paste. This patch should not introduce any functional change other than to some of the printk format strings. Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/qlge.h | 96 +++--- drivers/staging/qlge/qlge_dbg.c

[PATCH v2 03/17] staging: qlge: Remove page_chunk.last_flag

2019-09-27 Thread Benjamin Poirier
As already done in ql_get_curr_lchunk(), this member can be replaced by a simple test. Signed-off-by: Benjamin Poirier Acked-by: Manish Chopra --- drivers/staging/qlge/qlge.h | 1 - drivers/staging/qlge/qlge_main.c | 13 + 2 files changed, 5 insertions(+), 9 deletions

[PATCH v2 05/17] staging: qlge: Remove bq_desc.maplen

2019-09-27 Thread Benjamin Poirier
The size of the mapping is known statically in all cases, there's no need to save it at runtime. Remove this member. Signed-off-by: Benjamin Poirier Acked-by: Manish Chopra --- drivers/staging/qlge/qlge.h | 1 - drivers/staging/qlge/qlge_main.c | 43 +++---

[PATCH v2 11/17] staging: qlge: Factor out duplicated expression

2019-09-27 Thread Benjamin Poirier
Given that (u16) 65536 == 0, that expression can be replaced by a simple cast. Signed-off-by: Benjamin Poirier --- drivers/staging/qlge/qlge.h | 5 + drivers/staging/qlge/qlge_main.c | 18 ++ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/drivers

[PATCH v2 0/17] staging: qlge: Fix rx stall in case of allocation failures

2019-09-27 Thread Benjamin Poirier
qlge refills rx buffers from napi context. In case of allocation failure, allocation will be retried the next time napi runs. If a receive queue runs out of free buffers (possibly after subsequent allocation failures), it drops all traffic, no longer raises interrupts and napi is no longer schedule

[PATCH v2 01/17] staging: qlge: Fix irq masking in INTx mode

2019-09-27 Thread Benjamin Poirier
qlge_isr() and falsely reported as IRQ_NONE thanks to the irq_cnt scheme. This in turn can cause frames to loiter in the receive queue until a later frame leads to another rx interrupt that will schedule napi. Use the INTR_EN_EI bit (master interrupt control) instead. Signed-off-by: Benjamin Poirier

[PATCH] mm/page_alloc.c: Allow error injection

2018-12-13 Thread Benjamin Poirier
Model call chain after should_failslab(). Likewise, we can now use a kprobe to override the return value of should_fail_alloc_page() and inject allocation failures into alloc_page*(). Signed-off-by: Benjamin Poirier --- include/asm-generic/error-injection.h | 1 + mm/page_alloc.c

[PATCH] e1000e: Ignore TSYNCRXCTL when getting I219 clock attributes

2018-05-10 Thread Benjamin Poirier
where SYSCFI=0. Therefore, remove this register read and unconditionally set the clock parameters. Reported-by: Achim Mildenberger Message-Id: <20180425065243.g5mqewg5irkwgwgv@f2> Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1075876 Fixes: 83129b37ef35 ("e1000e: fix systim issu

[PATCH 2/2] e1000e: Fix link check race condition

2018-03-05 Thread Benjamin Poirier
ter having checked the link. It seems this problem has been present since the introduction of e1000e. Link: https://lkml.org/lkml/2018/1/29/338 Reported-by: Alexander Duyck Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/ich8lan.c | 31 - dr

[PATCH 1/2] Revert "e1000e: Separate signaling for link check/link up"

2018-03-05 Thread Benjamin Poirier
sed. The race may no longer be triggered by RXO events because commit 4aea7a5c5e94 ("e1000e: Avoid receiver overrun interrupt bursts") restored reading icr in the Other handler. Link: https://lkml.org/lkml/2018/3/1/789 Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e100

Re: [PATCH] e1000e: Fix link status in case of error.

2018-02-28 Thread Benjamin Poirier
On 2018/02/28 08:48, Alexander Duyck wrote: > On Tue, Feb 27, 2018 at 9:20 PM, Benjamin Poirier wrote: > > Before commit 19110cfbb34d ("e1000e: Separate signaling for link check/link > > up"), errors which happen after "get_link_status = false" in the copper &g

[PATCH] e1000e: Fix link status in case of error.

2018-02-27 Thread Benjamin Poirier
k is down. Since all combinations of link up/down and error/no error are possible, do the same thing as e1000e_phy_has_link_generic() and return the link status in a separate variable. Fixes: 19110cfbb34d ("e1000e: Separate signaling for link check/link up") Signed-off-by: Benjamin Poirier --- dri

Re: [RFC PATCH] e1000e: Fix link check race condition.

2018-02-27 Thread Benjamin Poirier
On 2018/02/26 08:14, Alexander Duyck wrote: [...] > > > > > switch (hw->mac.type) { > > case e1000_pch2lan: > > ret_val = e1000_k1_workaround_lv(hw); > > if (ret_val) > > - return ret_val; > > + goto out; >

[RFC PATCH] e1000e: Fix link check race condition.

2018-02-25 Thread Benjamin Poirier
ter having checked the link. It seems this problem has been present since the introduction of e1000e. Link: https://lkml.org/lkml/2018/1/29/338 Reported-by: Alexander Duyck Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/ich8lan.c | 41 - dr

[PATCH net-queue] e1000e: Fix check_for_link return value with autoneg off.

2018-02-19 Thread Benjamin Poirier
1000e: Separate signaling for link check/link up") Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/ich8lan.c | 2 +- drivers/net/ethernet/intel/e1000e/mac.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/e1000e/ich8

Re: [PATCH net-queue 1/3] Partial revert "e1000e: Avoid receiver overrun interrupt bursts"

2018-02-08 Thread Benjamin Poirier
tead of manually clearing OTHER via a write to icr as in v1, in v2 we make sure that INT_ASSERTED is always set via bits for all events related to the Other interrupt in IMS. Benjamin Poirier (3): Partial revert "e1000e: Avoid receiver overrun interrupt bursts" e1000e: Fix queue inte

[PATCH net-queue 2/3] e1000e: Fix queue interrupt re-raising in Other interrupt.

2018-02-07 Thread Benjamin Poirier
the queue interrupts in case the txq or rxq bits were set in ICR and the Other interrupt handler read and cleared ICR before the queue interrupt was raised. Fixes: 4aea7a5c5e94 ("e1000e: Avoid receiver overrun interrupt bursts") Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/in

[PATCH net-queue 1/3] Partial revert "e1000e: Avoid receiver overrun interrupt bursts"

2018-02-07 Thread Benjamin Poirier
ce mode". Link: https://www.spinics.net/lists/netdev/msg480675.html Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/netdev.c | 16 ++-- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/e

[PATCH net-queue 3/3] e1000e: Avoid missed interrupts following ICR read.

2018-02-07 Thread Benjamin Poirier
, therefore we no longer need to clear bits explicitly. Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/defines.h | 21 - drivers/net/ethernet/intel/e1000e/netdev.c | 11 --- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/drivers/net

Re: [PATCH 3/3] Revert "e1000e: Do not read ICR in Other interrupt"

2018-02-07 Thread Benjamin Poirier
On 2018/01/29 09:22, Alexander Duyck wrote: [...] > > > Consequently, we must clear OTHER manually from ICR, otherwise the > > interrupt is immediately re-raised after exiting the handler. > > > > These observations are the same whether the interrupt is triggered via a > > write to ICS or in hardw

Re: [Intel-wired-lan] [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-30 Thread Benjamin Poirier
On 2018/01/30 11:46, Alexander Duyck wrote: > On Wed, Jan 17, 2018 at 10:50 PM, Benjamin Poirier wrote: > > It was reported that emulated e1000e devices in vmware esxi 6.5 Build > > 7526125 do not link up after commit 4aea7a5c5e94 ("e1000e: Avoid receiver > > overrun in

[PATCH net] e1000e: Remove Other from EIAC.

2018-01-30 Thread Benjamin Poirier
quot;e1000e: Do not read ICR in Other interrupt", v4.5-rc1). Fixes: 4aea7a5c5e94 ("e1000e: Avoid receiver overrun interrupt bursts") Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/netdev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --gi

Re: [PATCH 2/3] Revert "e1000e: Separate signaling for link check/link up"

2018-01-29 Thread Benjamin Poirier
On 2018/01/26 09:03, Alexander Duyck wrote: > On Fri, Jan 26, 2018 at 1:12 AM, Benjamin Poirier wrote: > > This reverts commit 19110cfbb34d4af0cdfe14cd243f3b09dc95b013. > > This reverts commit 4110e02eb45ea447ec6f5459c9934de0a273fb91. > > > > ... because they cause an

Re: [PATCH 3/3] Revert "e1000e: Do not read ICR in Other interrupt"

2018-01-28 Thread Benjamin Poirier
On 2018/01/26 13:01, Alexander Duyck wrote: > On Fri, Jan 26, 2018 at 1:12 AM, Benjamin Poirier wrote: > > This reverts commit 16ecba59bc333d6282ee057fb02339f77a880beb. > > > > It was reported that emulated e1000e devices in vmware esxi 6.5 Build > > 7526125

Re: [PATCH 1/3] Partial revert "e1000e: Avoid receiver overrun interrupt bursts"

2018-01-28 Thread Benjamin Poirier
On 2018/01/26 08:50, Alexander Duyck wrote: > On Fri, Jan 26, 2018 at 1:12 AM, Benjamin Poirier wrote: > > This reverts commit 4aea7a5c5e940c1723add439f4088844cd26196d. > > > > We keep the fix for the first part of the problem (1) described in the log > > of tha

[PATCH 0/3] e1000e: Revert interrupt handling changes

2018-01-26 Thread Benjamin Poirier
ot;e1000e: Fix msi-x interrupt automask", v4.5-rc1) are preserved. * we manually clear Other from icr in e1000_msix_other(). We try to go back to a long lost time when things were simple and drivers ran smoothly. -------- Benjamin Poirier (

[PATCH 2/3] Revert "e1000e: Separate signaling for link check/link up"

2018-01-26 Thread Benjamin Poirier
d reading icr in the Other handler. As discussed, the driver should be in "maintenance mode". In the interest of stability, revert to the original code as much as possible instead of a half-baked solution. Link: https://www.spinics.net/lists/netdev/msg479923.html Signed-off-by: Benj

[PATCH 3/3] Revert "e1000e: Do not read ICR in Other interrupt"

2018-01-26 Thread Benjamin Poirier
Other interrupt"). Fixes: 4aea7a5c5e94 ("e1000e: Avoid receiver overrun interrupt bursts") Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/netdev.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/e1000e/netde

[PATCH 1/3] Partial revert "e1000e: Avoid receiver overrun interrupt bursts"

2018-01-26 Thread Benjamin Poirier
uot;maintenance" mode and we want to avoid unforeseen fallout from changes that are not strictly necessary. Link: https://www.spinics.net/lists/netdev/msg480675.html Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/defines.h | 1 - drivers/net/ethern

Re: [Intel-wired-lan] [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-24 Thread Benjamin Poirier
On 2018/01/22 10:01, Alexander Duyck wrote: [...] > > > > If the patch that I submitted for the current vmware issue is merged, > > the significant commits that are left are: > > > > 0a8047ac68e5 e1000e: Fix msi-x interrupt automask (v4.5-rc1) > > Fixes a problem in the irq disabling of the

Re: [Intel-wired-lan] [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-21 Thread Benjamin Poirier
On 2018/01/20 09:21, Alexander Duyck wrote: > On Fri, Jan 19, 2018 at 2:55 PM, Benjamin Poirier > wrote: > > On 2018/01/20 07:45, Benjamin Poirier wrote: > > [...] > >> > > >> > I'm of the mind that we need to cut down on the code thrash. T

Re: [Intel-wired-lan] [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-19 Thread Benjamin Poirier
On 2018/01/20 07:45, Benjamin Poirier wrote: [...] > > > > I'm of the mind that we need to cut down on the code thrash. This > > driver is supposed to have been in a "maintenance" mode for the last > > year or so as there aren't being any new parts

Re: [Intel-wired-lan] [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-19 Thread Benjamin Poirier
On 2018/01/19 08:22, Alexander Duyck wrote: > On Fri, Jan 19, 2018 at 5:36 AM, Benjamin Poirier > wrote: > > On 2018/01/19 17:59, Benjamin Poirier wrote: > >> On 2018/01/18 07:51, Alexander Duyck wrote: > >> > On Wed, Jan 17, 2018 at 10:50 PM, Benjamin Poirie

Re: [Intel-wired-lan] [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-19 Thread Benjamin Poirier
On 2018/01/19 17:59, Benjamin Poirier wrote: > On 2018/01/18 07:51, Alexander Duyck wrote: > > On Wed, Jan 17, 2018 at 10:50 PM, Benjamin Poirier > > wrote: > > > It was reported that emulated e1000e devices in vmware esxi 6.5 Build > > > 7526125 do not link up a

Re: [Intel-wired-lan] [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-19 Thread Benjamin Poirier
On 2018/01/18 07:51, Alexander Duyck wrote: > On Wed, Jan 17, 2018 at 10:50 PM, Benjamin Poirier wrote: > > It was reported that emulated e1000e devices in vmware esxi 6.5 Build > > 7526125 do not link up after commit 4aea7a5c5e94 ("e1000e: Avoid receiver > > overrun in

Re: [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-18 Thread Benjamin Poirier
On 2018/01/18 18:42, Shrikrishna Khare wrote: > > > On Thu, 18 Jan 2018, Benjamin Poirier wrote: > > > On 2018/01/18 15:50, Benjamin Poirier wrote: > > > It was reported that emulated e1000e devices in vmware esxi 6.5 Build > > > 7526125 do not link up after

Re: [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-17 Thread Benjamin Poirier
On 2018/01/18 15:50, Benjamin Poirier wrote: > It was reported that emulated e1000e devices in vmware esxi 6.5 Build > 7526125 do not link up after commit 4aea7a5c5e94 ("e1000e: Avoid receiver > overrun interrupt bursts", v4.15-rc1). Some tracing shows that after > e1000e_t

Re: [RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-17 Thread Benjamin Poirier
On 2018/01/18 15:50, Benjamin Poirier wrote: > It was reported that emulated e1000e devices in vmware esxi 6.5 Build > 7526125 do not link up after commit 4aea7a5c5e94 ("e1000e: Avoid receiver > overrun interrupt bursts", v4.15-rc1). Some tracing shows that after > e1000e_t

[RFC PATCH] e1000e: Remove Other from EIAC.

2018-01-17 Thread Benjamin Poirier
quot;e1000e: Do not read ICR in Other interrupt", v4.5-rc1). Fixes: 4aea7a5c5e94 ("e1000e: Avoid receiver overrun interrupt bursts") Signed-off-by: Benjamin Poirier --- Jeff, I'm sending as RFC since it looks like a problem that should be fixed in vmware. If you'd lik

Re: [PATCH] e1000e: Fix e1000_check_for_copper_link_ich8lan return value.

2018-01-09 Thread Benjamin Poirier
On 2018/01/10 01:29, rwar...@gmx.de wrote: > hallo > > any chance to get this patch into stable and 4.15 ? > > https://marc.info/?l=linux-kernel&m=151297726823919&w=2 > It was part of the last network pull request and should be included in the next mainline release as 4110e02eb45e e1000e: Fix e

[PATCH] e1000e: Fix e1000_check_for_copper_link_ich8lan return value.

2017-12-10 Thread Benjamin Poirier
naling for link check/link up") Tested-by: Christian Hesse Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/ich8lan.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1

Re: [PATCH 4.4 71/96] e1000e: Separate signaling for link check/link up

2017-12-08 Thread Benjamin Poirier
On 2017/12/07 20:02, Ben Hutchings wrote: > On Tue, 2017-11-28 at 11:23 +0100, Greg Kroah-Hartman wrote: > > 4.4-stable review patch.  If anyone has any objections, please let me know. > > > > -- > > > > From:

Re: [5/5] e1000e: Avoid receiver overrun interrupt bursts

2017-09-19 Thread Benjamin Poirier
On 2017/09/19 12:38, Philip Prindeville wrote: > Hi. > > We’ve been running this patchset (all 5) for about as long as they’ve been > under review… about 2 months. And in a burn-in lab with heavy traffic. > > We’ve not seen a single link-flap in hundreds of ours of saturated traffic. > > Would

[PATCH] packet: Don't write vnet header beyond end of buffer

2017-08-28 Thread Benjamin Poirier
... which may happen with certain values of tp_reserve and maclen. Fixes: 58d19b19cd99 ("packet: vnet_hdr support for tpacket_rcv") Signed-off-by: Benjamin Poirier Cc: Willem de Bruijn --- net/packet/af_packet.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) di

Re: [PATCH 5/5] e1000e: Avoid receiver overrun interrupt bursts

2017-08-21 Thread Benjamin Poirier
On 2017/07/21 11:36, Benjamin Poirier wrote: > When e1000e_poll() is not fast enough to keep up with incoming traffic, the > adapter (when operating in msix mode) raises the Other interrupt to signal > Receiver Overrun. > > This is a double problem because 1) at the moment e

Re: [Intel-wired-lan] [PATCH 4/5] e1000e: Separate signaling for link check/link up

2017-08-02 Thread Benjamin Poirier
On 2017/08/02 10:34, Lennart Sorensen wrote: > On Wed, Aug 02, 2017 at 02:28:07PM +0300, Neftin, Sasha wrote: > > On 7/21/2017 21:36, Benjamin Poirier wrote: > > > Lennart reported the following race condition: > > > > > > \ e1000_watchdog_task > > &g

[PATCH 3/5] e1000e: Fix return value test

2017-07-21 Thread Benjamin Poirier
All the helpers return -E1000_ERR_PHY. Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/netdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 58a87134d2e5

[PATCH 5/5] e1000e: Avoid receiver overrun interrupt bursts

2017-07-21 Thread Benjamin Poirier
16ecba59bc33 ("e1000e: Do not read ICR in Other interrupt") Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/defines.h | 1 + drivers/net/ethernet/intel/e1000e/netdev.c | 33 +++-- 2 files changed, 27 insertions(+), 7 deletions(-) diff -

[PATCH 2/5] e1000e: Fix wrong comment related to link detection

2017-07-21 Thread Benjamin Poirier
Reading e1000e_check_for_copper_link() shows that get_link_status is set to false after link has been detected. Therefore, it stays TRUE until then. Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/netdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff

[PATCH 4/5] e1000e: Separate signaling for link check/link up

2017-07-21 Thread Benjamin Poirier
link status needs checking and link status is down. Avoid the problem by using the return value of .check_for_link to signal the link status to e1000e_has_link(). Reported-by: Lennart Sorensen Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/mac.c| 11 ---

[PATCH 1/5] e1000e: Fix error path in link detection

2017-07-21 Thread Benjamin Poirier
In case of error from e1e_rphy(), the loop will exit early and "success" will be set to true erroneously. Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/phy.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/in

Re: commit 16ecba59 breaks 82574L under heavy load.

2017-07-20 Thread Benjamin Poirier
On 2017/07/20 10:00, Lennart Sorensen wrote: > On Wed, Jul 19, 2017 at 05:07:47PM -0700, Benjamin Poirier wrote: > > Are you sure about this? In my testing, while triggering the overrun > > with the msleep, I read ICR when entering e1000_msix_other() and RXO is > > consist

Re: commit 16ecba59 breaks 82574L under heavy load.

2017-07-19 Thread Benjamin Poirier
On 2017/07/19 10:19, Lennart Sorensen wrote: > On Tue, Jul 18, 2017 at 04:14:35PM -0700, Benjamin Poirier wrote: > > Thanks for the detailed analysis. > > > > Refering to the original discussion around this patch series, it seemed like > > the IMS bit for a condition

Re: commit 16ecba59 breaks 82574L under heavy load.

2017-07-18 Thread Benjamin Poirier
On 2017/07/18 10:21, Lennart Sorensen wrote: > Commit 16ecba59bc333d6282ee057fb02339f77a880beb has apparently broken > at least the 82574L under heavy load (as in load heavy enough to cause > packet drops). In this case, when running in MSI-X mode, the Other > Causes interrupt fires about 3000 tim

[PATCH v2] scsi: bfa: Increase requested firmware version to 3.2.5.1

2016-12-23 Thread Benjamin Poirier
Increase bfa's requested firmware version. Also increase the driver version. I only tested that all of the devices probe without error. Reported-by: Tim Ehlers Signed-off-by: Benjamin Poirier Acked-by: Rasesh Mody --- drivers/scsi/bfa/bfad.c | 6 +++--- drivers/scsi/bfa/bfad_drv

[PATCH] scsi: bfa: Increase requested firmware version to 3.2.5.1

2016-12-23 Thread Benjamin Poirier
3.2.25.0 Increase bfa's requested firmware version. I only tested that all of the devices probe without error. Cc: Rasesh Mody Reported-by: Tim Ehlers Signed-off-by: Benjamin Poirier --- drivers/scsi/bfa/bfad.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/driv

Re: Kernel regression introduced by "e1000e: Do not write lsc to ics in msi-x mode" and/or "e1000e: Do not read ICR in Other interrupt"

2016-11-07 Thread Benjamin Poirier
On 2016/11/02 21:19, Brown, Aaron F wrote: > > From: Jack Suter [mailto:j...@suter.io] > > Sent: Tuesday, November 1, 2016 4:57 PM > > To: Kirsher, Jeffrey T > > Cc: intel-wired-...@lists.osuosl.org; bpoir...@suse.com; Brown, Aaron F > > ; jhod...@ucdavis.edu; linux- > > ker...@vger.kernel.org > >

Re: Kernel regression introduced by "e1000e: Do not write lsc to ics in msi-x mode" and/or "e1000e: Do not read ICR in Other interrupt"

2016-11-01 Thread Benjamin Poirier
On 2016/11/01 19:56, Jack Suter wrote: > Hi there, > > I have some servers with an 82574L based NIC and recently upgraded from > a 4.4 series kernel to 4.7. Upon doing so, servers with this chipset > have begun frequently reporting "Link is Down" and "Link is Up" > messages. No other related netwo

Re: [PATCH RESEND] net: can: Introduce MEN 16Z192-00 CAN controller driver

2016-08-08 Thread Benjamin Poirier
On 2016/08/08 09:26, Andreas Werner wrote: [...] > > > + > > > + if (cf->can_dlc > 0) > > > + data[0] = be32_to_cpup((__be32 *)(cf->data)); > > > + if (cf->can_dlc > 3) > > > + data[1] = be32_to_cpup((__be32 *)(cf->data + 4)); > > > + > > > + writel(id, &cf_buf->can_id); > > > + wri

  1   2   3   >