summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2016-01-31 16:35:26 +0100
committerSlávek Banko <slavek.banko@axis.cz>2016-01-31 16:35:26 +0100
commitdc350e6c6406a78621763c2d4fcbea8deca01c7c (patch)
treed3584a9a725e110f89d215dcdd51d15adceafff2
parentf4fb3a8e71882fec8beffccf0ba3c5eb54310c89 (diff)
downloadtdelibs-dc350e6c.tar.gz
tdelibs-dc350e6c.zip
Force removable flag for flask disks in tdehwlib
This resolves Bug 2473 Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--tdecore/tdehw/tdehardwaredevices.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/tdecore/tdehw/tdehardwaredevices.cpp b/tdecore/tdehw/tdehardwaredevices.cpp
index f121bec3c..8ec1a5286 100644
--- a/tdecore/tdehw/tdehardwaredevices.cpp
+++ b/tdecore/tdehw/tdehardwaredevices.cpp
@@ -2710,6 +2710,16 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice* exist
if (hotpluggable) {
diskstatus = diskstatus | TDEDiskDeviceStatus::Hotpluggable;
}
+ // Force removable flag for flash disks
+ // udev reports disks as non-removable for card readers on PCI controllers
+ if (((disktype & TDEDiskDeviceType::CompactFlash)
+ || (disktype & TDEDiskDeviceType::MemoryStick)
+ || (disktype & TDEDiskDeviceType::SmartMedia)
+ || (disktype & TDEDiskDeviceType::SDMMC))
+ && !(diskstatus & TDEDiskDeviceStatus::Removable)
+ && !(diskstatus & TDEDiskDeviceStatus::Hotpluggable)) {
+ diskstatus = diskstatus | TDEDiskDeviceStatus::Removable;
+ }
if ((filesystemtype.upper() != "CRYPTO_LUKS") && (filesystemtype.upper() != "CRYPTO") && (filesystemtype.upper() != "SWAP") && (!filesystemtype.isNull())) {
diskstatus = diskstatus | TDEDiskDeviceStatus::ContainsFilesystem;