{
        struct zcrypt_card *zc, *pref_zc;
        struct zcrypt_queue *zq, *pref_zq;
-       unsigned int weight, pref_weight;
+       unsigned int weight = 0, pref_weight = 0;
        unsigned int func_code;
        int qid = 0, rc = -ENODEV;
        struct module *mod;
 {
        struct zcrypt_card *zc, *pref_zc;
        struct zcrypt_queue *zq, *pref_zq;
-       unsigned int weight, pref_weight;
+       unsigned int weight = 0, pref_weight = 0;
        unsigned int func_code;
        int qid = 0, rc = -ENODEV;
        struct module *mod;
        struct zcrypt_card *zc, *pref_zc;
        struct zcrypt_queue *zq, *pref_zq;
        struct ap_message ap_msg;
-       unsigned int weight, pref_weight;
+       unsigned int weight = 0, pref_weight = 0;
        unsigned int func_code;
        unsigned short *domain, tdom;
        int qid = 0, rc = -ENODEV;
         * domain but a control only domain, use the default domain as target.
         */
        tdom = *domain;
-       if (tdom >= 0 && tdom < AP_DOMAINS &&
+       if (tdom < AP_DOMAINS &&
            !ap_test_config_usage_domain(tdom) &&
            ap_test_config_ctrl_domain(tdom) &&
            ap_domain_index >= 0)
        struct zcrypt_queue *zq, *pref_zq;
        struct ep11_target_dev *targets;
        unsigned short target_num;
-       unsigned int weight, pref_weight;
+       unsigned int weight = 0, pref_weight = 0;
        unsigned int func_code;
        struct ap_message ap_msg;
        int qid = 0, rc = -ENODEV;
 {
        struct zcrypt_card *zc, *pref_zc;
        struct zcrypt_queue *zq, *pref_zq;
-       unsigned int weight, pref_weight;
+       unsigned int weight = 0, pref_weight = 0;
        unsigned int func_code;
        struct ap_message ap_msg;
        unsigned int domain;
 
        ep11_get_card_info(ac->id, &ci, zc->online);
 
        for (i = 0; ep11_op_modes[i].mode_txt; i++) {
-               if (ci.op_mode & (1 << ep11_op_modes[i].mode_bit)) {
+               if (ci.op_mode & (1ULL << ep11_op_modes[i].mode_bit)) {
                        if (n > 0)
                                buf[n++] = ' ';
                        n += scnprintf(buf + n, PAGE_SIZE - n,
                                     &di);
 
        for (i = 0; ep11_op_modes[i].mode_txt; i++) {
-               if (di.op_mode & (1 << ep11_op_modes[i].mode_bit)) {
+               if (di.op_mode & (1ULL << ep11_op_modes[i].mode_bit)) {
                        if (n > 0)
                                buf[n++] = ' ';
                        n += scnprintf(buf + n, PAGE_SIZE - n,