]> err.no Git - linux-2.6/blobdiff - drivers/s390/cio/device_fsm.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6] / drivers / s390 / cio / device_fsm.c
index cd31bb5177e639124fde18a3b160bb42529e0604..8b5fe57fb2f31ef1684d586aca9f69c9c9e4fab3 100644 (file)
@@ -346,21 +346,15 @@ ccw_device_oper_notify(struct work_struct *work)
        struct ccw_device_private *priv;
        struct ccw_device *cdev;
        int ret;
-       unsigned long flags;
 
        priv = container_of(work, struct ccw_device_private, kick_work);
        cdev = priv->cdev;
        ret = ccw_device_notify(cdev, CIO_OPER);
-       spin_lock_irqsave(cdev->ccwlock, flags);
        if (ret) {
                /* Reenable channel measurements, if needed. */
-               spin_unlock_irqrestore(cdev->ccwlock, flags);
                cmf_reenable(cdev);
-               spin_lock_irqsave(cdev->ccwlock, flags);
                wake_up(&cdev->private->wait_q);
-       }
-       spin_unlock_irqrestore(cdev->ccwlock, flags);
-       if (!ret)
+       } else
                /* Driver doesn't want device back. */
                ccw_device_do_unreg_rereg(work);
 }