]> xenbits.xensource.com Git - seabios.git/commit
Revert "lsi-scsi: reset in case of a serious problem"
authorRoman Kagan <rkagan@virtuozzo.com>
Thu, 8 Jun 2017 09:58:08 +0000 (12:58 +0300)
committerKevin O'Connor <kevin@koconnor.net>
Mon, 12 Jun 2017 19:01:31 +0000 (15:01 -0400)
commit58953eb793b7f43f9cbb72bd7802922746235266
tree0425c92f9b356aa7da76a287ccc55b51bf5ca625
parent6345621ded7fe999084501ba9382913b079acc9c
Revert "lsi-scsi: reset in case of a serious problem"

This reverts commit 11277846e819b9eef3db5ac833a6a47f95f5ef15.

It was originally introduced to deal with the case when REPORT_LUNS
caused an error in QEMU implementation of lsi53c895a and left it in a
"confused" state making further interaction impossible.

However the remedy was worse than the disease: the reset was
controller-wide causing all luns to reset, losing all in-flight requests;
upon that all luns lit up unit_attention condition, so that any
non-informational request would fail with check_condition status.  As a
result, the lun enumeration succeeded and I saw the respective entries
in the boot menu during my testing, but the read from those luns ended
with an error and booting failed, which I didn't bother to test.

So this reverts to the original error handling behavior.  The problem
with the failing REPORT_LUNS is addressed in the preceding patch, by
making it unlikely to fail.

Reported-by: Maciej Józefczyk <maciej.jozefczyk@corp.ovh.com>
Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
src/hw/lsi-scsi.c