[scsi] Cope with targets that send multiple CHECK CONDITIONS at power-on
authorMichael Brown <mcb30@etherboot.org>
Fri, 30 Jan 2009 13:32:53 +0000 (13:32 +0000)
committerMichael Brown <mcb30@etherboot.org>
Fri, 30 Jan 2009 13:32:53 +0000 (13:32 +0000)
commitb111bdfb000b22a41961ae9d3d2920a9c43d84f8
treeeac14eac2f1201e4a1874fede5c0efebf014801e
parent52c596bafb6b8367010db190efca386c03b4c04c
[scsi] Cope with targets that send multiple CHECK CONDITIONS at power-on

Some targets send a spurious CHECK CONDITION message in response to
the first SCSI command.  We issue (and ignore the status of) an
arbitary harmless SCSI command (a READ CAPACITY (10)) in order to draw
out this response.

The Solaris Comstar target seems to send more than one spurious CHECK
CONDITION response.  Attempt up to SCSI_MAX_DUMMY_READ_CAP dummy READ
CAPACITY (10) commands before assuming that error responses are
meaningful.

Problem reported by Kristof Van Doorsselaere <kvandoor@aserver.com>
and Shiva Shankar <802.11e@gmail.com>.
src/drivers/block/scsi.c