Commit 32248763 authored by Bhanu Prakash Gollapudi's avatar Bhanu Prakash Gollapudi Committed by James Bottomley

[SCSI] bnx2fc: Bug fixes in percpu_thread_create/destroy

Look up p->work_list to process cq completions, and correct the error check for
thread creation.
Signed-off-by: default avatarBhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 627e628f
...@@ -2122,7 +2122,7 @@ static void bnx2fc_percpu_thread_create(unsigned int cpu) ...@@ -2122,7 +2122,7 @@ static void bnx2fc_percpu_thread_create(unsigned int cpu)
(void *)p, (void *)p,
"bnx2fc_thread/%d", cpu); "bnx2fc_thread/%d", cpu);
/* bind thread to the cpu */ /* bind thread to the cpu */
if (likely(!IS_ERR(p->iothread))) { if (likely(!IS_ERR(thread))) {
kthread_bind(thread, cpu); kthread_bind(thread, cpu);
p->iothread = thread; p->iothread = thread;
wake_up_process(thread); wake_up_process(thread);
...@@ -2134,7 +2134,6 @@ static void bnx2fc_percpu_thread_destroy(unsigned int cpu) ...@@ -2134,7 +2134,6 @@ static void bnx2fc_percpu_thread_destroy(unsigned int cpu)
struct bnx2fc_percpu_s *p; struct bnx2fc_percpu_s *p;
struct task_struct *thread; struct task_struct *thread;
struct bnx2fc_work *work, *tmp; struct bnx2fc_work *work, *tmp;
LIST_HEAD(work_list);
BNX2FC_MISC_DBG("destroying io thread for CPU %d\n", cpu); BNX2FC_MISC_DBG("destroying io thread for CPU %d\n", cpu);
...@@ -2146,7 +2145,7 @@ static void bnx2fc_percpu_thread_destroy(unsigned int cpu) ...@@ -2146,7 +2145,7 @@ static void bnx2fc_percpu_thread_destroy(unsigned int cpu)
/* Free all work in the list */ /* Free all work in the list */
list_for_each_entry_safe(work, tmp, &work_list, list) { list_for_each_entry_safe(work, tmp, &p->work_list, list) {
list_del_init(&work->list); list_del_init(&work->list);
bnx2fc_process_cq_compl(work->tgt, work->wqe); bnx2fc_process_cq_compl(work->tgt, work->wqe);
kfree(work); kfree(work);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment