if (buffer[14] & 0x40) /* LBPRZ */
                        sdkp->lbprz = 1;
-
-               sd_config_discard(sdkp, lim, SD_LBP_WS16);
        }
 
        sdkp->capacity = lba + 1;
                        sdkp->unmap_alignment =
                                get_unaligned_be32(&vpd->data[32]) & ~(1 << 31);
 
-               sd_config_discard(sdkp, lim, sd_discard_mode(sdkp));
-
 config_atomic:
                sdkp->max_atomic = get_unaligned_be32(&vpd->data[44]);
                sdkp->atomic_alignment = get_unaligned_be32(&vpd->data[48]);
                        sd_zbc_read_zones(sdkp, &lim, buffer);
                }
 
+               sd_config_discard(sdkp, &lim, sd_discard_mode(sdkp));
+
                sd_print_capacity(sdkp, old_capacity);
 
                sd_read_write_protect_flag(sdkp, buffer);