lsi: check if SIGP bit is already set in Wait reselect
If SIGP is set, the 'Wait for Reselection' command should jump immediately to the address stored in the second DWORD of the instruction. This fixes spurious hangs in the HP-UX 11.11 installer when the SIGP bit gets set by the kernel before the 'Wait for Reselection' command is executed by SCRIPTS. Signed-off-by: Sven Schnelle <svens@stackframe.org> Tested-by: Helge Deller <deller@gmx.de> Message-Id: <20190217113717.7077-1-svens@stackframe.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
12dd89f700
commit
2265e98b72
@ -1297,8 +1297,10 @@ again:
|
||||
}
|
||||
break;
|
||||
case 2: /* Wait Reselect */
|
||||
if (!lsi_irq_on_rsl(s)) {
|
||||
lsi_wait_reselect(s);
|
||||
if (s->istat0 & LSI_ISTAT0_SIGP) {
|
||||
s->dsp = s->dnad;
|
||||
} else if (!lsi_irq_on_rsl(s)) {
|
||||
lsi_wait_reselect(s);
|
||||
}
|
||||
break;
|
||||
case 3: /* Set */
|
||||
|
Loading…
Reference in New Issue
Block a user