struct iscsi_task *task;
struct scsi_cmnd *sc;
int rc = 0;
+ int cpu;
spin_lock(&session->lock);
task = iscsi_itt_to_task(bnx2i_conn->cls_conn->dd_data,
sc = task->sc;
spin_unlock(&session->lock);
- p = &per_cpu(bnx2i_percpu, sc->request->cpu);
+ if (!blk_rq_cpu_valid(sc->request))
+ cpu = smp_processor_id();
+ else
+ cpu = sc->request->cpu;
+
+ p = &per_cpu(bnx2i_percpu, cpu);
spin_lock(&p->p_work_lock);
if (unlikely(!p->iothread)) {
rc = -EINVAL;