ok, so next please consider these items:Why do these new additions not cover the same job which those calls to the same functions @out covers?For asynchronous probes like sata, the failure occurs after @out. After adding the device to port_delete_list, the port is not deleted immediately. This may cause the device to fail to create a new port because the previous port has not been deleted when the device attached again. as follow:
1. REVALIDATING DOMAIN
2. new device attached
3. ata_sas_async_probe
4. done REVALIDATING DOMAIN
5. @out, handle parent->port->sas_port_del_list
6. sata probe failed
7. add phy->port->list to parent->port->sas_port_del_list // port won't delete now
8、REVALIDATING DOMAIN
9、new device attached
10、new port create failed, as port already exits.