/* Avoid default reg rule updates sent during FW recovery if
         * it is already available
         */
-       spin_lock(&ab->base_lock);
+       spin_lock_bh(&ab->base_lock);
        if (test_bit(ATH11K_FLAG_RECOVERY, &ab->dev_flags) &&
            ab->default_regd[pdev_idx]) {
-               spin_unlock(&ab->base_lock);
+               spin_unlock_bh(&ab->base_lock);
                goto retfail;
        }
-       spin_unlock(&ab->base_lock);
+       spin_unlock_bh(&ab->base_lock);
 
        if (pdev_idx >= ab->num_radios) {
                /* Process the event for phy0 only if single_pdev_only
                ab->reg_info_store[pdev_idx] = *reg_info;
        }
 
-       spin_lock(&ab->base_lock);
+       spin_lock_bh(&ab->base_lock);
        if (ab->default_regd[pdev_idx]) {
                /* The initial rules from FW after WMI Init is to build
                 * the default regd. From then on, any rules updated for
                ab->default_regd[pdev_idx] = regd;
        }
        ab->dfs_region = reg_info->dfs_region;
-       spin_unlock(&ab->base_lock);
+       spin_unlock_bh(&ab->base_lock);
 
        return 0;