On Fri, Jun 02 2006, zhao, forrest wrote: > + /* > + * Disable FIS reception > + * > + * AHCI Rev 1.1 Section 10.1.2: > + * If PxCMD.FRE is set to '1', software should clear it > + * to '0' and wait at least 500 milliseconds for PxCMD.FR > + * to return '0' when read. If PxCMD.FR does not clear > + * '0' correctly, then software may attempt a port reset > + * of a full HBA reset to recover. > + */ > + tmp &= ~(PORT_CMD_FIS_RX); > + writel(tmp, port_mmio + PORT_CMD); > + > + mdelay(500); > + work = 1000; The spec states that you should wait up to 500msec for this condition to happen, not wait 500msec before looking at it! So please rework this bit, a half second potentially wasted busy loop is quite nasty. Other than that, this part looks good too. If you fix it up, I can add my signed-off to this bit as well. -- Jens Axboe - : 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