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

Commit 1eb68b99 authored by Bryan O'Sullivan's avatar Bryan O'Sullivan Committed by Linus Torvalds
Browse files

[PATCH] IB/ipath: purge sps_lid and sps_mlid arrays



The two arrays only had space for 4 units.

Also changed from ipath_set_sps_lid() to ipath_set_lid(); the sps was
leftover.

Signed-off-by: default avatarDave Olson <dave.olson@qlogic.com>
Signed-off-by: default avatarBryan O'Sullivan <bryan.osullivan@qlogic.com>
Cc: "Michael S. Tsirkin" <mst@mellanox.co.il>
Cc: Roland Dreier <rolandd@cisco.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 12eef41f
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -122,8 +122,7 @@ struct infinipath_stats {
	__u64 sps_ports;
	/* list of pkeys (other than default) accepted (0 means not set) */
	__u16 sps_pkeys[4];
	/* lids for up to 4 infinipaths, indexed by infinipath # */
	__u16 sps_lid[4];
	__u16 sps_unused16[4]; /* available; maintaining compatible layout */
	/* number of user ports per chip (not IB ports) */
	__u32 sps_nports;
	/* not our interrupt, or already handled */
@@ -141,10 +140,8 @@ struct infinipath_stats {
	 * packets if ipath not configured, sma/mad, etc.)
	 */
	__u64 sps_krdrops;
	/* mlids for up to 4 infinipaths, indexed by infinipath # */
	__u16 sps_mlid[4];
	/* pad for future growth */
	__u64 __sps_pad[45];
	__u64 __sps_pad[46];
};

/*
+0 −2
Original line number Diff line number Diff line
@@ -811,8 +811,6 @@ int ipath_init_chip(struct ipath_devdata *dd, int reinit)
	/* clear any interrups up to this point (ints still not enabled) */
	ipath_write_kreg(dd, dd->ipath_kregs->kr_intclear, -1LL);

	ipath_stats.sps_lid[dd->ipath_unit] = dd->ipath_lid;

	/*
	 * Set up the port 0 (kernel) rcvhdr q and egr TIDs.  If doing
	 * re-init, the simplest way to handle this is to free
+4 −5
Original line number Diff line number Diff line
@@ -300,9 +300,8 @@ int ipath_layer_set_mtu(struct ipath_devdata *dd, u16 arg)

EXPORT_SYMBOL_GPL(ipath_layer_set_mtu);

int ipath_set_sps_lid(struct ipath_devdata *dd, u32 arg, u8 lmc)
int ipath_set_lid(struct ipath_devdata *dd, u32 arg, u8 lmc)
{
	ipath_stats.sps_lid[dd->ipath_unit] = arg;
	dd->ipath_lid = arg;
	dd->ipath_lmc = lmc;

@@ -316,7 +315,7 @@ int ipath_set_sps_lid(struct ipath_devdata *dd, u32 arg, u8 lmc)
	return 0;
}

EXPORT_SYMBOL_GPL(ipath_set_sps_lid);
EXPORT_SYMBOL_GPL(ipath_set_lid);

int ipath_layer_set_guid(struct ipath_devdata *dd, __be64 guid)
{
@@ -632,9 +631,9 @@ int ipath_layer_open(struct ipath_devdata *dd, u32 * pktmax)

	if (*dd->ipath_statusp & IPATH_STATUS_IB_READY)
		intval |= IPATH_LAYER_INT_IF_UP;
	if (ipath_stats.sps_lid[dd->ipath_unit])
	if (dd->ipath_lid)
		intval |= IPATH_LAYER_INT_LID;
	if (ipath_stats.sps_mlid[dd->ipath_unit])
	if (dd->ipath_mlid)
		intval |= IPATH_LAYER_INT_BCAST;
	/*
	 * do this on open, in case low level is already up and
+1 −1
Original line number Diff line number Diff line
@@ -129,7 +129,7 @@ u16 ipath_layer_get_bcast(struct ipath_devdata *dd);
u32 ipath_layer_get_cr_errpkey(struct ipath_devdata *dd);
int ipath_layer_set_linkstate(struct ipath_devdata *dd, u8 state);
int ipath_layer_set_mtu(struct ipath_devdata *, u16);
int ipath_set_sps_lid(struct ipath_devdata *, u32, u8);
int ipath_set_lid(struct ipath_devdata *, u32, u8);
int ipath_layer_send_hdr(struct ipath_devdata *dd,
			 struct ether_header *hdr);
int ipath_verbs_send(struct ipath_devdata *dd, u32 hdrwords,
+1 −1
Original line number Diff line number Diff line
@@ -308,7 +308,7 @@ static int recv_subn_set_portinfo(struct ib_smp *smp,
		/* Must be a valid unicast LID address. */
		if (lid == 0 || lid >= IPS_MULTICAST_LID_BASE)
			goto err;
		ipath_set_sps_lid(dev->dd, lid, pip->mkeyprot_resv_lmc & 7);
		ipath_set_lid(dev->dd, lid, pip->mkeyprot_resv_lmc & 7);
		event.event = IB_EVENT_LID_CHANGE;
		ib_dispatch_event(&event);
	}
Loading