]> err.no Git - linux-2.6/blobdiff - drivers/s390/cio/device_ops.c
Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer...
[linux-2.6] / drivers / s390 / cio / device_ops.c
index 49b58eb0fab85fcca862383b551a89f3e466c86d..f308ad55a6d5bed173b2fc5ee71197069bd764cc 100644 (file)
@@ -193,8 +193,15 @@ int ccw_device_start_key(struct ccw_device *cdev, struct ccw1 *cpa,
                        return -EACCES;
        }
        ret = cio_start_key (sch, cpa, lpm, key);
-       if (ret == 0)
+       switch (ret) {
+       case 0:
                cdev->private->intparm = intparm;
+               break;
+       case -EACCES:
+       case -ENODEV:
+               dev_fsm_event(cdev, DEV_EVENT_VERIFY);
+               break;
+       }
        return ret;
 }
 
@@ -501,7 +508,7 @@ ccw_device_stlck(struct ccw_device *cdev)
                return -ENOMEM;
        }
        spin_lock_irqsave(sch->lock, flags);
-       ret = cio_enable_subchannel(sch, 3, (u32)(addr_t)sch);
+       ret = cio_enable_subchannel(sch, (u32)(addr_t)sch);
        if (ret)
                goto out_unlock;
        /*