diff options
author | Julia Lawall <julia@diku.dk> | 2010-06-01 03:26:06 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-01 03:26:06 -0400 |
commit | b42d9165e1e3d92e4e3318642463dbe592a12568 (patch) | |
tree | cbb1df1d5250277146dbff5661a0664f56cb9815 /drivers/isdn/hardware/mISDN | |
parent | 96ed741e15896eea43f7203523db88bc8105c359 (diff) |
drivers/isdn/hardware/mISDN: Use GFP_ATOMIC when a lock is held
The function inittiger is only called from nj_init_card, where a lock is held.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@gfp exists@
identifier fn;
position p;
@@
fn(...) {
... when != spin_unlock_irqrestore
when any
GFP_KERNEL@p
... when any
}
@locked@
identifier gfp.fn;
@@
spin_lock_irqsave(...)
... when != spin_unlock_irqrestore
fn(...)
@depends on locked@
position gfp.p;
@@
- GFP_KERNEL@p
+ GFP_ATOMIC
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/isdn/hardware/mISDN')
-rw-r--r-- | drivers/isdn/hardware/mISDN/netjet.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/isdn/hardware/mISDN/netjet.c b/drivers/isdn/hardware/mISDN/netjet.c index 0a3553df065f..54ae71a907f9 100644 --- a/drivers/isdn/hardware/mISDN/netjet.c +++ b/drivers/isdn/hardware/mISDN/netjet.c | |||
@@ -320,12 +320,12 @@ inittiger(struct tiger_hw *card) | |||
320 | return -ENOMEM; | 320 | return -ENOMEM; |
321 | } | 321 | } |
322 | for (i = 0; i < 2; i++) { | 322 | for (i = 0; i < 2; i++) { |
323 | card->bc[i].hsbuf = kmalloc(NJ_DMA_TXSIZE, GFP_KERNEL); | 323 | card->bc[i].hsbuf = kmalloc(NJ_DMA_TXSIZE, GFP_ATOMIC); |
324 | if (!card->bc[i].hsbuf) { | 324 | if (!card->bc[i].hsbuf) { |
325 | pr_info("%s: no B%d send buffer\n", card->name, i + 1); | 325 | pr_info("%s: no B%d send buffer\n", card->name, i + 1); |
326 | return -ENOMEM; | 326 | return -ENOMEM; |
327 | } | 327 | } |
328 | card->bc[i].hrbuf = kmalloc(NJ_DMA_RXSIZE, GFP_KERNEL); | 328 | card->bc[i].hrbuf = kmalloc(NJ_DMA_RXSIZE, GFP_ATOMIC); |
329 | if (!card->bc[i].hrbuf) { | 329 | if (!card->bc[i].hrbuf) { |
330 | pr_info("%s: no B%d recv buffer\n", card->name, i + 1); | 330 | pr_info("%s: no B%d recv buffer\n", card->name, i + 1); |
331 | return -ENOMEM; | 331 | return -ENOMEM; |