diff options
author | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-15 10:22:22 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-15 10:22:22 -0800 |
commit | 701dfbe71903413d10caf2790259bccbabbedcf5 (patch) | |
tree | 6d87a6d1ad2bc4672684197aa1788890bead0d1e /drivers/s390/crypto/ap_bus.c | |
parent | d1526e2cda64d5a1de56aef50bad9e5df14245c2 (diff) | |
parent | e42734e270b9e5ada83188d73b733533ce11ee4a (diff) |
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] cio: css_register_subchannel race.
[S390] Save prefix register for dump on panic
[S390] Fix reboot hang
[S390] Fix reboot hang on LPARs
[S390] sclp_cpi module license.
[S390] zcrypt: module unload fixes.
[S390] Hipersocket multicast queue: make sure outbound handler is called
[S390] hypfs fixes
[S390] update default configuration
Diffstat (limited to 'drivers/s390/crypto/ap_bus.c')
-rw-r--r-- | drivers/s390/crypto/ap_bus.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c index ad60afe5dd11..81b5899f4010 100644 --- a/drivers/s390/crypto/ap_bus.c +++ b/drivers/s390/crypto/ap_bus.c @@ -1129,7 +1129,15 @@ static void ap_poll_thread_stop(void) mutex_unlock(&ap_poll_thread_mutex); } -static void ap_reset(void) +static void ap_reset_domain(void) +{ + int i; + + for (i = 0; i < AP_DEVICES; i++) + ap_reset_queue(AP_MKQID(i, ap_domain_index)); +} + +static void ap_reset_all(void) { int i, j; @@ -1139,7 +1147,7 @@ static void ap_reset(void) } static struct reset_call ap_reset_call = { - .fn = ap_reset, + .fn = ap_reset_all, }; /** @@ -1229,10 +1237,12 @@ void ap_module_exit(void) int i; struct device *dev; + ap_reset_domain(); ap_poll_thread_stop(); del_timer_sync(&ap_config_timer); del_timer_sync(&ap_poll_timer); destroy_workqueue(ap_work_queue); + tasklet_kill(&ap_tasklet); s390_root_dev_unregister(ap_root_device); while ((dev = bus_find_device(&ap_bus_type, NULL, NULL, __ap_match_all))) |