Hi, Ke Wei schrieb: > + mvs_64xx_detect_porttype(mvi, i); > + } > + if (mvi->flags & MVF_FLAG_SOC) { > + /* set select registers */ > + writel(0x0E008000, regs + 0x000); > + writel(0x59000008, regs + 0x004); > + writel(0x20, regs + 0x008); > + writel(0x20, regs + 0x00c); > + writel(0x20, regs + 0x010); > + writel(0x20, regs + 0x014); > + writel(0x20, regs + 0x018); > + writel(0x20, regs + 0x01c); > + } > + for (i = 0; i < mvi->chip->n_phy; i++) { > + /* clear phy int status */ > + tmp = mvs_read_port_irq_stat(mvi, i); > + tmp &= ~PHYEV_SIG_FIS; > + mvs_write_port_irq_stat(mvi, i, tmp); > + > + /* set phy int mask */ > + tmp = PHYEV_RDY_CH | PHYEV_BROAD_CH | PHYEV_UNASSOC_FIS | > + PHYEV_ID_DONE | PHYEV_DCDR_ERR | PHYEV_CRC_ERR | > + PHYEV_DEC_ERR; > + mvs_write_port_irq_mask(mvi, i, tmp); > + > + msleep(100); > + mvs_update_phyinfo(mvi, i, 1); I assume that this code doesn't work with my Seagate 10k6 drive ST3450856SS 0003. Looks like it still just waits for 100 ms which seems to be not sufficient for this drive (see the thread on this list regarding this drive). Is there no way to determine that port detection has finished? Bye. -- Dipl.-Inform. (FH) Reinhard Nissl mailto:rnissl@xxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html