mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
ufshci: initialize desc_size for non-descriptor query requests
The flag and attribute query builders left param.desc_size uninitialized, so stack garbage was sent as the query UPIU length field. Devices generally ignore the length for these opcodes, which hid the bug. Zero it explicitly. Sponsored by: Samsung Electronics Reviewed by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D58665
This commit is contained in:
1 parent
50a00f10d8
commit
af00e00f23
1 file changed
+5
@@ -86,6 +86,7 @@ ufshci_dev_read_flag(struct ufshci_controller *ctrlr,
|
||||
param.index = 0;
|
||||
param.selector = 0;
|
||||
param.value = 0;
|
||||
param.desc_size = 0;
|
||||
|
||||
status.done = 0;
|
||||
error = ufshci_ctrlr_cmd_send_query_request(ctrlr,
|
||||
@@ -118,6 +119,7 @@ ufshci_dev_set_flag(struct ufshci_controller *ctrlr,
|
||||
param.index = 0;
|
||||
param.selector = 0;
|
||||
param.value = 0;
|
||||
param.desc_size = 0;
|
||||
|
||||
status.done = 0;
|
||||
error = ufshci_ctrlr_cmd_send_query_request(ctrlr,
|
||||
@@ -148,6 +150,7 @@ ufshci_dev_clear_flag(struct ufshci_controller *ctrlr,
|
||||
param.index = 0;
|
||||
param.selector = 0;
|
||||
param.value = 0;
|
||||
param.desc_size = 0;
|
||||
|
||||
status.done = 0;
|
||||
error = ufshci_ctrlr_cmd_send_query_request(ctrlr,
|
||||
@@ -179,6 +182,7 @@ ufshci_dev_read_attribute(struct ufshci_controller *ctrlr,
|
||||
param.index = index;
|
||||
param.selector = selector;
|
||||
param.value = 0;
|
||||
param.desc_size = 0;
|
||||
|
||||
status.done = 0;
|
||||
error = ufshci_ctrlr_cmd_send_query_request(ctrlr,
|
||||
@@ -212,6 +216,7 @@ ufshci_dev_write_attribute(struct ufshci_controller *ctrlr,
|
||||
param.index = index;
|
||||
param.selector = selector;
|
||||
param.value = value;
|
||||
param.desc_size = 0;
|
||||
|
||||
status.done = 0;
|
||||
error = ufshci_ctrlr_cmd_send_query_request(ctrlr,
|
||||
|
||||
Reference in new issue
Block a user