diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2010-10-25 16:10:28 +0200 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-10-25 16:10:18 +0200 |
commit | 34aec07c170b972a29c954b37047184bd0f9f294 (patch) | |
tree | 3fad31043f548eac6321814b3c5f55b0bb3c0a0e /drivers/s390/cio/chsc.c | |
parent | [S390] cio: add lock to struct channel_path (diff) | |
download | linux-34aec07c170b972a29c954b37047184bd0f9f294.tar.xz linux-34aec07c170b972a29c954b37047184bd0f9f294.zip |
[S390] chsc: initialization fixes
This patch fixes:
* kfree vs. free_page usage
* structure definition for determine_css_characteristics
* naming convention for the chsc init function
* deregistration of crw handlers in the cleanup path
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/chsc.c')
-rw-r--r-- | drivers/s390/cio/chsc.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index 4cbb1a6ca33c..f26cc3e16181 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c @@ -2,7 +2,7 @@ * drivers/s390/cio/chsc.c * S/390 common I/O routines -- channel subsystem call * - * Copyright IBM Corp. 1999,2008 + * Copyright IBM Corp. 1999,2010 * Author(s): Ingo Adlung (adlung@de.ibm.com) * Cornelia Huck (cornelia.huck@de.ibm.com) * Arnd Bergmann (arndb@de.ibm.com) @@ -813,7 +813,7 @@ out: return ret; } -int __init chsc_alloc_sei_area(void) +int __init chsc_init(void) { int ret; @@ -825,14 +825,14 @@ int __init chsc_alloc_sei_area(void) } ret = crw_register_handler(CRW_RSC_CSS, chsc_process_crw); if (ret) - kfree(sei_page); + free_page((unsigned long)sei_page); return ret; } -void __init chsc_free_sei_area(void) +void __init chsc_init_cleanup(void) { crw_unregister_handler(CRW_RSC_CSS); - kfree(sei_page); + free_page((unsigned long)sei_page); } int chsc_enable_facility(int operation_code) @@ -895,7 +895,7 @@ chsc_determine_css_characteristics(void) struct chsc_header response; u32 reserved4; u32 general_char[510]; - u32 chsc_char[518]; + u32 chsc_char[508]; } __attribute__ ((packed)) *scsc_area; scsc_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); |