]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sparc64: fix intermittent LDom hang waiting for vdc_port_up
authorThomas Tai <thomas.tai@oracle.com>
Thu, 6 Apr 2017 17:29:03 +0000 (10:29 -0700)
committerAllen Pais <allen.pais@oracle.com>
Mon, 15 May 2017 10:56:10 +0000 (16:26 +0530)
commitb44b9c23e5c887751509cae51cc13c7a6b9bac4b
tree2db36bfbc743e7ba27e6e0cf89f3fc508ff575ff
parent5ce64d7e77b428c34eab06b3542f5cc9c32fe7c9
sparc64: fix intermittent LDom hang waiting for vdc_port_up

When LDom boots, sunvdc probes the disk using the LDC channel.
If the channel was previously configured, we need to wait until
we have received a packet from the other end to ensure the
the LDC reset was fully completed; otherwise, the primary domain
will send out NACK when vdc tries to connect. The NACK causes
ldc_reset and flushes the receive queue which may contain the
version info. The unexpected loss of version info causes
the vdc handshake to wait forever.

This patch is to workaround the ldc_reset not handling
reconnection after receiving a NACK. This patch can be
reverted after ldc_reset is properly implemented.

orabug: 25814698

Signed-off-by: Thomas Tai <thomas.tai@oracle.com>
Reviewed-by: Tom Saeger <tom.saeger@oracle.com>
Reviewed-by: Shannon Nelson <shannon.nelson@oracle.com>
Reviewed-by: Babu Moger <babu.moger@oracle.com>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Allen Pais <allen.pais@oracle.com>
arch/sparc/kernel/ldc.c