Re: smartpqi: panic: malloc(M_WAITOK) with sleeping prohibited

2022-01-31 Thread Rainer Duffner



> Am 31.01.2022 um 21:13 schrieb Yuri :
> 
> Got this panic after booting GENERIC kernel:
> 



Probably best to open a PR.

It usually gets assigned to the microchip-people - I’m not sure if they are 
following the mailing-lists.








smartpqi: panic: malloc(M_WAITOK) with sleeping prohibited

2022-01-31 Thread Yuri
Got this panic after booting GENERIC kernel:

panic: malloc(M_WAITOK) with sleeping prohibited
cpuid = 3
time = 1643658859
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame
0xfe00c7b20ae0
vpanic() at vpanic+0x17f/frame 0xfe00c7b20b30
panic() at panic+0x43/frame 0xfe00c7b20b90
malloc_dbg() at malloc_dbg+0xd4/frame 0xfe00c7b20bb0
malloc_domainset() at malloc_domainset+0x36/frame 0xfe00c7b20c20
bounce_bus_dmamem_alloc() at bounce_bus_dmamem_alloc+0x5b/frame
0xfe00c7b20c50
os_dma_mem_alloc() at os_dma_mem_alloc+0xe3/frame 0xfe00c7b20c90
pqisrc_build_send_raid_request() at
pqisrc_build_send_raid_request+0x78/frame 0xfe00c7b20d30
pqisrc_write_current_time_to_host_wellness() at
pqisrc_write_current_time_to_host_wellness+0xff/frame
0xfe00c7b20df0os_wellness_periodic() at
os_wellness_periodic+0x1a/frame 0xfe00c7b20e10
softclock_call_cc() at softclock_call_cc+0x14d/frame 0xfe00c7b20ec0
softclock_thread() at softclock_thread+0xc6/frame 0xfe00c7b20ef0
fork_exit() at fork_exit+0x80/frame 0xfe00c7b20f30
fork_trampoline() at fork_trampoline+0xe/frame 0xfe00c7b20f30

The reason seems to be obvious enough, changing BUS_DMA_WAITOK to
BUS_DMA_NOWAIT in os_dma_mem_alloc() helps.