]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sparc: fix intermittent LDom hang waiting for vdc_port_up
authorThomas Tai <thomas.tai@oracle.com>
Tue, 17 Jan 2017 19:43:32 +0000 (11:43 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 9 Mar 2017 03:30:10 +0000 (19:30 -0800)
commit3d910550ba0e428cd338c37c9785c66406f1be28
tree8561042485d4309ffeea4ed3e6c58ce5a16595e3
parentb96a3766a473d0ed72ac544830600ccb827961f6
sparc: fix intermittent LDom hang waiting for vdc_port_up

When an LDom boots, sunvdc probes the disk using the LDC channel.
If the channel was previously configured, we need to wait for
the channel state to change from UP to RESETTING so that the
seqid is properly reset in the primary. Otherwise the primary
will expect that the ldc packet contains a seqid other than 0.

Also disable ldc hypervisor interrupt before calling vio_port_up,
because interrupts can happen once ldc_bind is called. disabling the
interrupt ensures everything is configured before getting an interrupt
request.

orabug: 25409637

Signed-off-by: Thomas Tai <thomas.tai@oracle.com>
Reviewed-By: Liam Merwick <Liam.Merwick@oracle.com>
Signed-off-by: Allen Pais <allen.pais@oracle.com>
arch/sparc/kernel/ldc.c
drivers/block/sunvdc.c