diff options
Diffstat (limited to 'drivers/ata/ahci.c')
| -rw-r--r-- | drivers/ata/ahci.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 77bba4c083c..a603bbf9b1b 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -61,9 +61,14 @@  #define EM_MSG_LED_VALUE_ON           0x00010000  static int ahci_skip_host_reset; +static int ahci_ignore_sss; +  module_param_named(skip_host_reset, ahci_skip_host_reset, int, 0444);  MODULE_PARM_DESC(skip_host_reset, "skip global host reset (0=don't skip, 1=skip)"); +module_param_named(ignore_sss, ahci_ignore_sss, int, 0444); +MODULE_PARM_DESC(ignore_sss, "Ignore staggered spinup flag (0=don't ignore, 1=ignore)"); +  static int ahci_enable_alpm(struct ata_port *ap,  		enum link_pm policy);  static void ahci_disable_alpm(struct ata_port *ap); @@ -2692,8 +2697,10 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)  	host->iomap = pcim_iomap_table(pdev);  	host->private_data = hpriv; -	if (!(hpriv->cap & HOST_CAP_SSS)) +	if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss)  		host->flags |= ATA_HOST_PARALLEL_SCAN; +	else +		printk(KERN_INFO "ahci: SSS flag set, parallel bus scan disabled\n");  	if (pi.flags & ATA_FLAG_EM)  		ahci_reset_em(host);  |