提交 bf471341 编写于 作者: A Andrew Morton 提交者: James Bottomley

[SCSI] revert "[SCSI] ips soft lockup during reset/initialization"

Revert 15084a4a - it caused a
scheduling-inside-spinlock bug.

Cc: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Jack Hammer <jack_hammer@adaptec.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
上级 08157cd0
...@@ -5001,7 +5001,7 @@ ips_init_copperhead(ips_ha_t * ha) ...@@ -5001,7 +5001,7 @@ ips_init_copperhead(ips_ha_t * ha)
break; break;
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
} }
if (j >= 45) if (j >= 45)
...@@ -5027,7 +5027,7 @@ ips_init_copperhead(ips_ha_t * ha) ...@@ -5027,7 +5027,7 @@ ips_init_copperhead(ips_ha_t * ha)
break; break;
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
} }
if (j >= 240) if (j >= 240)
...@@ -5045,7 +5045,7 @@ ips_init_copperhead(ips_ha_t * ha) ...@@ -5045,7 +5045,7 @@ ips_init_copperhead(ips_ha_t * ha)
break; break;
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
} }
if (i >= 240) if (i >= 240)
...@@ -5095,7 +5095,7 @@ ips_init_copperhead_memio(ips_ha_t * ha) ...@@ -5095,7 +5095,7 @@ ips_init_copperhead_memio(ips_ha_t * ha)
break; break;
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
} }
if (j >= 45) if (j >= 45)
...@@ -5121,7 +5121,7 @@ ips_init_copperhead_memio(ips_ha_t * ha) ...@@ -5121,7 +5121,7 @@ ips_init_copperhead_memio(ips_ha_t * ha)
break; break;
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
} }
if (j >= 240) if (j >= 240)
...@@ -5139,7 +5139,7 @@ ips_init_copperhead_memio(ips_ha_t * ha) ...@@ -5139,7 +5139,7 @@ ips_init_copperhead_memio(ips_ha_t * ha)
break; break;
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
} }
if (i >= 240) if (i >= 240)
...@@ -5191,7 +5191,7 @@ ips_init_morpheus(ips_ha_t * ha) ...@@ -5191,7 +5191,7 @@ ips_init_morpheus(ips_ha_t * ha)
break; break;
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
} }
if (i >= 45) { if (i >= 45) {
...@@ -5217,7 +5217,7 @@ ips_init_morpheus(ips_ha_t * ha) ...@@ -5217,7 +5217,7 @@ ips_init_morpheus(ips_ha_t * ha)
if (Post != 0x4F00) if (Post != 0x4F00)
break; break;
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
} }
if (i >= 120) { if (i >= 120) {
...@@ -5247,7 +5247,7 @@ ips_init_morpheus(ips_ha_t * ha) ...@@ -5247,7 +5247,7 @@ ips_init_morpheus(ips_ha_t * ha)
break; break;
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
} }
if (i >= 240) { if (i >= 240) {
...@@ -5307,12 +5307,12 @@ ips_reset_copperhead(ips_ha_t * ha) ...@@ -5307,12 +5307,12 @@ ips_reset_copperhead(ips_ha_t * ha)
outb(IPS_BIT_RST, ha->io_addr + IPS_REG_SCPR); outb(IPS_BIT_RST, ha->io_addr + IPS_REG_SCPR);
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
outb(0, ha->io_addr + IPS_REG_SCPR); outb(0, ha->io_addr + IPS_REG_SCPR);
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
if ((*ha->func.init) (ha)) if ((*ha->func.init) (ha))
break; break;
...@@ -5352,12 +5352,12 @@ ips_reset_copperhead_memio(ips_ha_t * ha) ...@@ -5352,12 +5352,12 @@ ips_reset_copperhead_memio(ips_ha_t * ha)
writeb(IPS_BIT_RST, ha->mem_ptr + IPS_REG_SCPR); writeb(IPS_BIT_RST, ha->mem_ptr + IPS_REG_SCPR);
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
writeb(0, ha->mem_ptr + IPS_REG_SCPR); writeb(0, ha->mem_ptr + IPS_REG_SCPR);
/* Delay for 1 Second */ /* Delay for 1 Second */
msleep(IPS_ONE_SEC); MDELAY(IPS_ONE_SEC);
if ((*ha->func.init) (ha)) if ((*ha->func.init) (ha))
break; break;
...@@ -5398,7 +5398,7 @@ ips_reset_morpheus(ips_ha_t * ha) ...@@ -5398,7 +5398,7 @@ ips_reset_morpheus(ips_ha_t * ha)
writel(0x80000000, ha->mem_ptr + IPS_REG_I960_IDR); writel(0x80000000, ha->mem_ptr + IPS_REG_I960_IDR);
/* Delay for 5 Seconds */ /* Delay for 5 Seconds */
msleep(5 * IPS_ONE_SEC); MDELAY(5 * IPS_ONE_SEC);
/* Do a PCI config read to wait for adapter */ /* Do a PCI config read to wait for adapter */
pci_read_config_byte(ha->pcidev, 4, &junk); pci_read_config_byte(ha->pcidev, 4, &junk);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册