summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSujit Reddy Thumma <sthumma@codeaurora.org>2013-10-01 04:47:52 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 10:55:30 -0700
commitee7107e4f9eaebe4de9a2a9f8a754f9c9bf4281f (patch)
tree811972791e5a56cfdde92423329e3b4a69a31cca
parentf0a4dc876f128c04dd5c93f54c53526ba7f4b058 (diff)
scsi: ufs: try read capacity (10) first
UFS 1.1 specification defines READ_CAPACTIY(16) as an optional command. Hence, try READ_CAPACITY(10) first, if the device returns 0xFFFF_FFFF as returned logical block address then send READ_CAPACITY(16) to read the actual device capacity. Change-Id: I2690d26be967e6be4debdc773100c55ba751aa1f Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org> [subhashj@codeaurora.org: resolved trivial merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
-rw-r--r--drivers/scsi/ufs/ufshcd.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 2e2a8711f587..6e38fd27d5dc 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -2958,6 +2958,8 @@ static int ufshcd_slave_alloc(struct scsi_device *sdev)
/* REPORT SUPPORTED OPERATION CODES is not supported */
sdev->no_report_opcodes = 1;
+ /* try read capactiy (10) first as rc_16 is optional in UFS spec. */
+ sdev->try_rc_10_first = 1;
ufshcd_set_queue_depth(sdev);