OpenCloudOS-Kernel/drivers/scsi/bnx2fc
Bhanu Gollapudi fee787129d [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>
2011-03-23 12:53:06 -05:00
..
57xx_hsi_bnx2fc.h
Kconfig
Makefile
bnx2fc.h [SCSI] bnx2fc: Bump version to 1.0.1 2011-03-23 11:37:09 -05:00
bnx2fc_constants.h
bnx2fc_debug.h
bnx2fc_els.c
bnx2fc_fcoe.c [SCSI] bnx2fc: IO completion not processed due to missed wakeup 2011-03-23 12:53:06 -05:00
bnx2fc_hwi.c [SCSI] bnx2fc: Fix MTU issue by using static MTU 2011-03-23 11:37:04 -05:00
bnx2fc_io.c [SCSI] bnx2fc: common free list for cleanup commands 2011-03-23 11:37:01 -05:00
bnx2fc_tgt.c [SCSI] bnx2fc: Avoid holding cq_lock when iounmap() is called 2011-03-23 11:36:59 -05:00