We register with bnx2x before we allocate ctx_tbl structure, so it is
possible for bnx2x to call cnic_ctl before the structure is allocated.
This can sometimes cause NULL pointer dereference of cp->ctx_tbl. We
fix this by adding simple checking for valid state before proceeding.
The cnic_ctl call is RCU protected so we don't have to deal with race
conditions.
Because of the additional checking, we need to finish the shutdown
before clearing the CNIC_UP flag.
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
drivers/net/ethernet/broadcom/cnic.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
From: Eddie Wai <redacted>
If firmware returns error status, proceed to close the iSCSI connection.
Update version to 2.5.11.
Signed-off-by: Eddie Wai <redacted>
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
drivers/net/ethernet/broadcom/cnic.c | 9 +++++++++
drivers/net/ethernet/broadcom/cnic_if.h | 4 ++--
2 files changed, 11 insertions(+), 2 deletions(-)
@@ -3953,6 +3953,15 @@ static void cnic_cm_process_kcqe(struct cnic_dev *dev, struct kcqe *kcqe)cnic_cm_upcall(cp,csk,opcode);break;+caseL5CM_RAMROD_CMD_ID_CLOSE:+if(l4kcqe->status!=0){+netdev_warn(dev->netdev,"RAMROD CLOSE compl with "+"status 0x%x\n",l4kcqe->status);+opcode=L4_KCQE_OPCODE_VALUE_CLOSE_COMP;+/* Fall through */+}else{+break;+}caseL4_KCQE_OPCODE_VALUE_RESET_RECEIVED:caseL4_KCQE_OPCODE_VALUE_CLOSE_COMP:caseL4_KCQE_OPCODE_VALUE_RESET_COMP:
From: Eddie Wai <redacted>
so that it will work on any hypervisor.
Signed-off-by: Eddie Wai <redacted>
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
drivers/net/ethernet/broadcom/cnic.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
to stop all tx queues. Update version to 2.2.3.
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnx2.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
This memory region is no longer used. Userspace gets the BAR address
directly from sysfs.
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
drivers/net/ethernet/broadcom/cnic.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
to indicate that the mising break statements are intended.
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnx2.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
@@ -1972,22 +1972,26 @@ bnx2_remote_phy_event(struct bnx2 *bp)switch(speed){caseBNX2_LINK_STATUS_10HALF:bp->duplex=DUPLEX_HALF;+/* fall through */caseBNX2_LINK_STATUS_10FULL:bp->line_speed=SPEED_10;break;caseBNX2_LINK_STATUS_100HALF:bp->duplex=DUPLEX_HALF;+/* fall through */caseBNX2_LINK_STATUS_100BASE_T4:caseBNX2_LINK_STATUS_100FULL:bp->line_speed=SPEED_100;break;caseBNX2_LINK_STATUS_1000HALF:bp->duplex=DUPLEX_HALF;+/* fall through */caseBNX2_LINK_STATUS_1000FULL:bp->line_speed=SPEED_1000;break;caseBNX2_LINK_STATUS_2500HALF:bp->duplex=DUPLEX_HALF;+/* fall through */caseBNX2_LINK_STATUS_2500FULL:bp->line_speed=SPEED_2500;break;
We register with bnx2x before we allocate ctx_tbl structure, so it is
possible for bnx2x to call cnic_ctl before the structure is allocated.
This can sometimes cause NULL pointer dereference of cp->ctx_tbl. We
fix this by adding simple checking for valid state before proceeding.
The cnic_ctl call is RCU protected so we don't have to deal with race
conditions.
Because of the additional checking, we need to finish the shutdown
before clearing the CNIC_UP flag.
Signed-off-by: Michael Chan <mchan@broadcom.com>
From: Eddie Wai <redacted>
so that it will work on any hypervisor.
Signed-off-by: Eddie Wai <redacted>
Signed-off-by: Michael Chan <mchan@broadcom.com>
From: Eddie Wai <redacted>
If firmware returns error status, proceed to close the iSCSI connection.
Update version to 2.5.11.
Signed-off-by: Eddie Wai <redacted>
Signed-off-by: Michael Chan <mchan@broadcom.com>