diff options
author | Pranay Kr. Srivastava <pranjas@gmail.com> | 2017-03-24 11:37:11 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-27 14:51:32 +0300 |
commit | b1b2b3ca78757c3162d1dde283117c778133a276 (patch) | |
tree | 7cb55cab174bd3db4d0fd0a7b6e00a96fdc97577 /drivers/staging/speakup | |
parent | a15505e69cd2f8d0ebf566cd5c5838bd5c2d56e3 (diff) | |
download | linux-b1b2b3ca78757c3162d1dde283117c778133a276.tar.xz |
staging: speakup: use speakup_allocate as per required context
speakup_allocate used GFP_ATOMIC for allocations
even while during initialization due to it's use
in notifier call.
Pass GFP_ flags as well to speakup_allocate depending
on the context it is called in.
Signed-off-by: Pranay Kr. Srivastava <pranjas@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/speakup')
-rw-r--r-- | drivers/staging/speakup/main.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c index 2db3f067dd23..b811c869cd67 100644 --- a/drivers/staging/speakup/main.c +++ b/drivers/staging/speakup/main.c @@ -1341,14 +1341,14 @@ static int edit_bits(struct vc_data *vc, u_char type, u_char ch, u_short key) } /* Allocation concurrency is protected by the console semaphore */ -static int speakup_allocate(struct vc_data *vc) +static int speakup_allocate(struct vc_data *vc, gfp_t gfp_flags) { int vc_num; vc_num = vc->vc_num; if (speakup_console[vc_num] == NULL) { speakup_console[vc_num] = kzalloc(sizeof(*speakup_console[0]), - GFP_ATOMIC); + gfp_flags); if (!speakup_console[vc_num]) return -ENOMEM; speakup_date(vc); @@ -2277,7 +2277,7 @@ static int vt_notifier_call(struct notifier_block *nb, switch (code) { case VT_ALLOCATE: if (vc->vc_mode == KD_TEXT) - speakup_allocate(vc); + speakup_allocate(vc, GFP_ATOMIC); break; case VT_DEALLOCATE: speakup_deallocate(vc); @@ -2362,7 +2362,7 @@ static int __init speakup_init(void) for (i = 0; i < MAX_NR_CONSOLES; i++) if (vc_cons[i].d) { - err = speakup_allocate(vc_cons[i].d); + err = speakup_allocate(vc_cons[i].d, GFP_KERNEL); if (err) goto error_kobjects; } |