On Fri, 2009-05-08 at 14:16 +0800, Ying Chu wrote: > >From 58f754f51fced4a39adcf708319e3de946a0d61a Mon Sep 17 00:00:00 2001 > From: Andy <ayan@xxxxxxxxxxx> > Date: Mon, 4 May 2009 23:31:43 +0800 > Subject: [PATCH 2/4] bug fix: deal lock > > TMF task need be issued with Interrupt Disabled, or Deadlock may take place. > > Signed-off-by: Ying Chu <jasonchu@xxxxxxxxxxx> > Signed-off-by: Andy Yan <ayan@xxxxxxxxxxx> > Signed-off-by: Ke Wei <kewei@xxxxxxxxxxx> > --- > drivers/scsi/mvsas/mv_sas.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/scsi/mvsas/mv_sas.c b/drivers/scsi/mvsas/mv_sas.c > index 318ec01..cb002ef 100644 > --- a/drivers/scsi/mvsas/mv_sas.c > +++ b/drivers/scsi/mvsas/mv_sas.c > @@ -1446,7 +1446,7 @@ static int mvs_exec_internal_tmf_task(struct domain_device *dev, > task->timer.expires = jiffies + MVS_TASK_TIMEOUT*HZ; > add_timer(&task->timer); > > - res = mvs_task_exec(task, 1, GFP_KERNEL, NULL, 0, 1, tmf); > + res = mvs_task_exec(task, 1, GFP_KERNEL, NULL, 1, 1, tmf); That eliminates the last user of the unlocked case. Can't we just drop the conditional lock from mvs_task_exec() now instead? It will make the code much cleaner. James -- 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