Start quirks off with NOWIDE, NOSYNC and NOTAGS and remove the restrictions as the results of the INQUIRY command and the quirks table indicate.
Start quirks off with NOWIDE, NOSYNC and NOTAGS and remove the
restrictions as the results of the INQUIRY command and the quirks
table indicate.

This should (for drivers that pay attention) make for more successful
communication with devices having quirks, by using the lowest common
denominator until more information is available.

Issue a second TEST_UNIT_READY command after the INQUIRY command has
been processed to allow drivers waiting for valid quirks data to set
sync/wide/tags asap. Rework a little bit of the logic to ensure that
negotiation messages produced by the TEST_UNIT_READY command do not
get mixed up with attachment messages. This has the side benefit of
putting the negotiation messages before the device description, where
they have usually been displayed in the past.

If a driver is examining and using quirks data before the INQUIRY
command is processed, and not renegotiating after the INQUIRY command,
it may now end up with async 8 bit, non-tagged transfers. Before it
would have ended up with possibly unusable transfer parameters when
talking to a device with quirks.

ok costa@

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars