Pranay Kr. Srivastava, on mar. 28 févr. 2017 13:57:55 +0530, wrote: > 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@xxxxxxxxx> Reviewed-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx> > --- > drivers/staging/speakup/main.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c > index ca817ca..ede842e 100644 > --- a/drivers/staging/speakup/main.c > +++ b/drivers/staging/speakup/main.c > @@ -1327,14 +1327,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] == NULL) > return -ENOMEM; > speakup_date(vc); > @@ -2257,7 +2257,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); > @@ -2343,7 +2343,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; > } > -- > 2.10.2 > -- Samuel (03:13:14) <j> bon (03:13:19) <j> il est tard :p (03:13:25) <g> c'est l'heure de manger (03:13:38) <j> hm j'ai mangé à 1h moi, j'ai des horaires raisonnables _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel