[openib-general] [PATCH] ib_smi: Add physical port count into agent private structure
Hal Rosenstock
Wed Oct 13 06:25:30 PDT 2004
ib_smi: Add physical port count into agent private structure
(Needed by switch SMI to validate port number in initial/return paths)
Index: ib_smi_priv.h
===================================================================
--- ib_smi_priv.h (revision 977)
+++ ib_smi_priv.h (working copy)
@@ -41,6 +41,7 @@
struct list_head send_posted_list;
spinlock_t send_list_lock;
int port_num;
+ int phys_port_cnt;
struct ib_mad_agent *dr_smp_mad_agent; /* DR SM class */
struct ib_mad_agent *lr_smp_mad_agent; /* LR SM class */
struct ib_mad_agent *pma_mad_agent; /* PerfMgt class */
Index: ib_smi.c
===================================================================
--- ib_smi.c (revision 977)
+++ ib_smi.c (working copy)
@@ -517,7 +517,8 @@
ib_free_recv_mad(mad_recv_wc);
}
-static int ib_agent_port_open(struct ib_device *device, int port_num)
+static int ib_agent_port_open(struct ib_device *device, int port_num,
+ int num_ports)
{
int ret;
u64 iova = 0;
@@ -555,6 +556,7 @@
memset(port_priv, 0, sizeof *port_priv);
port_priv->port_num = port_num;
+ port_priv->phys_port_cnt = num_ports;
port_priv->wr_id = 0;
spin_lock_init(&port_priv->send_list_lock);
INIT_LIST_HEAD(&port_priv->send_posted_list);
@@ -688,7 +690,7 @@
}
for (i = 0; i < num_ports; i++, cur_port++) {
- ret = ib_agent_port_open(device, cur_port);
+ ret = ib_agent_port_open(device, cur_port, num_ports);
if (ret) {
printk(KERN_ERR SPFX "Couldn't open %s port
%d\n",
device->name, cur_port);
More information about the openib-general mailing list