From: Roland Dreier Date: Sat, 16 Apr 2005 22:26:26 +0000 (-0700) Subject: [PATCH] IB/mthca: allow address handle creation in interrupt context X-Git-Tag: v2.6.12-rc3~67 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8df8a34de60f8e51c87e5c145679f1a896133199;p=linux-2.6 [PATCH] IB/mthca: allow address handle creation in interrupt context Make address handle verbs usable from interrupt context. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/infiniband/hw/mthca/mthca_av.c b/drivers/infiniband/hw/mthca/mthca_av.c index 426d32778e..e4ee5d024d 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, 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; diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c index 55a338da99..daa54db00a 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, int err; struct mthca_ah *ah; - ah = kmalloc(sizeof *ah, GFP_KERNEL); + ah = kmalloc(sizeof *ah, GFP_ATOMIC); if (!ah) return ERR_PTR(-ENOMEM);