diff --git a/[refs] b/[refs] index 2f90931f021c..057ca0b1a0d0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 23f626894765d4c03b72a0d21e44bc46f5ccd12b +refs/heads/master: ae437a452ed20f9d13c1f17b0356201d54394efa diff --git a/trunk/drivers/s390/cio/device_fsm.c b/trunk/drivers/s390/cio/device_fsm.c index cd31bb5177e6..8b5fe57fb2f3 100644 --- a/trunk/drivers/s390/cio/device_fsm.c +++ b/trunk/drivers/s390/cio/device_fsm.c @@ -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); }