Tejun, On 01/21/2011 10:09 PM, Tejun Heo wrote: >> > As suggested by you earlier, i am doing following on card insertion and removal, >> > after resetting card through controller. >> > >> > ata_ehi_hotplugged(ehi); >> > ata_port_freeze(ap); >> > >> > and after that only i get that error message through following path: >> > Kthread()->scsi_error_handler()->ata_scsi_error()->ata_bmdma_error_handler() >> > ->ata_sff_error_handler()->ata_do_eh() > Hmmm... okay, so that's from the hotplugging. > >> > I tried again, but couldn't find why i am getting these two issues: >> > ata1: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen > Yeah, it should be possible to avoid the above if it's coming from > hotplug. Identify where and why AC_ERR_ATA_BUS is being set and work > around it. There's no reason for it to be set after a hotplug anyway. > I debugged it further, ehi->err_mask |= AC_ERR_ATA_BUS is done in ata_ehi_hotplugged(). I tried to find the place where it should be cleared in code path, but couldn't find it. Further i checked the order in which code is executed and taken dump of that: ata_ehi_hotplugged, ata_port_freeze, ata_port_abort, ata_do_link_abort, ata_port_schedule_eh, scsi_schedule_eh. And just after this following error was printed: ata1: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen I feel ata_port_schedule_eh() shouldn't have been called. It is called because there were no qc's in ata_port. -- viresh -- 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