diff options
author | Roland Dreier <roland@topspin.com> | 2005-04-16 18:26:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:26:26 -0400 |
commit | 8df8a34de60f8e51c87e5c145679f1a896133199 (patch) | |
tree | 2819979a27cc18dbf7086fa6e98e06deca0de19e | |
parent | 2a4443a699347cb5ac442491421ce7cd7a12e3e2 (diff) |
[PATCH] IB/mthca: allow address handle creation in interrupt context
Make address handle verbs usable from interrupt context.
Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_av.c | 6 | ||||
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_provider.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_av.c b/drivers/infiniband/hw/mthca/mthca_av.c index 426d32778e9..e4ee5d024df 100644 --- a/drivers/infiniband/hw/mthca/mthca_av.c +++ b/drivers/infiniband/hw/mthca/mthca_av.c | |||
@@ -63,7 +63,7 @@ int mthca_create_ah(struct mthca_dev *dev, | |||
63 | ah->type = MTHCA_AH_PCI_POOL; | 63 | ah->type = MTHCA_AH_PCI_POOL; |
64 | 64 | ||
65 | if (dev->hca_type == ARBEL_NATIVE) { | 65 | if (dev->hca_type == ARBEL_NATIVE) { |
66 | ah->av = kmalloc(sizeof *ah->av, GFP_KERNEL); | 66 | ah->av = kmalloc(sizeof *ah->av, GFP_ATOMIC); |
67 | if (!ah->av) | 67 | if (!ah->av) |
68 | return -ENOMEM; | 68 | return -ENOMEM; |
69 | 69 | ||
@@ -77,7 +77,7 @@ int mthca_create_ah(struct mthca_dev *dev, | |||
77 | if (index == -1) | 77 | if (index == -1) |
78 | goto on_hca_fail; | 78 | goto on_hca_fail; |
79 | 79 | ||
80 | av = kmalloc(sizeof *av, GFP_KERNEL); | 80 | av = kmalloc(sizeof *av, GFP_ATOMIC); |
81 | if (!av) | 81 | if (!av) |
82 | goto on_hca_fail; | 82 | goto on_hca_fail; |
83 | 83 | ||
@@ -89,7 +89,7 @@ int mthca_create_ah(struct mthca_dev *dev, | |||
89 | on_hca_fail: | 89 | on_hca_fail: |
90 | if (ah->type == MTHCA_AH_PCI_POOL) { | 90 | if (ah->type == MTHCA_AH_PCI_POOL) { |
91 | ah->av = pci_pool_alloc(dev->av_table.pool, | 91 | ah->av = pci_pool_alloc(dev->av_table.pool, |
92 | SLAB_KERNEL, &ah->avdma); | 92 | SLAB_ATOMIC, &ah->avdma); |
93 | if (!ah->av) | 93 | if (!ah->av) |
94 | return -ENOMEM; | 94 | return -ENOMEM; |
95 | 95 | ||
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c index 55a338da997..daa54db00aa 100644 --- a/drivers/infiniband/hw/mthca/mthca_provider.c +++ b/drivers/infiniband/hw/mthca/mthca_provider.c | |||
@@ -315,7 +315,7 @@ static struct ib_ah *mthca_ah_create(struct ib_pd *pd, | |||
315 | int err; | 315 | int err; |
316 | struct mthca_ah *ah; | 316 | struct mthca_ah *ah; |
317 | 317 | ||
318 | ah = kmalloc(sizeof *ah, GFP_KERNEL); | 318 | ah = kmalloc(sizeof *ah, GFP_ATOMIC); |
319 | if (!ah) | 319 | if (!ah) |
320 | return ERR_PTR(-ENOMEM); | 320 | return ERR_PTR(-ENOMEM); |
321 | 321 | ||