aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/3w-9xxx.c
diff options
context:
space:
mode:
authorBhanu Gollapudi <bprakash@broadcom.com>2011-03-21 18:51:13 -0700
committerJames Bottomley <James.Bottomley@suse.de>2011-03-23 12:53:06 -0500
commitfee787129d4d6a5e967a69ea3dea3e38ba556b3d (patch)
treeaa81010d8a41fe15eebbca19e7d0e9d970860129 /drivers/scsi/3w-9xxx.c
parent[SCSI] qla4xxx: Update driver version to 5.02.00-k6 (diff)
downloadlinux-dev-fee787129d4d6a5e967a69ea3dea3e38ba556b3d.tar.xz
linux-dev-fee787129d4d6a5e967a69ea3dea3e38ba556b3d.zip
[SCSI] bnx2fc: IO completion not processed due to missed wakeup
Driver does not detect a new CQE (completion queue entry) if a thread receives the wakup when it is in TASK_RUNNING state. Fix is to set the state to TASK_INTERRUPTIBLE while holding the fp_work_lock. Also, Use __set_current_task() since it is now set inside a spinlock with synchronization. Two other related optimizations: 1. After we exit the while (!kthread_should_stop()) loop, use __set_current_state() since synchronization is no longer needed. 2. Remove set_current_state(TASK_RUNNING) after schedule() since it should always be TASK_RUNNING after schedule(). Reviewed-by: Michael Chan <mchan@broadcom.com> Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/3w-9xxx.c')
0 files changed, 0 insertions, 0 deletions