git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
drivers
/
infiniband
/
hw
/
mthca
/
mthca_pd.c
diff --git
a/drivers/infiniband/hw/mthca/mthca_pd.c
b/drivers/infiniband/hw/mthca/mthca_pd.c
index
59df516
..
3dbf06a
100644
(file)
--- a/
drivers/infiniband/hw/mthca/mthca_pd.c
+++ b/
drivers/infiniband/hw/mthca/mthca_pd.c
@@
-43,6
+43,8
@@
int mthca_pd_alloc(struct mthca_dev *dev, int privileged, struct mthca_pd *pd)
{
int err = 0;
{
int err = 0;
+ might_sleep();
+
pd->privileged = privileged;
atomic_set(&pd->sqp_count, 0);
pd->privileged = privileged;
atomic_set(&pd->sqp_count, 0);
@@
-64,6
+66,7
@@
int mthca_pd_alloc(struct mthca_dev *dev, int privileged, struct mthca_pd *pd)
void mthca_pd_free(struct mthca_dev *dev, struct mthca_pd *pd)
{
void mthca_pd_free(struct mthca_dev *dev, struct mthca_pd *pd)
{
+ might_sleep();
if (pd->privileged)
mthca_free_mr(dev, &pd->ntmr);
mthca_free(&dev->pd_table.alloc, pd->pd_num);
if (pd->privileged)
mthca_free_mr(dev, &pd->ntmr);
mthca_free(&dev->pd_table.alloc, pd->pd_num);
@@
-77,7
+80,7
@@
int __devinit mthca_init_pd_table(struct mthca_dev *dev)
dev->limits.reserved_pds);
}
dev->limits.reserved_pds);
}
-void mthca_cleanup_pd_table(struct mthca_dev *dev)
+void
__devexit
mthca_cleanup_pd_table(struct mthca_dev *dev)
{
/* XXX check if any PDs are still allocated? */
mthca_alloc_cleanup(&dev->pd_table.alloc);
{
/* XXX check if any PDs are still allocated? */
mthca_alloc_cleanup(&dev->pd_table.alloc);