PCI SATA adapter marks all devices as removable

From: Norbert Preining
Date: Sun Jul 04 2021 - 01:46:18 EST


Dear all

(please Cc)

(kernel 5.13, Debian/sid)

I recently installed a PCI SATA adapter:
06:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 4-port SATA 6 Gb/s Controller (rev 11) (prog-if 01 [AHCI 1.0])
Subsystem: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 4-port SATA 6 Gb/s Controller
Flags: bus master, fast devsel, latency 0, IRQ 146
I/O ports at c050 [size=8]
I/O ports at c040 [size=4]
I/O ports at c030 [size=8]
I/O ports at c020 [size=4]
I/O ports at c000 [size=32]
Memory at df540000 (32-bit, non-prefetchable) [size=2K]
Expansion ROM at df500000 [disabled] [size=256K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [70] Express Legacy Endpoint, MSI 00
Capabilities: [e0] SATA HBA v0.0
Capabilities: [100] Advanced Error Reporting
Kernel driver in use: ahci

and now disks attached via these sata ports show up as "Removable".

In 2016 (kernel 4.4) this was introduced and some fix was done in git
commit dc8b4afc4a04fac8ee55a19b59f2356a25e7e778
Author: Manuel Lauss <manuel.lauss@xxxxxxxxx>
Date: Sat Feb 27 16:10:05 2016 +0100

ata: ahci: don't mark HotPlugCapable Ports as external/removable

diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index 513b3fa74d78..85ea5142a095 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -1168,8 +1168,7 @@ static void ahci_port_init(struct device *dev, struct ata_port *ap,

/* mark esata ports */
tmp = readl(port_mmio + PORT_CMD);
- if ((tmp & PORT_CMD_HPCP) ||
- ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS)))
+ if ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS))
ap->pflags |= ATA_PFLAG_EXTERNAL;
}


I also miss the possibility to disable hotplug in the SATA extension
card, so I see now all connected devices as removable devices in DE.

Is this to be expected? Is there a way around this?

(Please Cc)

Thanks

Norbert

--
PREINING Norbert https://www.preining.info
Fujitsu Research + IFMGA Guide + TU Wien + TeX Live + Debian Dev
GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13