Skip to content

Commit df87d84

Browse files
committed
Merge tag 'ata-6.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux
Pull ata fixes from Niklas Cassel: - Fix a regression where the enablement of the PHYs would be skipped for device trees without any port child nodes (me) - Revert ATA_QUIRK_NOLPM for Samsung SSD 870 QVO drives, as it stops systems from entering lower package states. LPM works on newer firmware versions. We will need a more refined quirk that only targets the older firmware versions (me) * tag 'ata-6.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux: Revert "ata: libata-core: Add ATA_QUIRK_NOLPM for Samsung SSD 870 QVO drives" ata: ahci: Make ahci_ignore_port() handle empty mask_port_map
2 parents 209cd6f + a2f925a commit df87d84

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

drivers/ata/ahci.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -386,8 +386,12 @@ struct ahci_host_priv {
386386
static inline bool ahci_ignore_port(struct ahci_host_priv *hpriv,
387387
unsigned int portid)
388388
{
389-
return portid >= hpriv->nports ||
390-
!(hpriv->mask_port_map & (1 << portid));
389+
if (portid >= hpriv->nports)
390+
return true;
391+
/* mask_port_map not set means that all ports are available */
392+
if (!hpriv->mask_port_map)
393+
return false;
394+
return !(hpriv->mask_port_map & (1 << portid));
391395
}
392396

393397
extern int ahci_ignore_sss;

drivers/ata/libahci.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,7 @@ void ahci_save_initial_config(struct device *dev, struct ahci_host_priv *hpriv)
541541
hpriv->saved_port_map = port_map;
542542
}
543543

544+
/* mask_port_map not set means that all ports are available */
544545
if (hpriv->mask_port_map) {
545546
dev_warn(dev, "masking port_map 0x%lx -> 0x%lx\n",
546547
port_map,

drivers/ata/libata-core.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4143,10 +4143,6 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
41434143
{ "Samsung SSD 860*", NULL, ATA_QUIRK_NO_NCQ_TRIM |
41444144
ATA_QUIRK_ZERO_AFTER_TRIM |
41454145
ATA_QUIRK_NO_NCQ_ON_ATI },
4146-
{ "Samsung SSD 870 QVO*", NULL, ATA_QUIRK_NO_NCQ_TRIM |
4147-
ATA_QUIRK_ZERO_AFTER_TRIM |
4148-
ATA_QUIRK_NO_NCQ_ON_ATI |
4149-
ATA_QUIRK_NOLPM },
41504146
{ "Samsung SSD 870*", NULL, ATA_QUIRK_NO_NCQ_TRIM |
41514147
ATA_QUIRK_ZERO_AFTER_TRIM |
41524148
ATA_QUIRK_NO_NCQ_ON_ATI },

0 commit comments

Comments
 (0)