Message ID | 1348734095.7217.46.camel@lb-tlvb-dmitry |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
2012/9/27 Dmitry Kravkov <dmitry@broadcom.com>: > On Tue, 2012-09-25 at 16:00 +0200, Jean-Michel Hautbois wrote: >> 2012/9/25 Jean-Michel Hautbois <jhautbois@gmail.com>: >> > 2012/9/25 Dmitry Kravkov <dmitry@broadcom.com>: >> >>> -----Original Message----- >> >>> From: Jean-Michel Hautbois [mailto:jhautbois@gmail.com] >> >>> Sent: Tuesday, September 25, 2012 2:54 PM >> >>> To: Dmitry Kravkov >> >>> Cc: netdev; Barak Witkowski; Eilon Greenstein; davem@davemloft.net >> >>> Subject: Re: bnx2x: link detected up at startup even when it should be down >> >> >> >> >> FYI, eth4 and eth5 are seen UP and they should be down. > It looks driver misses DCC "disable/enable" update > > Can you pls test this simple patch? > > From 1efa0314f4b912f474089f5f8375d37bc265a502 Mon Sep 17 00:00:00 2001 > From: Dmitry Kravkov <dmitry@broadcom.com> > Date: Fri, 22 Mar 2013 05:12:02 +0200 > Subject: [PATCH] bnx2x: DCC disable/enable update can be missed by driver > > As a result of missed update, OS may be updated with wrong link status. > --- > drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c > index 2f6361e..3962d57 100644 > --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c > +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c > @@ -3445,6 +3445,7 @@ static inline void bnx2x_attn_int_deasserted3(struct bnx2x *bp, u32 attn) > int func = BP_FUNC(bp); > > REG_WR(bp, MISC_REG_AEU_GENERAL_ATTN_12 + func*4, 0); > + bnx2x_read_mf_cfg(bp); > bp->mf_config[BP_VN(bp)] = MF_CFG_RD(bp, > func_mf_config[BP_ABS_FUNC(bp)].config); > val = SHMEM_RD(bp, > -- > 1.7.1 > > > >> JM >> This patch does not work (no change at all). Regards, JM -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index 2f6361e..3962d57 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c @@ -3445,6 +3445,7 @@ static inline void bnx2x_attn_int_deasserted3(struct bnx2x *bp, u32 attn) int func = BP_FUNC(bp); REG_WR(bp, MISC_REG_AEU_GENERAL_ATTN_12 + func*4, 0); + bnx2x_read_mf_cfg(bp); bp->mf_config[BP_VN(bp)] = MF_CFG_RD(bp, func_mf_config[BP_ABS_FUNC(bp)].config); val = SHMEM_RD(bp,