Re: [PATCH 1/1] thunderbolt: add trivial .shutdown

From: Mika Westerberg
Date: Mon May 25 2020 - 04:53:31 EST


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!