Commit 055d624f authored by Jia-Ju Bai's avatar Jia-Ju Bai Committed by David S. Miller

isdn: hisax: config: Replace GFP_ATOMIC with GFP_KERNEL

hisax_cs_new() and hisax_cs_setup() are never called in atomic context.
They call kmalloc() and kzalloc() with GFP_ATOMIC, which is not necessary.
GFP_ATOMIC can be replaced with GFP_KERNEL.

This is found by a static analysis tool named DCNS written by myself.
Signed-off-by: default avatarJia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 87935aa7
...@@ -1029,7 +1029,7 @@ static int hisax_cs_new(int cardnr, char *id, struct IsdnCard *card, ...@@ -1029,7 +1029,7 @@ static int hisax_cs_new(int cardnr, char *id, struct IsdnCard *card,
*cs_out = NULL; *cs_out = NULL;
cs = kzalloc(sizeof(struct IsdnCardState), GFP_ATOMIC); cs = kzalloc(sizeof(struct IsdnCardState), GFP_KERNEL);
if (!cs) { if (!cs) {
printk(KERN_WARNING printk(KERN_WARNING
"HiSax: No memory for IsdnCardState(card %d)\n", "HiSax: No memory for IsdnCardState(card %d)\n",
...@@ -1059,12 +1059,12 @@ static int hisax_cs_new(int cardnr, char *id, struct IsdnCard *card, ...@@ -1059,12 +1059,12 @@ static int hisax_cs_new(int cardnr, char *id, struct IsdnCard *card,
"HiSax: Card Type %d out of range\n", card->typ); "HiSax: Card Type %d out of range\n", card->typ);
goto outf_cs; goto outf_cs;
} }
if (!(cs->dlog = kmalloc(MAX_DLOG_SPACE, GFP_ATOMIC))) { if (!(cs->dlog = kmalloc(MAX_DLOG_SPACE, GFP_KERNEL))) {
printk(KERN_WARNING printk(KERN_WARNING
"HiSax: No memory for dlog(card %d)\n", cardnr + 1); "HiSax: No memory for dlog(card %d)\n", cardnr + 1);
goto outf_cs; goto outf_cs;
} }
if (!(cs->status_buf = kmalloc(HISAX_STATUS_BUFSIZE, GFP_ATOMIC))) { if (!(cs->status_buf = kmalloc(HISAX_STATUS_BUFSIZE, GFP_KERNEL))) {
printk(KERN_WARNING printk(KERN_WARNING
"HiSax: No memory for status_buf(card %d)\n", "HiSax: No memory for status_buf(card %d)\n",
cardnr + 1); cardnr + 1);
...@@ -1123,7 +1123,7 @@ static int hisax_cs_setup(int cardnr, struct IsdnCard *card, ...@@ -1123,7 +1123,7 @@ static int hisax_cs_setup(int cardnr, struct IsdnCard *card,
{ {
int ret; int ret;
if (!(cs->rcvbuf = kmalloc(MAX_DFRAME_LEN_L1, GFP_ATOMIC))) { if (!(cs->rcvbuf = kmalloc(MAX_DFRAME_LEN_L1, GFP_KERNEL))) {
printk(KERN_WARNING "HiSax: No memory for isac rcvbuf\n"); printk(KERN_WARNING "HiSax: No memory for isac rcvbuf\n");
ll_unload(cs); ll_unload(cs);
goto outf_cs; goto outf_cs;
......
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