Currently, hotplug doesn't work if port is already runtime suspended.
For now, we simply disable runtime pm for hotpluggable port.
Later, we should add runtime pm support for hotpluggable port too.
https://lkml.org/lkml/2012/2/19/70
TODO: add similar hotpluggable port check for controllers other than AHCI.
Reported-and-tested-by: Jiri Slaby<jslaby@xxxxxxx>[...]
Reported-and-tested-by: cwillu@xxxxxxxxxx
Reported-and-tested-by: jackdachef@xxxxxxxxx
Signed-off-by: Lin Ming<ming.m.lin@xxxxxxxxx>
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 3085bdc..ccf0282 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -209,8 +209,10 @@ enum {
ATA_FLAG_SW_ACTIVITY = (1<< 22), /* driver supports sw activity
* led */
ATA_FLAG_NO_DIPM = (1<< 23), /* host not happy with DIPM */
+ ATA_FLAG_EXTERNAL = (1<< 24), /* controller supports external SATA */
+ ATA_FLAG_PLUGGABLE = (1<< 25), /* port is hotpluggable */
- /* bits 24:31 of ap->flags are reserved for LLD specific flags */
+ /* bits 26:31 of ap->flags are reserved for LLD specific flags */