udelay is required on Sun Ultra 5. I don't know any reason or explanation for this, it was found purely experimentally. Signed-off-by: Mikulas Patocka --- drivers/scsi/a100u2w.c | 1 + 1 file changed, 1 insertion(+) Index: linux-2.6.26-rc8/drivers/scsi/a100u2w.c =================================================================== --- linux-2.6.26-rc8.orig/drivers/scsi/a100u2w.c 2008-07-01 18:48:09.000000000 +0200 +++ linux-2.6.26-rc8/drivers/scsi/a100u2w.c 2008-07-01 18:48:11.000000000 +0200 @@ -401,6 +401,7 @@ static u8 orc_load_firmware(struct orc_h /* Copy the code from the BIOS to the SRAM */ + udelay(500); /* Required on Sun Ultra 5 ... 350 -> failures */ bios_addr = (u16) le32_to_cpu(data32); /* FW code locate at BIOS address + ? */ for (i = 0, data32_ptr = (u8 *) & data32; /* Download the code */ i < 0x1000; /* Firmware code size = 4K */