aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.vnet.ibm.com>2008-07-14 03:58:53 -0400
committerHeiko Carstens <heiko.carstens@de.ibm.com>2008-07-14 04:02:08 -0400
commitae437a452ed20f9d13c1f17b0356201d54394efa (patch)
tree65623b52c160f3d1651587fcb20e8bef20a326a7 /drivers/s390/cio
parent23f626894765d4c03b72a0d21e44bc46f5ccd12b (diff)
[S390] cio: remove lock from ccw_device_oper_notify.
Remove unnecessary ccw device locking inside ccw_device_oper_notify. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio')
-rw-r--r--drivers/s390/cio/device_fsm.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c
index cd31bb5177e6..8b5fe57fb2f3 100644
--- a/drivers/s390/cio/device_fsm.c
+++ b/drivers/s390/cio/device_fsm.c
@@ -346,21 +346,15 @@ ccw_device_oper_notify(struct work_struct *work)
346 struct ccw_device_private *priv; 346 struct ccw_device_private *priv;
347 struct ccw_device *cdev; 347 struct ccw_device *cdev;
348 int ret; 348 int ret;
349 unsigned long flags;
350 349
351 priv = container_of(work, struct ccw_device_private, kick_work); 350 priv = container_of(work, struct ccw_device_private, kick_work);
352 cdev = priv->cdev; 351 cdev = priv->cdev;
353 ret = ccw_device_notify(cdev, CIO_OPER); 352 ret = ccw_device_notify(cdev, CIO_OPER);
354 spin_lock_irqsave(cdev->ccwlock, flags);
355 if (ret) { 353 if (ret) {
356 /* Reenable channel measurements, if needed. */ 354 /* Reenable channel measurements, if needed. */
357 spin_unlock_irqrestore(cdev->ccwlock, flags);
358 cmf_reenable(cdev); 355 cmf_reenable(cdev);
359 spin_lock_irqsave(cdev->ccwlock, flags);
360 wake_up(&cdev->private->wait_q); 356 wake_up(&cdev->private->wait_q);
361 } 357 } else
362 spin_unlock_irqrestore(cdev->ccwlock, flags);
363 if (!ret)
364 /* Driver doesn't want device back. */ 358 /* Driver doesn't want device back. */
365 ccw_device_do_unreg_rereg(work); 359 ccw_device_do_unreg_rereg(work);
366} 360}