On Wed, May 20, 2020 at 09:52:21PM +0300, Maxim Levitsky wrote: > On my machine, a kexec with this driver loaded in the old kernel > causes a very long delay on boot in the kexec'ed kernel, > most likely due to unclean shutdown prior to that. > > Unloading thunderbolt driver prior to kexec allows kexec to work as fast > as regular kernel boot, as well as adding this .shutdown pointer. > > Shutting a device prior to the shutdown completely is always > a good idea IMHO to help with kexec, > and this one-liner patch implements it. > > Signed-off-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx> > --- > drivers/thunderbolt/nhi.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c > index 1be491ecbb45..4046642e6aec 100644 > --- a/drivers/thunderbolt/nhi.c > +++ b/drivers/thunderbolt/nhi.c > @@ -1285,6 +1285,7 @@ static struct pci_driver nhi_driver = { > .id_table = nhi_ids, > .probe = nhi_probe, > .remove = nhi_remove, > + .shutdown = nhi_remove, I guess nhi_remove() does a bit more work than strictly required for .shutdown but we can deal with that later if needed. Applied to thunderbolt.git/next, thanks!