diff options
author | Eddie Wai <eddie.wai@broadcom.com> | 2012-02-02 18:22:00 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-19 09:09:01 -0500 |
commit | 70fc872c738d1e0af7d0420047e4ca3acf283c9d (patch) | |
tree | 41ca617be6613a14edbd9e0621cb373cea04b47e /drivers/scsi/bnx2i | |
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')
-rw-r--r-- | drivers/scsi/bnx2i/bnx2i_hwi.c | 12 | ||||
-rw-r--r-- | drivers/scsi/bnx2i/bnx2i_init.c | 4 |
2 files changed, 10 insertions, 6 deletions
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) | |||
1312 | ISCSI_KCQE_COMPLETION_STATUS_PROTOCOL_ERR_EXP_DATASN) | | 1312 | ISCSI_KCQE_COMPLETION_STATUS_PROTOCOL_ERR_EXP_DATASN) | |
1313 | /* EMC */ | 1313 | /* EMC */ |
1314 | (1ULL << ISCSI_KCQE_COMPLETION_STATUS_PROTOCOL_ERR_LUN)); | 1314 | (1ULL << ISCSI_KCQE_COMPLETION_STATUS_PROTOCOL_ERR_LUN)); |
1315 | if (error_mask1) | 1315 | if (error_mask1) { |
1316 | iscsi_init2.error_bit_map[0] = error_mask1; | 1316 | iscsi_init2.error_bit_map[0] = error_mask1; |
1317 | else | 1317 | mask64 &= (u32)(~mask64); |
1318 | mask64 |= error_mask1; | ||
1319 | } else | ||
1318 | iscsi_init2.error_bit_map[0] = (u32) mask64; | 1320 | iscsi_init2.error_bit_map[0] = (u32) mask64; |
1319 | 1321 | ||
1320 | if (error_mask2) | 1322 | if (error_mask2) { |
1321 | iscsi_init2.error_bit_map[1] = error_mask2; | 1323 | iscsi_init2.error_bit_map[1] = error_mask2; |
1322 | else | 1324 | mask64 &= 0xffffffff; |
1325 | mask64 |= ((u64)error_mask2 << 32); | ||
1326 | } else | ||
1323 | iscsi_init2.error_bit_map[1] = (u32) (mask64 >> 32); | 1327 | iscsi_init2.error_bit_map[1] = (u32) (mask64 >> 32); |
1324 | 1328 | ||
1325 | iscsi_error_mask = mask64; | 1329 | 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); | |||
49 | MODULE_PARM_DESC(en_tcp_dack, "Enable TCP Delayed ACK"); | 49 | MODULE_PARM_DESC(en_tcp_dack, "Enable TCP Delayed ACK"); |
50 | 50 | ||
51 | unsigned int error_mask1 = 0x00; | 51 | unsigned int error_mask1 = 0x00; |
52 | module_param(error_mask1, int, 0664); | 52 | module_param(error_mask1, uint, 0664); |
53 | MODULE_PARM_DESC(error_mask1, "Config FW iSCSI Error Mask #1"); | 53 | MODULE_PARM_DESC(error_mask1, "Config FW iSCSI Error Mask #1"); |
54 | 54 | ||
55 | unsigned int error_mask2 = 0x00; | 55 | unsigned int error_mask2 = 0x00; |
56 | module_param(error_mask2, int, 0664); | 56 | module_param(error_mask2, uint, 0664); |
57 | MODULE_PARM_DESC(error_mask2, "Config FW iSCSI Error Mask #2"); | 57 | MODULE_PARM_DESC(error_mask2, "Config FW iSCSI Error Mask #2"); |
58 | 58 | ||
59 | unsigned int sq_size; | 59 | unsigned int sq_size; |