Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b52b8002 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
One InfiniBand/RDMA regression fix for 3.3:

 - mlx4 SR-IOV changes added static exported functions, which doesn't
   build on powerpc at least.  Fix from Doug Ledford for this.

* tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  mlx4_core: Exported functions can't be static
parents 16bca1d5 22c8bff6
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -685,7 +685,7 @@ int mlx4_QUERY_PORT_wrapper(struct mlx4_dev *dev, int slave,
	return err;
	return err;
}
}


static int mlx4_QUERY_PORT(struct mlx4_dev *dev, void *ptr, u8 port)
int mlx4_QUERY_PORT(struct mlx4_dev *dev, void *ptr, u8 port)
{
{
	struct mlx4_cmd_mailbox *outbox = ptr;
	struct mlx4_cmd_mailbox *outbox = ptr;


+6 −6
Original line number Original line Diff line number Diff line
@@ -304,7 +304,7 @@ static int mlx4_HW2SW_MPT(struct mlx4_dev *dev, struct mlx4_cmd_mailbox *mailbox
			    MLX4_CMD_TIME_CLASS_B, MLX4_CMD_WRAPPED);
			    MLX4_CMD_TIME_CLASS_B, MLX4_CMD_WRAPPED);
}
}


static int mlx4_mr_reserve_range(struct mlx4_dev *dev, int cnt, int align,
int mlx4_mr_reserve_range(struct mlx4_dev *dev, int cnt, int align,
			  u32 *base_mridx)
			  u32 *base_mridx)
{
{
	struct mlx4_priv *priv = mlx4_priv(dev);
	struct mlx4_priv *priv = mlx4_priv(dev);
@@ -320,14 +320,14 @@ static int mlx4_mr_reserve_range(struct mlx4_dev *dev, int cnt, int align,
}
}
EXPORT_SYMBOL_GPL(mlx4_mr_reserve_range);
EXPORT_SYMBOL_GPL(mlx4_mr_reserve_range);


static void mlx4_mr_release_range(struct mlx4_dev *dev, u32 base_mridx, int cnt)
void mlx4_mr_release_range(struct mlx4_dev *dev, u32 base_mridx, int cnt)
{
{
	struct mlx4_priv *priv = mlx4_priv(dev);
	struct mlx4_priv *priv = mlx4_priv(dev);
	mlx4_bitmap_free_range(&priv->mr_table.mpt_bitmap, base_mridx, cnt);
	mlx4_bitmap_free_range(&priv->mr_table.mpt_bitmap, base_mridx, cnt);
}
}
EXPORT_SYMBOL_GPL(mlx4_mr_release_range);
EXPORT_SYMBOL_GPL(mlx4_mr_release_range);


static int mlx4_mr_alloc_reserved(struct mlx4_dev *dev, u32 mridx, u32 pd,
int mlx4_mr_alloc_reserved(struct mlx4_dev *dev, u32 mridx, u32 pd,
			   u64 iova, u64 size, u32 access, int npages,
			   u64 iova, u64 size, u32 access, int npages,
			   int page_shift, struct mlx4_mr *mr)
			   int page_shift, struct mlx4_mr *mr)
{
{
@@ -457,7 +457,7 @@ int mlx4_mr_alloc(struct mlx4_dev *dev, u32 pd, u64 iova, u64 size, u32 access,
}
}
EXPORT_SYMBOL_GPL(mlx4_mr_alloc);
EXPORT_SYMBOL_GPL(mlx4_mr_alloc);


static void mlx4_mr_free_reserved(struct mlx4_dev *dev, struct mlx4_mr *mr)
void mlx4_mr_free_reserved(struct mlx4_dev *dev, struct mlx4_mr *mr)
{
{
	int err;
	int err;


@@ -852,7 +852,7 @@ int mlx4_fmr_alloc(struct mlx4_dev *dev, u32 pd, u32 access, int max_pages,
}
}
EXPORT_SYMBOL_GPL(mlx4_fmr_alloc);
EXPORT_SYMBOL_GPL(mlx4_fmr_alloc);


static int mlx4_fmr_alloc_reserved(struct mlx4_dev *dev, u32 mridx,
int mlx4_fmr_alloc_reserved(struct mlx4_dev *dev, u32 mridx,
			    u32 pd, u32 access, int max_pages,
			    u32 pd, u32 access, int max_pages,
			    int max_maps, u8 page_shift, struct mlx4_fmr *fmr)
			    int max_maps, u8 page_shift, struct mlx4_fmr *fmr)
{
{
@@ -954,7 +954,7 @@ int mlx4_fmr_free(struct mlx4_dev *dev, struct mlx4_fmr *fmr)
}
}
EXPORT_SYMBOL_GPL(mlx4_fmr_free);
EXPORT_SYMBOL_GPL(mlx4_fmr_free);


static int mlx4_fmr_free_reserved(struct mlx4_dev *dev, struct mlx4_fmr *fmr)
int mlx4_fmr_free_reserved(struct mlx4_dev *dev, struct mlx4_fmr *fmr)
{
{
	if (fmr->maps)
	if (fmr->maps)
		return -EBUSY;
		return -EBUSY;