Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cnic: Add missing error checking for RAMROD_CMD_ID_CLOSE

Completion status field should also be checked for non-zero error
condition.

Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Eddie Wai and committed by
David S. Miller
28e3a8f3 b3bd2d65

+7 -4
+7 -4
drivers/net/ethernet/broadcom/cnic.c
··· 4022 4022 cnic_cm_upcall(cp, csk, opcode); 4023 4023 break; 4024 4024 4025 - case L5CM_RAMROD_CMD_ID_CLOSE: 4026 - if (l4kcqe->status != 0) { 4027 - netdev_warn(dev->netdev, "RAMROD CLOSE compl with " 4028 - "status 0x%x\n", l4kcqe->status); 4025 + case L5CM_RAMROD_CMD_ID_CLOSE: { 4026 + struct iscsi_kcqe *l5kcqe = (struct iscsi_kcqe *) kcqe; 4027 + 4028 + if (l4kcqe->status != 0 || l5kcqe->completion_status != 0) { 4029 + netdev_warn(dev->netdev, "RAMROD CLOSE compl with status 0x%x completion status 0x%x\n", 4030 + l4kcqe->status, l5kcqe->completion_status); 4029 4031 opcode = L4_KCQE_OPCODE_VALUE_CLOSE_COMP; 4030 4032 /* Fall through */ 4031 4033 } else { 4032 4034 break; 4033 4035 } 4036 + } 4034 4037 case L4_KCQE_OPCODE_VALUE_RESET_RECEIVED: 4035 4038 case L4_KCQE_OPCODE_VALUE_CLOSE_COMP: 4036 4039 case L4_KCQE_OPCODE_VALUE_RESET_COMP: