On Wed, 8 May 2019 11:22:07 +0200 Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote: > The TEST command is used to retrieve the status of the I/O-device > __path__ and do not go up to the device. > I did not find clearly that it does not start a data transfer but I > really do not think it does. > May be we should ask people from hardware. > I only found that test I/O (a specific test command) do not initiate an > operation. FWIW, I'm not sure about what we should do with the test command in any case. Currently, I see it defined as a proper command in the rather ancient "Common I/O Device Commands" (I don't know of any newer public version), which states that it retrieves the status on the parallel interface _only_ (and generates a command reject on the serial interface). IIRC, the parallel interface has been phased out quite some time ago. The current PoP, in contrast, defines this as an _invalid_ command (generating a channel program check). So, while the test command originally was designed to never initiate a data transfer, we now have an invalid command in its place, and we don't know if something else might change in the future (for transfer mode, a test-like command is already defined in the PoP). So, the safest course would probably be to handle the ->cda portion and send the command down. We'll get a check condition on current hardware, but it should be safe if something changes in the future. Of course, asking some hardware folks is not a bad idea, either :)