diff mbox

[6/7] lsi53c895a: Use alternative address when already reselected

Message ID 20091119100712.16666.12700.stgit@mchn012c.ww002.siemens.net
State New
Headers show

Commit Message

Jan Kiszka Nov. 19, 2009, 10:07 a.m. UTC
From: Laszlo Ast <laszlo.ast@siemens-enterprise.com>

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>
---

 hw/lsi53c895a.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c
index 4c638be..480fbca 100644
--- a/hw/lsi53c895a.c
+++ b/hw/lsi53c895a.c
@@ -1038,8 +1038,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;