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

Commit f4f3d0f0 authored by Roland Dreier's avatar Roland Dreier
Browse files

IB/mthca: Fix section mismatches



Commit b3b30f5e ("IB/mthca: Recover from catastrophic errors")
introduced some section mismatch breakage, because the error recovery
code tears down and reinitializes the device, which calls into lots of
code originally marked __devinit and __devexit from regular .text.

Fix this by getting rid of these now-incorrect section markers.

Reported by Randy Dunlap <randy.dunlap@oracle.com>.

Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 3c8edf0e
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@
 * $Id: mthca_av.c 1349 2004-12-16 21:09:43Z roland $
 */

#include <linux/init.h>
#include <linux/string.h>
#include <linux/slab.h>

@@ -323,7 +322,7 @@ int mthca_ah_query(struct ib_ah *ibah, struct ib_ah_attr *attr)
	return 0;
}

int __devinit mthca_init_av_table(struct mthca_dev *dev)
int mthca_init_av_table(struct mthca_dev *dev)
{
	int err;

+1 −2
Original line number Diff line number Diff line
@@ -36,7 +36,6 @@
 * $Id: mthca_cq.c 1369 2004-12-20 16:17:07Z roland $
 */

#include <linux/init.h>
#include <linux/hardirq.h>

#include <asm/io.h>
@@ -970,7 +969,7 @@ void mthca_free_cq(struct mthca_dev *dev,
	mthca_free_mailbox(dev, mailbox);
}

int __devinit mthca_init_cq_table(struct mthca_dev *dev)
int mthca_init_cq_table(struct mthca_dev *dev)
{
	int err;

+10 −11
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@
 * $Id: mthca_eq.c 1382 2004-12-24 02:21:02Z roland $
 */

#include <linux/init.h>
#include <linux/errno.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
@@ -479,7 +478,7 @@ static irqreturn_t mthca_arbel_msi_x_interrupt(int irq, void *eq_ptr)
	return IRQ_HANDLED;
}

static int __devinit mthca_create_eq(struct mthca_dev *dev,
static int mthca_create_eq(struct mthca_dev *dev,
			   int nent,
			   u8 intr,
			   struct mthca_eq *eq)
@@ -664,7 +663,7 @@ static void mthca_free_irqs(struct mthca_dev *dev)
				 dev->eq_table.eq + i);
}

static int __devinit mthca_map_reg(struct mthca_dev *dev,
static int mthca_map_reg(struct mthca_dev *dev,
			 unsigned long offset, unsigned long size,
			 void __iomem **map)
{
@@ -691,7 +690,7 @@ static void mthca_unmap_reg(struct mthca_dev *dev, unsigned long offset,
	iounmap(map);
}

static int __devinit mthca_map_eq_regs(struct mthca_dev *dev)
static int mthca_map_eq_regs(struct mthca_dev *dev)
{
	if (mthca_is_memfree(dev)) {
		/*
@@ -781,7 +780,7 @@ static void mthca_unmap_eq_regs(struct mthca_dev *dev)
	}
}

int __devinit mthca_map_eq_icm(struct mthca_dev *dev, u64 icm_virt)
int mthca_map_eq_icm(struct mthca_dev *dev, u64 icm_virt)
{
	int ret;
	u8 status;
@@ -825,7 +824,7 @@ void mthca_unmap_eq_icm(struct mthca_dev *dev)
	__free_page(dev->eq_table.icm_page);
}

int __devinit mthca_init_eq_table(struct mthca_dev *dev)
int mthca_init_eq_table(struct mthca_dev *dev)
{
	int err;
	u8 status;
+1 −1
Original line number Diff line number Diff line
@@ -317,7 +317,7 @@ err:
	return ret;
}

void __devexit mthca_free_agents(struct mthca_dev *dev)
void mthca_free_agents(struct mthca_dev *dev)
{
	struct ib_mad_agent *agent;
	int p, q;
+14 −15
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ static struct mthca_profile default_profile = {
	.uarc_size	   = 1 << 18,	/* Arbel only */
};

static int __devinit mthca_tune_pci(struct mthca_dev *mdev)
static int mthca_tune_pci(struct mthca_dev *mdev)
{
	int cap;
	u16 val;
@@ -143,7 +143,7 @@ static int __devinit mthca_tune_pci(struct mthca_dev *mdev)
	return 0;
}

static int __devinit mthca_dev_lim(struct mthca_dev *mdev, struct mthca_dev_lim *dev_lim)
static int mthca_dev_lim(struct mthca_dev *mdev, struct mthca_dev_lim *dev_lim)
{
	int err;
	u8 status;
@@ -255,7 +255,7 @@ static int __devinit mthca_dev_lim(struct mthca_dev *mdev, struct mthca_dev_lim
	return 0;
}

static int __devinit mthca_init_tavor(struct mthca_dev *mdev)
static int mthca_init_tavor(struct mthca_dev *mdev)
{
	u8 status;
	int err;
@@ -333,7 +333,7 @@ err_disable:
	return err;
}

static int __devinit mthca_load_fw(struct mthca_dev *mdev)
static int mthca_load_fw(struct mthca_dev *mdev)
{
	u8 status;
	int err;
@@ -379,7 +379,7 @@ err_free:
	return err;
}

static int __devinit mthca_init_icm(struct mthca_dev *mdev,
static int mthca_init_icm(struct mthca_dev *mdev,
			  struct mthca_dev_lim *dev_lim,
			  struct mthca_init_hca_param *init_hca,
			  u64 icm_size)
@@ -575,7 +575,7 @@ static void mthca_free_icms(struct mthca_dev *mdev)
	mthca_free_icm(mdev, mdev->fw.arbel.aux_icm);
}

static int __devinit mthca_init_arbel(struct mthca_dev *mdev)
static int mthca_init_arbel(struct mthca_dev *mdev)
{
	struct mthca_dev_lim        dev_lim;
	struct mthca_profile        profile;
@@ -683,7 +683,7 @@ static void mthca_close_hca(struct mthca_dev *mdev)
		mthca_SYS_DIS(mdev, &status);
}

static int __devinit mthca_init_hca(struct mthca_dev *mdev)
static int mthca_init_hca(struct mthca_dev *mdev)
{
	u8 status;
	int err;
@@ -720,7 +720,7 @@ err_close:
	return err;
}

static int __devinit mthca_setup_hca(struct mthca_dev *dev)
static int mthca_setup_hca(struct mthca_dev *dev)
{
	int err;
	u8 status;
@@ -875,8 +875,7 @@ err_uar_table_free:
	return err;
}

static int __devinit mthca_request_regions(struct pci_dev *pdev,
					   int ddr_hidden)
static int mthca_request_regions(struct pci_dev *pdev, int ddr_hidden)
{
	int err;

@@ -928,7 +927,7 @@ static void mthca_release_regions(struct pci_dev *pdev,
			   MTHCA_HCR_SIZE);
}

static int __devinit mthca_enable_msi_x(struct mthca_dev *mdev)
static int mthca_enable_msi_x(struct mthca_dev *mdev)
{
	struct msix_entry entries[3];
	int err;
Loading