I'm working on cleaning up quirk entries in scsi_da.c, especially ones
related to READ/WRITE 6->10 escalation. For those just joining in, there
is a function (cmd6workaround) that handles a R/W6 error by translating
the cdb to 10 bytes and restarting it. It also increases the command size
that will be used to 10 so future R/W requests automatically work. This
is obviously preferable to entering quirk entries for every USB
device. This function has been tested for a while but it's still possible
some equipment won't correctly handle the workaround.
I am preparing to add a kernel option (DISABLE_CDB6_QUIRKS) that will
default to off. It will disable the use of DA_Q_NO_6_BYTE to allow
cmd6workaround to do its stuff. Users of equipment listed in the quirk
table would be solicited to enable this kernel option and try their
equipment again. If problems are found in the workaround code, I will
attempt to fix them. If things work, that quirk can be removed.
If you have alternative suggestions, let me know. NO_SYNC_CACHE will be
next on my list.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message