lsi53c895a: Use alternative address when already reselected

See SCRIPTS, 3.2.17 SELECT.

Signed-off-by: Laszlo Ast <laszlo.ast@siemens-enterprise.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Laszlo Ast 2009-11-19 11:07:12 +01:00 committed by Anthony Liguori
parent 07a1bea883
commit 38f5b2b88c

View File

@ -1040,8 +1040,9 @@ again:
switch (opcode) {
case 0: /* Select */
s->sdid = id;
if (s->current_dma_len && (s->ssid & 0xf) == id) {
DPRINTF("Already reselected by target %d\n", id);
if (s->scntl1 & LSI_SCNTL1_CON) {
DPRINTF("Already reselected, jumping to alternative address\n");
s->dsp = s->dnad;
break;
}
s->sstat0 |= LSI_SSTAT0_WOA;