summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/sd.c')
-rw-r--r--drivers/scsi/sd.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 001593ed0444..bcb0cb020fd2 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -644,8 +644,6 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
644 unsigned int logical_block_size = sdkp->device->sector_size; 644 unsigned int logical_block_size = sdkp->device->sector_size;
645 unsigned int max_blocks = 0; 645 unsigned int max_blocks = 0;
646 646
647 q->limits.discard_zeroes_data = 0;
648
649 /* 647 /*
650 * When LBPRZ is reported, discard alignment and granularity 648 * When LBPRZ is reported, discard alignment and granularity
651 * must be fixed to the logical block size. Otherwise the block 649 * must be fixed to the logical block size. Otherwise the block
@@ -681,19 +679,16 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
681 case SD_LBP_WS16: 679 case SD_LBP_WS16:
682 max_blocks = min_not_zero(sdkp->max_ws_blocks, 680 max_blocks = min_not_zero(sdkp->max_ws_blocks,
683 (u32)SD_MAX_WS16_BLOCKS); 681 (u32)SD_MAX_WS16_BLOCKS);
684 q->limits.discard_zeroes_data = sdkp->lbprz;
685 break; 682 break;
686 683
687 case SD_LBP_WS10: 684 case SD_LBP_WS10:
688 max_blocks = min_not_zero(sdkp->max_ws_blocks, 685 max_blocks = min_not_zero(sdkp->max_ws_blocks,
689 (u32)SD_MAX_WS10_BLOCKS); 686 (u32)SD_MAX_WS10_BLOCKS);
690 q->limits.discard_zeroes_data = sdkp->lbprz;
691 break; 687 break;
692 688
693 case SD_LBP_ZERO: 689 case SD_LBP_ZERO:
694 max_blocks = min_not_zero(sdkp->max_ws_blocks, 690 max_blocks = min_not_zero(sdkp->max_ws_blocks,
695 (u32)SD_MAX_WS10_BLOCKS); 691 (u32)SD_MAX_WS10_BLOCKS);
696 q->limits.discard_zeroes_data = 1;
697 break; 692 break;
698 } 693 }
699 694