diff options
author | Cornelia Huck <cohuck@de.ibm.com> | 2005-07-27 14:45:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-27 19:26:05 -0400 |
commit | c63307f164a79e0ff6dd2da33436c59b3d3396cd (patch) | |
tree | af500819ac91248ddb72c105cf500cfb7499776b | |
parent | 1d3ac7aadbccd8456fdca09394ddb570b95fe7dc (diff) |
[PATCH] s390: resource accessibility event handling
When processing resource accessibility events, continue searching for further
affected subchannels if a link address is provided in the event information.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/s390/cio/chsc.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index b86f94ecd874..fa3c23b80e3a 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * drivers/s390/cio/chsc.c | 2 | * drivers/s390/cio/chsc.c |
3 | * S/390 common I/O routines -- channel subsystem call | 3 | * S/390 common I/O routines -- channel subsystem call |
4 | * $Revision: 1.119 $ | 4 | * $Revision: 1.120 $ |
5 | * | 5 | * |
6 | * Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH, | 6 | * Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH, |
7 | * IBM Corporation | 7 | * IBM Corporation |
@@ -412,11 +412,7 @@ s390_process_res_acc (u8 chpid, __u16 fla, u32 fla_mask) | |||
412 | if (chp_mask == 0) { | 412 | if (chp_mask == 0) { |
413 | 413 | ||
414 | spin_unlock_irq(&sch->lock); | 414 | spin_unlock_irq(&sch->lock); |
415 | 415 | continue; | |
416 | if (fla_mask != 0) | ||
417 | break; | ||
418 | else | ||
419 | continue; | ||
420 | } | 416 | } |
421 | old_lpm = sch->lpm; | 417 | old_lpm = sch->lpm; |
422 | sch->lpm = ((sch->schib.pmcw.pim & | 418 | sch->lpm = ((sch->schib.pmcw.pim & |
@@ -430,7 +426,7 @@ s390_process_res_acc (u8 chpid, __u16 fla, u32 fla_mask) | |||
430 | 426 | ||
431 | spin_unlock_irq(&sch->lock); | 427 | spin_unlock_irq(&sch->lock); |
432 | put_device(&sch->dev); | 428 | put_device(&sch->dev); |
433 | if (fla_mask != 0) | 429 | if (fla_mask == 0xffff) |
434 | break; | 430 | break; |
435 | } | 431 | } |
436 | return rc; | 432 | return rc; |