git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
drivers
/
s390
/
cio
/
device_id.c
diff --git
a/drivers/s390/cio/device_id.c
b/drivers/s390/cio/device_id.c
index
3236595
..
f6cb897
100644
(file)
--- a/
drivers/s390/cio/device_id.c
+++ b/
drivers/s390/cio/device_id.c
@@
-303,10
+303,10
@@
ccw_device_sense_id_irq(struct ccw_device *cdev, enum dev_event dev_event)
sch = to_subchannel(cdev->dev.parent);
irb = (struct irb *) __LC_IRB;
sch = to_subchannel(cdev->dev.parent);
irb = (struct irb *) __LC_IRB;
- /* Retry sense id
for cc=1
. */
+ /* Retry sense id
, if needed
. */
if (irb->scsw.stctl ==
(SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) {
if (irb->scsw.stctl ==
(SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) {
- if (
irb->scsw.cc == 1
) {
+ if (
(irb->scsw.cc == 1) || !irb->scsw.actl
) {
ret = __ccw_device_sense_id_start(cdev);
if (ret && ret != -EBUSY)
ccw_device_sense_id_done(cdev, ret);
ret = __ccw_device_sense_id_start(cdev);
if (ret && ret != -EBUSY)
ccw_device_sense_id_done(cdev, ret);