Commit 78dbe706 authored by David Woodhouse's avatar David Woodhouse Committed by Linus Torvalds

[PATCH] R3964: fix GFP_KERNEL allocations in timer function

In the error case, add_msg() gets called from timer functions, so should
be using GFP_ATOMIC instead of GFP_KERNEL.

Ref: http://bugzilla.kernel.org/show_bug.cgi?id=6659.  Thanks to Christian
Werner <chw@ch-werner.de> for reporting, and for the initial fix.
Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent c836043e
...@@ -951,7 +951,8 @@ static void add_msg(struct r3964_client_info *pClient, int msg_id, int arg, ...@@ -951,7 +951,8 @@ static void add_msg(struct r3964_client_info *pClient, int msg_id, int arg,
{ {
queue_the_message: queue_the_message:
pMsg = kmalloc(sizeof(struct r3964_message), GFP_KERNEL); pMsg = kmalloc(sizeof(struct r3964_message),
error_code?GFP_ATOMIC:GFP_KERNEL);
TRACE_M("add_msg - kmalloc %p",pMsg); TRACE_M("add_msg - kmalloc %p",pMsg);
if(pMsg==NULL) { if(pMsg==NULL) {
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment