1

additional ata changes for 6.9-rc1

- A single fix for ASMedia HBAs.
    These HBAs do not indicate that they support SATA Port Multipliers
    CAP.SPM (Supports Port Multiplier) is not set.
 
    Likewise, they do not allow you to probe the devices behind an
    attached PMP, as defined according to the SATA-IO PMP specification.
 
    Instead, they have decided to implement their own version of PMP,
    and because of this, plugging in a PMP actually works, even if the
    HBA claims that it does not support PMP.
 
    Revert a recent quirk for these HBAs, as that breaks ASMedia's own
    implementation of PMP.
 
    Unfortunately, this will once again give some users of these HBAs
    significantly increased boot time. However, a longer boot time for
    some, is the lesser evil compared to some other users not being able
    to detect their drives at all.
 -----BEGIN PGP SIGNATURE-----
 
 iIgEABYKADAWIQRN+ES/c4tHlMch3DzJZDGjmcZNcgUCZfl1DxIcY2Fzc2VsQGtl
 cm5lbC5vcmcACgkQyWQxo5nGTXLbfgD/YSHXSMFTch4waFnTVqbI73s8YY7MAf3N
 Udis3pXUnL4A/24OxmRaWvE3esgura1puHbMUxgQuFSoxqiF+W47iGcJ
 =JrQQ
 -----END PGP SIGNATURE-----

Merge tag 'ata-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux

Pull ata fix from Niklas Cassel:
 "A single fix for ASMedia HBAs.

  These HBAs do not indicate that they support SATA Port Multipliers
  CAP.SPM (Supports Port Multiplier) is not set.

  Likewise, they do not allow you to probe the devices behind an
  attached PMP, as defined according to the SATA-IO PMP specification.

  Instead, they have decided to implement their own version of PMP,
  and because of this, plugging in a PMP actually works, even if the
  HBA claims that it does not support PMP.

  Revert a recent quirk for these HBAs, as that breaks ASMedia's own
  implementation of PMP.

  Unfortunately, this will once again give some users of these HBAs
  significantly increased boot time. However, a longer boot time for
  some, is the lesser evil compared to some other users not being able
  to detect their drives at all"

* tag 'ata-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
  ahci: asm1064: asm1166: don't limit reported ports
This commit is contained in:
Linus Torvalds 2024-03-19 11:05:34 -07:00
commit 2f3c2b3976

View File

@ -669,19 +669,6 @@ MODULE_PARM_DESC(mobile_lpm_policy, "Default LPM policy for mobile chipsets");
static void ahci_pci_save_initial_config(struct pci_dev *pdev, static void ahci_pci_save_initial_config(struct pci_dev *pdev,
struct ahci_host_priv *hpriv) struct ahci_host_priv *hpriv)
{ {
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA) {
switch (pdev->device) {
case 0x1166:
dev_info(&pdev->dev, "ASM1166 has only six ports\n");
hpriv->saved_port_map = 0x3f;
break;
case 0x1064:
dev_info(&pdev->dev, "ASM1064 has only four ports\n");
hpriv->saved_port_map = 0xf;
break;
}
}
if (pdev->vendor == PCI_VENDOR_ID_JMICRON && pdev->device == 0x2361) { if (pdev->vendor == PCI_VENDOR_ID_JMICRON && pdev->device == 0x2361) {
dev_info(&pdev->dev, "JMB361 has only one port\n"); dev_info(&pdev->dev, "JMB361 has only one port\n");
hpriv->saved_port_map = 1; hpriv->saved_port_map = 1;