On Thu, 11 Apr 2019 16:15:02 +0200 (CEST) Sebastian Ott <sebott@xxxxxxxxxxxxx> wrote: > On Fri, 5 Apr 2019, Halil Pasic wrote: > > @@ -1593,20 +1609,29 @@ struct ccw_device * __init ccw_device_create_console(struct ccw_driver *drv) > > return ERR_CAST(sch); > > > > io_priv = kzalloc(sizeof(*io_priv), GFP_KERNEL | GFP_DMA); > > - if (!io_priv) { > > - put_device(&sch->dev); > > - return ERR_PTR(-ENOMEM); > > - } > > + if (!io_priv) > > + goto err_priv; > > + io_priv->dma_area = cio_dma_zalloc(sizeof(*io_priv->dma_area)); > > This is called very early - the dma pool is not yet initialized. > Hm, I will have to have better look into this. I kind of assumed we can't/don't create any ccw_device instances before we have a channel_subsystem, as naive as I am. Thank you very much for spotting this! Looking forward to more review ;) Regards, Halil