thunderbolt: Power cycle the router if NVM authentication fails
authorMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 11 Nov 2019 10:25:44 +0000 (13:25 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 19 Nov 2019 16:35:57 +0000 (17:35 +0100)
commit7a7ebfa85f4fac349f3ab219538c44efe18b0cf6
tree8c582a016334b926049757f8cd31e297896cbee4
parent64498695dd800bcb494d96b94f99356ece91ea90
thunderbolt: Power cycle the router if NVM authentication fails

On zang's Dell XPS 13 9370 after Thunderbolt NVM firmware upgrade the
Thunderbolt controller did not come back as expected. Only after the
system was rebooted it became available again. It is not entirely clear
what happened but I suspect the new NVM firmware image authentication
failed for some reason. Regardless of this the router needs to be power
cycled if NVM authentication fails in order to get it fully functional
again.

This modifies the driver to issue a power cycle in case the NVM
authentication fails immediately when dma_port_flash_update_auth()
returns. We also need to call tb_switch_set_uuid() earlier to be able to
fetch possible NVM authentication failure when DMA port is added.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=205457
Reported-by: zang <dump@tzib.net>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/thunderbolt/switch.c