diff options
Diffstat (limited to 'drivers/scsi/libsas/sas_expander.c')
| -rw-r--r-- | drivers/scsi/libsas/sas_expander.c | 24 | 
1 files changed, 2 insertions, 22 deletions
diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c index 6abce9dfc17b..260e735d06fa 100644 --- a/drivers/scsi/libsas/sas_expander.c +++ b/drivers/scsi/libsas/sas_expander.c @@ -28,26 +28,6 @@ static int sas_disable_routing(struct domain_device *dev,  u8 *sas_addr);  /* ---------- SMP task management ---------- */ -static void smp_task_timedout(struct timer_list *t) -{ -	struct sas_task_slow *slow = from_timer(slow, t, timer); -	struct sas_task *task = slow->task; -	unsigned long flags; - -	spin_lock_irqsave(&task->task_state_lock, flags); -	if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) { -		task->task_state_flags |= SAS_TASK_STATE_ABORTED; -		complete(&task->slow_task->completion); -	} -	spin_unlock_irqrestore(&task->task_state_lock, flags); -} - -static void smp_task_done(struct sas_task *task) -{ -	del_timer(&task->slow_task->timer); -	complete(&task->slow_task->completion); -} -  /* Give it some long enough timeout. In seconds. */  #define SMP_TIMEOUT 10 @@ -78,9 +58,9 @@ static int smp_execute_task_sg(struct domain_device *dev,  		task->smp_task.smp_req = *req;  		task->smp_task.smp_resp = *resp; -		task->task_done = smp_task_done; +		task->task_done = sas_task_internal_done; -		task->slow_task->timer.function = smp_task_timedout; +		task->slow_task->timer.function = sas_task_internal_timedout;  		task->slow_task->timer.expires = jiffies + SMP_TIMEOUT*HZ;  		add_timer(&task->slow_task->timer);  | 
