diff options
author | Eddie Wai <eddie.wai@broadcom.com> | 2012-02-02 15:22:00 -0800 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-19 08:09:01 -0600 |
commit | 70fc872c738d1e0af7d0420047e4ca3acf283c9d (patch) | |
tree | 41ca617be6613a14edbd9e0621cb373cea04b47e /drivers/scsi/bnx2i/bnx2i_hwi.c | |
parent | 93713f3bf1d74c57ff851d17de54bb273d94210c (diff) |
[SCSI] bnx2i: Fixed the override of the error_mask module param
The error_mask module param overrides has a bug which prevented
the new module param values to take effect.
Also changed the type attribute of the error_mask1/2 module params
from int to uint to allow the MSB to be set.
Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
Acked-by: Anil Veerabhadrappa <anilgv@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bnx2i/bnx2i_hwi.c')
-rw-r--r-- | drivers/scsi/bnx2i/bnx2i_hwi.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/scsi/bnx2i/bnx2i_hwi.c b/drivers/scsi/bnx2i/bnx2i_hwi.c index 1ad0b822556..f9d6f412909 100644 --- a/drivers/scsi/bnx2i/bnx2i_hwi.c +++ b/drivers/scsi/bnx2i/bnx2i_hwi.c @@ -1312,14 +1312,18 @@ int bnx2i_send_fw_iscsi_init_msg(struct bnx2i_hba *hba) ISCSI_KCQE_COMPLETION_STATUS_PROTOCOL_ERR_EXP_DATASN) | /* EMC */ (1ULL << ISCSI_KCQE_COMPLETION_STATUS_PROTOCOL_ERR_LUN)); - if (error_mask1) + if (error_mask1) { iscsi_init2.error_bit_map[0] = error_mask1; - else + mask64 &= (u32)(~mask64); + mask64 |= error_mask1; + } else iscsi_init2.error_bit_map[0] = (u32) mask64; - if (error_mask2) + if (error_mask2) { iscsi_init2.error_bit_map[1] = error_mask2; - else + mask64 &= 0xffffffff; + mask64 |= ((u64)error_mask2 << 32); + } else iscsi_init2.error_bit_map[1] = (u32) (mask64 >> 32); iscsi_error_mask = mask64; |