Hello, I noticed that, in later version of kernel, SCSI async scan is the default way to scan host controller: void scsi_scan_host(struct Scsi_Host *shost) { struct task_struct *p; struct async_scan_data *data; if (strncmp(scsi_scan_type, "none", 4) == 0) return; data = scsi_prep_async_scan(shost); if (!data) { do_scsi_scan_host(shost); return; } p = kthread_run(do_scan_async, data, "scsi_scan_%d", shost->host_no); if (IS_ERR(p)) do_scan_async(data); } The async_scan_data is added to ensure the scan sequence of host. The scan of one host controller can start only after the completion of previous one. So the scan of hosts is serial. The old scan which scan host one by one works in the same way. So, what's the difference? What can we benefit from this desgin? Thanks -- Xie Gang -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html