Tejun Heo wrote: ..
scsi1 : ata_piix ata2.00: failed to IDENTIFY (I/O error, err_mask=0x1)
..
The err_mask is AC_ERR_DEV indicating that the device raised aborted the IDENTIFY command. I wonder what's going on. Can you change "#undef ATA_DEBUG" in include/linux/libata.h to "#define ATA_DEBUG" and report the resulting dmesg? There will be a LOT of messages so you probably want to increase printk buffer size and detach other devices if possible. It would be best if your root device isn't driven by libata so that you can just insert the module and store the resulting dmesg.
If the command really was "IDENTIFY", then of course it failed. This is an ATAPI device, and it wants "PACKET_IDENTIFY". Maybe libata somehow thinks it's ATA rather than ATAPI? - 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