[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200910101513.2900079-1-huangrandall@google.com>
Date: Thu, 10 Sep 2020 18:15:13 +0800
From: Randall Huang <huangrandall@...gle.com>
To: dgilbert@...erlog.com, jejb@...ux.ibm.com,
martin.petersen@...cle.com, linux-scsi@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: huangrandall@...gle.com
Subject: [PATCH] scsi: clear UAC before sending SG_IO
Make sure UAC is clear before sending SG_IO.
Signed-off-by: Randall Huang <huangrandall@...gle.com>
---
drivers/scsi/sg.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 20472aaaf630..ad11bca47ae8 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -922,6 +922,7 @@ sg_ioctl_common(struct file *filp, Sg_device *sdp, Sg_fd *sfp,
int result, val, read_only;
Sg_request *srp;
unsigned long iflags;
+ int _cmd;
SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp,
"sg_ioctl: cmd=0x%x\n", (int) cmd_in));
@@ -933,6 +934,13 @@ sg_ioctl_common(struct file *filp, Sg_device *sdp, Sg_fd *sfp,
return -ENODEV;
if (!scsi_block_when_processing_errors(sdp->device))
return -ENXIO;
+
+ _cmd = SCSI_UFS_REQUEST_SENSE;
+ if (sdp->device->host->wlun_clr_uac) {
+ sdp->device->host->hostt->ioctl(sdp->device, _cmd, NULL);
+ sdp->device->host->wlun_clr_uac = false;
+ }
+
result = sg_new_write(sfp, filp, p, SZ_SG_IO_HDR,
1, read_only, 1, &srp);
if (result < 0)
Powered by blists - more mailing lists