Hi Tejun, > -----Original Message----- > From: Tejun Heo [mailto:tj@xxxxxxxxxx] > > > > I find that ahci_pmp_detach() will be called for each SATA port > > during the initialization, right after print: > >> ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp fbs... > > > > so will ahci_disable_fbs() be called, which leads to the trigger > > of WARN_ON(). > > Ah.. right. ahci_port_resume() does that to make sure that all PMP > bits are cleared on init. Hmmm... probably it would be better to make > ahci_disable_fbs() to just do it regardless of libata thinks whether > PMP is attached or not. After resume from STR, we shouldn't be > assuming anything about the controller state. I have added sata_pmp_attached() check for both ahci_enable_fbs() and ahci_disable_fbs(), because I believe it's necessary. if (!pp->fbs_supported || !sata_pmp_attached(ap)) return; What do you mean to make it better? How to? I do not catch your above words very much... Thanks, Shane -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html