|
@@ -1218,8 +1218,7 @@ static s32 adpt_i2o_post_this(adpt_hba* pHba, u32* data, int len)
|
|
printk(KERN_WARNING"dpti%d: Timeout waiting for message frame!\n", pHba->unit);
|
|
printk(KERN_WARNING"dpti%d: Timeout waiting for message frame!\n", pHba->unit);
|
|
return -ETIMEDOUT;
|
|
return -ETIMEDOUT;
|
|
}
|
|
}
|
|
- set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(1);
|
|
|
|
|
|
+ schedule_timeout_uninterruptible(1);
|
|
} while(m == EMPTY_QUEUE);
|
|
} while(m == EMPTY_QUEUE);
|
|
|
|
|
|
msg = pHba->msg_addr_virt + m;
|
|
msg = pHba->msg_addr_virt + m;
|
|
@@ -1294,8 +1293,7 @@ static s32 adpt_i2o_reset_hba(adpt_hba* pHba)
|
|
printk(KERN_WARNING"Timeout waiting for message!\n");
|
|
printk(KERN_WARNING"Timeout waiting for message!\n");
|
|
return -ETIMEDOUT;
|
|
return -ETIMEDOUT;
|
|
}
|
|
}
|
|
- set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(1);
|
|
|
|
|
|
+ schedule_timeout_uninterruptible(1);
|
|
} while (m == EMPTY_QUEUE);
|
|
} while (m == EMPTY_QUEUE);
|
|
|
|
|
|
status = (u8*)kmalloc(4, GFP_KERNEL|ADDR32);
|
|
status = (u8*)kmalloc(4, GFP_KERNEL|ADDR32);
|
|
@@ -1327,8 +1325,7 @@ static s32 adpt_i2o_reset_hba(adpt_hba* pHba)
|
|
return -ETIMEDOUT;
|
|
return -ETIMEDOUT;
|
|
}
|
|
}
|
|
rmb();
|
|
rmb();
|
|
- set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(1);
|
|
|
|
|
|
+ schedule_timeout_uninterruptible(1);
|
|
}
|
|
}
|
|
|
|
|
|
if(*status == 0x01 /*I2O_EXEC_IOP_RESET_IN_PROGRESS*/) {
|
|
if(*status == 0x01 /*I2O_EXEC_IOP_RESET_IN_PROGRESS*/) {
|
|
@@ -1345,8 +1342,7 @@ static s32 adpt_i2o_reset_hba(adpt_hba* pHba)
|
|
printk(KERN_ERR "%s:Timeout waiting for IOP Reset.\n",pHba->name);
|
|
printk(KERN_ERR "%s:Timeout waiting for IOP Reset.\n",pHba->name);
|
|
return -ETIMEDOUT;
|
|
return -ETIMEDOUT;
|
|
}
|
|
}
|
|
- set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(1);
|
|
|
|
|
|
+ schedule_timeout_uninterruptible(1);
|
|
} while (m == EMPTY_QUEUE);
|
|
} while (m == EMPTY_QUEUE);
|
|
// Flush the offset
|
|
// Flush the offset
|
|
adpt_send_nop(pHba, m);
|
|
adpt_send_nop(pHba, m);
|
|
@@ -1917,11 +1913,8 @@ static int adpt_ioctl(struct inode *inode, struct file *file, uint cmd,
|
|
return -ENXIO;
|
|
return -ENXIO;
|
|
}
|
|
}
|
|
|
|
|
|
- while((volatile u32) pHba->state & DPTI_STATE_RESET ) {
|
|
|
|
- set_task_state(current,TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(2);
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
+ while((volatile u32) pHba->state & DPTI_STATE_RESET )
|
|
|
|
+ schedule_timeout_uninterruptible(2);
|
|
|
|
|
|
switch (cmd) {
|
|
switch (cmd) {
|
|
// TODO: handle 3 cases
|
|
// TODO: handle 3 cases
|
|
@@ -2635,8 +2628,7 @@ static s32 adpt_send_nop(adpt_hba*pHba,u32 m)
|
|
printk(KERN_ERR "%s: Timeout waiting for message frame!\n",pHba->name);
|
|
printk(KERN_ERR "%s: Timeout waiting for message frame!\n",pHba->name);
|
|
return 2;
|
|
return 2;
|
|
}
|
|
}
|
|
- set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(1);
|
|
|
|
|
|
+ schedule_timeout_uninterruptible(1);
|
|
}
|
|
}
|
|
msg = (u32 __iomem *)(pHba->msg_addr_virt + m);
|
|
msg = (u32 __iomem *)(pHba->msg_addr_virt + m);
|
|
writel( THREE_WORD_MSG_SIZE | SGL_OFFSET_0,&msg[0]);
|
|
writel( THREE_WORD_MSG_SIZE | SGL_OFFSET_0,&msg[0]);
|
|
@@ -2670,8 +2662,7 @@ static s32 adpt_i2o_init_outbound_q(adpt_hba* pHba)
|
|
printk(KERN_WARNING"%s: Timeout waiting for message frame\n",pHba->name);
|
|
printk(KERN_WARNING"%s: Timeout waiting for message frame\n",pHba->name);
|
|
return -ETIMEDOUT;
|
|
return -ETIMEDOUT;
|
|
}
|
|
}
|
|
- set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(1);
|
|
|
|
|
|
+ schedule_timeout_uninterruptible(1);
|
|
} while(m == EMPTY_QUEUE);
|
|
} while(m == EMPTY_QUEUE);
|
|
|
|
|
|
msg=(u32 __iomem *)(pHba->msg_addr_virt+m);
|
|
msg=(u32 __iomem *)(pHba->msg_addr_virt+m);
|
|
@@ -2709,8 +2700,7 @@ static s32 adpt_i2o_init_outbound_q(adpt_hba* pHba)
|
|
printk(KERN_WARNING"%s: Timeout Initializing\n",pHba->name);
|
|
printk(KERN_WARNING"%s: Timeout Initializing\n",pHba->name);
|
|
return -ETIMEDOUT;
|
|
return -ETIMEDOUT;
|
|
}
|
|
}
|
|
- set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(1);
|
|
|
|
|
|
+ schedule_timeout_uninterruptible(1);
|
|
} while (1);
|
|
} while (1);
|
|
|
|
|
|
// If the command was successful, fill the fifo with our reply
|
|
// If the command was successful, fill the fifo with our reply
|
|
@@ -2788,8 +2778,7 @@ static s32 adpt_i2o_status_get(adpt_hba* pHba)
|
|
pHba->name);
|
|
pHba->name);
|
|
return -ETIMEDOUT;
|
|
return -ETIMEDOUT;
|
|
}
|
|
}
|
|
- set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(1);
|
|
|
|
|
|
+ schedule_timeout_uninterruptible(1);
|
|
} while(m==EMPTY_QUEUE);
|
|
} while(m==EMPTY_QUEUE);
|
|
|
|
|
|
|
|
|
|
@@ -2816,8 +2805,7 @@ static s32 adpt_i2o_status_get(adpt_hba* pHba)
|
|
return -ETIMEDOUT;
|
|
return -ETIMEDOUT;
|
|
}
|
|
}
|
|
rmb();
|
|
rmb();
|
|
- set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
|
- schedule_timeout(1);
|
|
|
|
|
|
+ schedule_timeout_uninterruptible(1);
|
|
}
|
|
}
|
|
|
|
|
|
// Set up our number of outbound and inbound messages
|
|
// Set up our number of outbound and inbound messages
|