lsi: Fix value overflow in request tag processing
This fixes a mismerge of 64d564094c
(wrong
patch version): We need to mask the tag value properly to obtain its
device ID.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
664a65b0db
commit
259d5577ae
|
@ -543,7 +543,7 @@ static void lsi_do_dma(LSIState *s, int out)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
id = s->current->tag >> 8;
|
id = (s->current->tag >> 8) & 0xf;
|
||||||
dev = s->bus.devs[id];
|
dev = s->bus.devs[id];
|
||||||
if (!dev) {
|
if (!dev) {
|
||||||
lsi_bad_selection(s, id);
|
lsi_bad_selection(s, id);
|
||||||
|
@ -745,7 +745,7 @@ static void lsi_do_command(LSIState *s)
|
||||||
s->sfbr = buf[0];
|
s->sfbr = buf[0];
|
||||||
s->command_complete = 0;
|
s->command_complete = 0;
|
||||||
|
|
||||||
id = s->select_tag >> 8;
|
id = (s->select_tag >> 8) & 0xf;
|
||||||
dev = s->bus.devs[id];
|
dev = s->bus.devs[id];
|
||||||
if (!dev) {
|
if (!dev) {
|
||||||
lsi_bad_selection(s, id);
|
lsi_bad_selection(s, id);
|
||||||
|
|
Reference in New Issue