pmaports/device/testing/linux-meizu-turbo/0003-Remove-hard-coded-denial-of-ro-attr-change-for-SD.patch

58 lines
1.9 KiB
Diff
Raw Normal View History

From 951f53d9a9000dd661b9db7167929ec50d245856 Mon Sep 17 00:00:00 2001
From: "elel@3wh.net" <elel@3wh.net>
Date: Mon, 24 Dec 2018 21:52:48 +0000
Subject: [PATCH 3/5] Remove hard-coded denial of ro attr change for SD
---
drivers/scsi/sd.c | 9 ++-------
drivers/scsi/ufs/ufs-exynos.h | 1 +
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index c01742258ac4..dae2cdb1b797 100755
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1280,11 +1280,6 @@ static int sd_ioctl(struct block_device *bdev, fmode_t mode,
SCSI_LOG_IOCTL(1, sd_printk(KERN_INFO, sdkp, "sd_ioctl: disk=%s, "
"cmd=0x%x\n", disk->disk_name, cmd));
- /* Forbid setting device's ro attribute */
- if (cmd == BLKROSET) {
- return -EACCES;
- }
-
error = scsi_verify_blk_ioctl(bdev, cmd);
if (error < 0)
return error;
@@ -2261,7 +2256,7 @@ sd_read_write_protect_flag(struct scsi_disk *sdkp, unsigned char *buffer)
struct scsi_mode_data data;
int old_wp = sdkp->write_prot;
- //set_disk_ro(sdkp->disk, 0);
+ set_disk_ro(sdkp->disk, 0);
if (sdp->skip_ms_page_3f) {
sd_printk(KERN_NOTICE, sdkp, "Assuming Write Enabled\n");
return;
@@ -2299,7 +2294,7 @@ sd_read_write_protect_flag(struct scsi_disk *sdkp, unsigned char *buffer)
"Test WP failed, assume Write Enabled\n");
} else {
sdkp->write_prot = ((data.device_specific & 0x80) != 0);
- //set_disk_ro(sdkp->disk, sdkp->write_prot);
+ set_disk_ro(sdkp->disk, sdkp->write_prot);
if (sdkp->first_scan || old_wp != sdkp->write_prot) {
sd_printk(KERN_NOTICE, sdkp, "Write Protect is %s\n",
sdkp->write_prot ? "on" : "off");
diff --git a/drivers/scsi/ufs/ufs-exynos.h b/drivers/scsi/ufs/ufs-exynos.h
index 43edc4b92eb5..70fbf39408be 100644
--- a/drivers/scsi/ufs/ufs-exynos.h
+++ b/drivers/scsi/ufs/ufs-exynos.h
@@ -511,4 +511,5 @@ struct ufs_attr_log {
u32 res;
u32 val;
};
+
#endif /* _UFS_EXYNOS_H_ */
--
2.20.1