Il gio 6 ott 2022, 15:25 Venu Busireddy <venu.busire...@oracle.com> ha scritto:
> I do see that the Solaris driver does send the 0x1a command during > the initialization, perhaps (?) seeking the value of UA_INTLCK_CTRL. > Since QEMU currently does not support it, QEMU sends back a > key/asc/ascq=0x05/0x24/0x00 response, indicating that 0x1a is an Illegal > Request. What is your QEMU command line and what is the full CDB (apart from 0x1a)? I am assuming that the Solaris driver does not handle that > response well (I still don't have access to the source code to verify > that), confuses itself about the value of UA_INTLCK_CTRL, and hence does > not handle the response to the REPORT_LUNS command correctly. No this has nothing to do with what's happening. The most likely reason for the bug IMO is simple: the event is causing the driver to send the REPORT LUNS command, but it does so in a way that does not handle the unit attention when it is reported. Paolo Maybe the > Solaris driver assumes that QEMU will retain the unit attention condition > (UA_INTLCK_CTRL = 10b?), and will respond with a REPORTED_LUNS_CHANGED > for a subsequent command? > > Based on your confirmation that we want to handle the REPORT_LUNS command > as if UA_INTLCK_CTRL is set to 0, I will proceed with the assumption > that the Solaris driver is at fault, and will work with the Solaris > driver folks. > > In the meantime, as you suggested, I will post v4 with the bus unit > attention mechanism implemented. We still need that. > > Venu > >