[S390] cio: make sense id procedure work with partial hardware response
authorPeter Oberparleiter <peter.oberparleiter@de.ibm.com>
Tue, 5 Feb 2008 15:50:33 +0000 (16:50 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 5 Feb 2008 15:50:52 +0000 (16:50 +0100)
commit6f52ac29712f3eec192599249b12612360948646
tree969f70f233860c35f676d7c457dd28a39a8dde1b
parent9ef9dc69d4167276c04590d67ee55de8380bc1ad
[S390] cio: make sense id procedure work with partial hardware response

In some cases the current sense id procedure trips over incomplete
hardware responses. In these cases, checking against the preset value
of 0xFFFF is not enough. More critically, the VM DIAG call will always be
considered to have provided data after such an incident, even if it was not
successful at all.

The solution is to always initialize the control unit data before doing a
sense id call. Check the condition code before considering the control unit
data. And initialize again, before evaluating the VM data.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/device_id.c