Hi, Jeff When reading ahci_port_start(), I found the following code segments: ....... if (hpriv->cap & HOST_CAP_64) writel((pp->cmd_slot_dma >> 16) >> 16, port_mmio + PORT_LST_ADDR_HI); writel(pp->cmd_slot_dma & 0xffffffff, port_mmio + PORT_LST_ADDR); readl(port_mmio + PORT_LST_ADDR); /* flush */ ...... I can't figure out why you use ">>16>>16" instead of ">>32" for right-shift 32 bits. Would you please give me some hint? Thanks, Forrest - : 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