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;
 
 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;