[adding linux-ide back, please don't drop it] Fajun Chen wrote:
Hi Tejun, I try to understand your eh code and still have several questions: 1. Why software is needed after hard reset under certain condition?
Because some controllers including sil24 cannot acquire device signature after hardreset.
rc = ata_do_reset(ap, reset, classes); did_followup_srst = 0; if (reset == hardreset && ata_eh_followup_srst_needed(rc, classify, classes)) { /* okay, let's do follow-up softreset */ did_followup_srst = 1; reset = softreset; ... Sometimes this part of the code costed as many as 7 secs: [ 366.400000] ata2: hard resetting port [ 366.400000] sata_phy_debounce: ENTER [ 368.490000] sata_phy_debounce: EXIT [ 368.490000] sil24_softreset: ENTER [ 375.750000] ata_dev_classify: found ATA device by sig [ 375.750000] sil24_softreset: EXIT, class=1 Is there any way to get drive going without going through this?
Well, on hotplug case, you need to detect which class of device is attached, so you need a softreset there.
2. What's the concept of port suspend and resume?
Port being suspended and resumed, I think. :-) You need ask more specifically.
-- tejun - 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