Hi Giovanni: On Thu, Sep 16, 2021 at 03:45:41PM +0100, Giovanni Cabiddu wrote: > > +static int adf_init_device(struct adf_accel_dev *accel_dev) > +{ > + void __iomem *addr; > + u32 status; > + u32 csr; > + int ret; > + > + addr = (&GET_BARS(accel_dev)[ADF_4XXX_PMISC_BAR])->virt_addr; > + > + /* Temporarily mask PM interrupt */ > + csr = ADF_CSR_RD(addr, ADF_4XXX_ERRMSK2); > + csr |= ADF_4XXX_PM_SOU; > + ADF_CSR_WR(addr, ADF_4XXX_ERRMSK2, csr); > + > + /* Set DRV_ACTIVE bit to power up the device */ > + ADF_CSR_WR(addr, ADF_4XXX_PM_INTERRUPT, ADF_4XXX_PM_DRV_ACTIVE); > + > + /* Poll status register to make sure the device is powered up */ > + ret = read_poll_timeout(ADF_CSR_RD, status, > + status & ADF_4XXX_PM_INIT_STATE, > + ADF_4XXX_PM_POLL_DELAY_US, > + ADF_4XXX_PM_POLL_TIMEOUT_US, true, addr, > + ADF_4XXX_PM_STATUS); > + if (ret) > + dev_err(&GET_DEV(accel_dev), "Failed to power up the device\n"); > + > + return ret; > +} I just received a bug report that this printk is triggering on a warm reboot via kexec: https://issues.redhat.com/browse/RHEL-84366 [ 11.040319] vpr089-p05-15u kernel: 4xxx 0000:01:00.0: Failed to power up the device [ 11.148557] vpr089-p05-15u kernel: 4xxx 0000:01:00.0: Failed to initialize device [ 11.148702] vpr089-p05-15u kernel: 4xxx 0000:01:00.0: Resetting device qat_dev0 [ 11.148809] vpr089-p05-15u kernel: 4xxx 0000:01:00.0: probe with driver 4xxx failed with error -14 Could you please take a look at it? Thanks, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt