From: Eddie Wai Date: Thu, 2 Feb 2012 23:22:00 +0000 (-0800) Subject: [SCSI] bnx2i: Fixed the override of the error_mask module param X-Git-Tag: firefly_0821_release~3680^2~3167^2~191 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;ds=sidebyside;h=70fc872c738d1e0af7d0420047e4ca3acf283c9d;p=firefly-linux-kernel-4.4.55.git [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 Acked-by: Anil Veerabhadrappa Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/bnx2i/bnx2i_hwi.c b/drivers/scsi/bnx2i/bnx2i_hwi.c index 1ad0b8225560..f9d6f4129093 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; diff --git a/drivers/scsi/bnx2i/bnx2i_init.c b/drivers/scsi/bnx2i/bnx2i_init.c index 62c8c0a02a7c..4927cca733d3 100644 --- a/drivers/scsi/bnx2i/bnx2i_init.c +++ b/drivers/scsi/bnx2i/bnx2i_init.c @@ -49,11 +49,11 @@ module_param(en_tcp_dack, int, 0664); MODULE_PARM_DESC(en_tcp_dack, "Enable TCP Delayed ACK"); unsigned int error_mask1 = 0x00; -module_param(error_mask1, int, 0664); +module_param(error_mask1, uint, 0664); MODULE_PARM_DESC(error_mask1, "Config FW iSCSI Error Mask #1"); unsigned int error_mask2 = 0x00; -module_param(error_mask2, int, 0664); +module_param(error_mask2, uint, 0664); MODULE_PARM_DESC(error_mask2, "Config FW iSCSI Error Mask #2"); unsigned int sq_size;