diff --git a/tdecore/tdehw/tdehardwaredevices.cpp b/tdecore/tdehw/tdehardwaredevices.cpp index 9ef005927..257a22a41 100644 --- a/tdecore/tdehw/tdehardwaredevices.cpp +++ b/tdecore/tdehw/tdehardwaredevices.cpp @@ -2616,14 +2616,12 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice* exist parentsyspath.truncate(parentsyspath.findRev("/")); parentdisk = static_cast(findBySystemPath(parentsyspath)); } + disktype = classifyDiskType(dev, devicenode, devicebus, devicetypestring, systempath, devicevendor, devicemodel, filesystemtype, devicedriver); if (parentdisk) { // Set partition disk type and status based on the parent device - disktype = parentdisk->diskType(); + disktype = disktype | parentdisk->diskType(); diskstatus = diskstatus | parentdisk->diskStatus(); } - else { - disktype = classifyDiskType(dev, devicenode, devicebus, devicetypestring, systempath, devicevendor, devicemodel, filesystemtype, devicedriver); - } sdevice->internalSetDiskType(disktype); device = classifyUnknownDeviceByExternalRules(dev, device, true); // Check external rules for possible subtype overrides disktype = sdevice->diskType(); // The type can be overridden by an external rule