aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw
diff options
context:
space:
mode:
authorRoland Dreier <roland@topspin.com>2005-04-16 18:26:26 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:26:26 -0400
commit8df8a34de60f8e51c87e5c145679f1a896133199 (patch)
tree2819979a27cc18dbf7086fa6e98e06deca0de19e /drivers/infiniband/hw
parent2a4443a699347cb5ac442491421ce7cd7a12e3e2 (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>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r--drivers/infiniband/hw/mthca/mthca_av.c6
-rw-r--r--drivers/infiniband/hw/mthca/mthca_provider.c2
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 426d32778e9c..e4ee5d024dfb 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,
89on_hca_fail: 89on_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 55a338da9970..daa54db00aa9 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