]> Pileus Git - ~andy/linux/commitdiff
[PATCH] IB/mthca: allow address handle creation in interrupt context
authorRoland Dreier <roland@topspin.com>
Sat, 16 Apr 2005 22:26:26 +0000 (15:26 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 16 Apr 2005 22:26:26 +0000 (15:26 -0700)
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>
drivers/infiniband/hw/mthca/mthca_av.c
drivers/infiniband/hw/mthca/mthca_provider.c

index 426d32778e9c99040d2f7d143e5b2aa97a818e09..e4ee5d024dfbfe982ff93a597be207590afb2d65 100644 (file)
@@ -63,7 +63,7 @@ int mthca_create_ah(struct mthca_dev *dev,
        ah->type = MTHCA_AH_PCI_POOL;
 
        if (dev->hca_type == ARBEL_NATIVE) {
-               ah->av   = kmalloc(sizeof *ah->av, GFP_KERNEL);
+               ah->av   = kmalloc(sizeof *ah->av, GFP_ATOMIC);
                if (!ah->av)
                        return -ENOMEM;
 
@@ -77,7 +77,7 @@ int mthca_create_ah(struct mthca_dev *dev,
                if (index == -1)
                        goto on_hca_fail;
 
-               av = kmalloc(sizeof *av, GFP_KERNEL);
+               av = kmalloc(sizeof *av, GFP_ATOMIC);
                if (!av)
                        goto on_hca_fail;
 
@@ -89,7 +89,7 @@ int mthca_create_ah(struct mthca_dev *dev,
 on_hca_fail:
        if (ah->type == MTHCA_AH_PCI_POOL) {
                ah->av = pci_pool_alloc(dev->av_table.pool,
-                                       SLAB_KERNEL, &ah->avdma);
+                                       SLAB_ATOMIC, &ah->avdma);
                if (!ah->av)
                        return -ENOMEM;
 
index 55a338da9970c3b597be5dda67b15eb5a4d70d24..daa54db00aa9aaa5dff5ad0acbd62cb922ae36be 100644 (file)
@@ -315,7 +315,7 @@ static struct ib_ah *mthca_ah_create(struct ib_pd *pd,
        int err;
        struct mthca_ah *ah;
 
-       ah = kmalloc(sizeof *ah, GFP_KERNEL);
+       ah = kmalloc(sizeof *ah, GFP_ATOMIC);
        if (!ah)
                return ERR_PTR(-ENOMEM);