Commit 764c2c3
scsi: qla2xxx: Use raw_smp_processor_id() instead of smp_processor_id()
[ Upstream commit 59f10a0 ]
The following call trace was observed:
localhost kernel: nvme nvme0: NVME-FC{0}: controller connect complete
localhost kernel: BUG: using smp_processor_id() in preemptible [00000000] code: kworker/u129:4/75092
localhost kernel: nvme nvme0: NVME-FC{0}: new ctrl: NQN "nqn.1992-08.com.netapp:sn.b42d198afb4d11ecad6d00a098d6abfa:subsystem.PR_Channel2022_RH84_subsystem_291"
localhost kernel: caller is qla_nvme_post_cmd+0x216/0x1380 [qla2xxx]
localhost kernel: CPU: 6 PID: 75092 Comm: kworker/u129:4 Kdump: loaded Tainted: G B W OE --------- --- 5.14.0-70.22.1.el9_0.x86_64+debug #1
localhost kernel: Hardware name: HPE ProLiant XL420 Gen10/ProLiant XL420 Gen10, BIOS U39 01/13/2022
localhost kernel: Workqueue: nvme-wq nvme_async_event_work [nvme_core]
localhost kernel: Call Trace:
localhost kernel: dump_stack_lvl+0x57/0x7d
localhost kernel: check_preemption_disabled+0xc8/0xd0
localhost kernel: qla_nvme_post_cmd+0x216/0x1380 [qla2xxx]
Use raw_smp_processor_id() instead of smp_processor_id().
Also use queue_work() across the driver instead of queue_work_on() thus
avoiding usage of smp_processor_id() when CONFIG_DEBUG_PREEMPT is enabled.
Cc: stable@vger.kernel.org
Suggested-by: John Garry <john.g.garry@oracle.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Link: https://lore.kernel.org/r/20230831112146.32595-2-njavali@marvell.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[Take into account missing commit 532a239 ("scsi: qla2xxx: Select
qpair depending on which CPU post_cmd() gets called") and drop the
change in drivers/scsi/qla2xxx/qla_inline.h.
The absense of this commit requires us to change an additional use of
smp_processor_id to raw_smp_processor_id in
qla24xx_process_response_queue.]
Signed-off-by: Maximilian Heyne <mheyne@amazon.de>1 parent bc00664 commit 764c2c3
3 files changed
Lines changed: 7 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3423 | 3423 | | |
3424 | 3424 | | |
3425 | 3425 | | |
3426 | | - | |
| 3426 | + | |
3427 | 3427 | | |
3428 | | - | |
| 3428 | + | |
3429 | 3429 | | |
3430 | 3430 | | |
3431 | 3431 | | |
| |||
3876 | 3876 | | |
3877 | 3877 | | |
3878 | 3878 | | |
3879 | | - | |
| 3879 | + | |
3880 | 3880 | | |
3881 | 3881 | | |
3882 | 3882 | | |
| |||
3902 | 3902 | | |
3903 | 3903 | | |
3904 | 3904 | | |
3905 | | - | |
| 3905 | + | |
3906 | 3906 | | |
3907 | 3907 | | |
3908 | 3908 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4385 | 4385 | | |
4386 | 4386 | | |
4387 | 4387 | | |
4388 | | - | |
4389 | | - | |
| 4388 | + | |
4390 | 4389 | | |
4391 | 4390 | | |
4392 | 4391 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
308 | | - | |
| 308 | + | |
309 | 309 | | |
310 | 310 | | |
311 | 311 | | |
| |||
543 | 543 | | |
544 | 544 | | |
545 | 545 | | |
546 | | - | |
| 546 | + | |
547 | 547 | | |
548 | 548 | | |
549 | 549 | | |
| |||
0 commit comments