breaking commit: mmc: moxart-mmc: Use sg_miter for PIO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, Linus!
I see that commit 3ee0e7c3e67cab83ffbbe7707b43df8d41c9fe47 (mmc:
moxart-mmc: Use sg_miter for PIO) leads to "BUG: scheduling while
atomic".

Can you suggest a way to rework the code and fix this problem? I can
probably make a patch then. The waiting part of this driver needs
improvement anyway. It calls
wait_for_completion_interruptible_timeout() without checking its
return value.

[    7.018270] BUG: scheduling while atomic: kworker/0:1/9/0x00000002
[    7.026701] 2 locks held by kworker/0:1/9:
[    7.031826]  #0: c1813ba4
((wq_completion)events_freezable){+.+.}-{0:0}, at:
process_scheduled_works+0x188/0x458
[    7.044182]  #1: c4831f28
((work_completion)(&(&host->detect)->work)){+.+.}-{0:0}, at:
process_scheduled_works+0x188/0x458
[    7.057443] CPU: 0 PID: 9 Comm: kworker/0:1 Not tainted 6.8.0-rc4+ #225
[    7.064527] Hardware name: Generic DT based system
[    7.069677] Workqueue: events_freezable mmc_rescan
[    7.075121]  unwind_backtrace from show_stack+0x10/0x14
[    7.080930]  show_stack from dump_stack_lvl+0x34/0x44
[    7.086576]  dump_stack_lvl from __schedule_bug+0x64/0x84
[    7.092608]  __schedule_bug from __schedule+0x58/0x594
[    7.098320]  __schedule from schedule+0x74/0xa8
[    7.103368]  schedule from schedule_timeout+0xd4/0x108
[    7.109070]  schedule_timeout from __wait_for_common+0x94/0x120
[    7.115547]  __wait_for_common from moxart_request+0x278/0x468
[    7.121980]  moxart_request from mmc_start_request+0x94/0xa8
[    7.128213]  mmc_start_request from mmc_wait_for_req+0x60/0xa8
[    7.134590]  mmc_wait_for_req from mmc_app_send_scr+0xf8/0x150
[    7.140979]  mmc_app_send_scr from mmc_sd_setup_card+0x1c/0x420
[    7.147424]  mmc_sd_setup_card from mmc_sd_init_card+0x12c/0x4dc
[    7.153966]  mmc_sd_init_card from mmc_attach_sd+0xf0/0x16c
[    7.160057]  mmc_attach_sd from mmc_rescan+0x1e0/0x298
[    7.165739]  mmc_rescan from process_scheduled_works+0x2b0/0x458
[    7.172326]  process_scheduled_works from worker_thread+0x24c/0x2b0
[    7.179125]  worker_thread from kthread+0xd4/0xe0
[    7.184352]  kthread from ret_from_fork+0x14/0x38
[    7.189527] Exception stack(0xc4831fb0 to 0xc4831ff8)
[    7.194974] 1fa0:                                     00000000
00000000 00000000 00000000
[    7.203569] 1fc0: 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[    7.212157] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    7.244367] Segment Routing with IPv6
[    7.252512] In-situ OAM (IOAM) with IPv6
[    7.268736] NET: Registered PF_PACKET protocol family
[    8.121842] ------------[ cut here ]------------




[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux