Skip to contentSkip to conversation

qla2xxx: New kernel warning

DISCUSSION Bart Van Assche 2 participants 2 messages Oct 20, 2017 – Oct 26, 2017 SCSI

lore
Share & tools
lore
#0 lore raw

Hello Himanshu,

If I load the qla2xxx driver (git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git,
4.15/scsi-queue) then a new kernel warning appears. This did not happen with kernel v4.13. Can you have a look?

qla2xxx [0000:00:00.0]-0005: : QLogic Fibre Channel HBA Driver: 10.00.00.02-k. qla2xxx [0000:00:09.0]-001d: : Found an ISP2432 irq 10 iobase 0xffffc9000022d000.

BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/1040
caller is debug_smp_processor_id+0x17/0x20
CPU: 7 PID: 1040 Comm: modprobe Not tainted 4.13.0-dbg+ #2
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
Call Trace:
 dump_stack+0x86/0xcf
 check_preemption_disabled+0xe3/0xf0
 debug_smp_processor_id+0x17/0x20
 qla2x00_probe_one+0xfc8/0x28b0 [qla2xxx]
 ? trace_hardirqs_on_caller+0xf4/0x190
 ? trace_hardirqs_on+0xd/0x10
 ? _raw_spin_unlock_irqrestore+0x45/0x70
 pci_device_probe+0xca/0x140
 driver_probe_device+0x2c5/0x430
 __driver_attach+0xde/0xe0
 ? driver_probe_device+0x430/0x430
 bus_for_each_dev+0x5d/0x90
 driver_attach+0x19/0x20
 bus_add_driver+0x169/0x260
 driver_register+0x5b/0xd0
 __pci_register_driver+0x63/0x70
 qla2x00_module_init+0x1d6/0x222 [qla2xxx]
 ? 0xffffffffa0491000
 do_one_initcall+0x3e/0x16c
 ? kmem_cache_alloc+0xfa/0x160
 do_init_module+0x55/0x1eb
 load_module+0x22f5/0x2b30
 ? kernel_read+0x41/0x60
 SYSC_finit_module+0xbc/0xf0
 ? SYSC_finit_module+0xbc/0xf0
 SyS_finit_module+0x9/0x10
 entry_SYSCALL_64_fastpath+0x23/0xc2

(gdb) list *(qla2x00_probe_one+0xfc8)
0x9738 is in qla2x00_probe_one (drivers/scsi/qla2xxx/qla_os.c:400).

395             ha->base_qpair->msix = &ha->msix_entries[QLA_MSIX_RSP_Q];
396             INIT_LIST_HEAD(&ha->base_qpair->hints_list);
397             INIT_LIST_HEAD(&ha->base_qpair->nvme_done_list);
398             ha->base_qpair->enable_class_2 = ql2xenableclass2;
399             /* init qpair to this cpu. Will adjust at run time. */
400             qla_cpu_update(rsp->qpair, smp_processor_id());
401             ha->base_qpair->pdev = ha->pdev;

402
403 if (IS_QLA27XX(ha) || IS_QLA83XX(ha))
404 ha->base_qpair->reqq_start_iocbs = qla_83xx_start_iocbs;

Thanks,

Bart.

#1 lore raw

Hi Bart,

Quoted 52 lines · Bart Van Assche

Hello Himanshu,

If I load the qla2xxx driver (git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git,
4.15/scsi-queue) then a new kernel warning appears. This did not happen with kernel v4.13. Can you have a look?

qla2xxx [0000:00:00.0]-0005: : QLogic Fibre Channel HBA Driver: 10.00.00.02-k. qla2xxx [0000:00:09.0]-001d: : Found an ISP2432 irq 10 iobase 0xffffc9000022d000.

BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/1040
caller is debug_smp_processor_id+0x17/0x20
CPU: 7 PID: 1040 Comm: modprobe Not tainted 4.13.0-dbg+ #2
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
Call Trace:
dump_stack+0x86/0xcf
check_preemption_disabled+0xe3/0xf0
debug_smp_processor_id+0x17/0x20
qla2x00_probe_one+0xfc8/0x28b0 [qla2xxx]
? trace_hardirqs_on_caller+0xf4/0x190
? trace_hardirqs_on+0xd/0x10
? _raw_spin_unlock_irqrestore+0x45/0x70
pci_device_probe+0xca/0x140
driver_probe_device+0x2c5/0x430
__driver_attach+0xde/0xe0
? driver_probe_device+0x430/0x430
bus_for_each_dev+0x5d/0x90
driver_attach+0x19/0x20
bus_add_driver+0x169/0x260
driver_register+0x5b/0xd0
__pci_register_driver+0x63/0x70
qla2x00_module_init+0x1d6/0x222 [qla2xxx]
? 0xffffffffa0491000
do_one_initcall+0x3e/0x16c
? kmem_cache_alloc+0xfa/0x160
do_init_module+0x55/0x1eb
load_module+0x22f5/0x2b30
? kernel_read+0x41/0x60
SYSC_finit_module+0xbc/0xf0
? SYSC_finit_module+0xbc/0xf0
SyS_finit_module+0x9/0x10
entry_SYSCALL_64_fastpath+0x23/0xc2

(gdb) list *(qla2x00_probe_one+0xfc8)
0x9738 is in qla2x00_probe_one (drivers/scsi/qla2xxx/qla_os.c:400).

395             ha->base_qpair->msix = &ha->msix_entries[QLA_MSIX_RSP_Q];
396             INIT_LIST_HEAD(&ha->base_qpair->hints_list);
397             INIT_LIST_HEAD(&ha->base_qpair->nvme_done_list);
398             ha->base_qpair->enable_class_2 = ql2xenableclass2;
399             /* init qpair to this cpu. Will adjust at run time. */
400             qla_cpu_update(rsp->qpair, smp_processor_id());
401             ha->base_qpair->pdev = ha->pdev;
Quoted 7 lines

402
403 if (IS_QLA27XX(ha) || IS_QLA83XX(ha))
404 ha->base_qpair->reqq_start_iocbs = qla_83xx_start_iocbs;

Thanks,

Bart.

I am back at work today. I will take a look shortly.

Thanks,
- Himanshu