|
@@ -514,6 +514,12 @@ int ib_query_port(struct ib_device *device,
|
|
u8 port_num,
|
|
u8 port_num,
|
|
struct ib_port_attr *port_attr)
|
|
struct ib_port_attr *port_attr)
|
|
{
|
|
{
|
|
|
|
+ if (device->node_type == IB_NODE_SWITCH) {
|
|
|
|
+ if (port_num)
|
|
|
|
+ return -EINVAL;
|
|
|
|
+ } else if (port_num < 1 || port_num > device->phys_port_cnt)
|
|
|
|
+ return -EINVAL;
|
|
|
|
+
|
|
return device->query_port(device, port_num, port_attr);
|
|
return device->query_port(device, port_num, port_attr);
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(ib_query_port);
|
|
EXPORT_SYMBOL(ib_query_port);
|
|
@@ -583,6 +589,12 @@ int ib_modify_port(struct ib_device *device,
|
|
u8 port_num, int port_modify_mask,
|
|
u8 port_num, int port_modify_mask,
|
|
struct ib_port_modify *port_modify)
|
|
struct ib_port_modify *port_modify)
|
|
{
|
|
{
|
|
|
|
+ if (device->node_type == IB_NODE_SWITCH) {
|
|
|
|
+ if (port_num)
|
|
|
|
+ return -EINVAL;
|
|
|
|
+ } else if (port_num < 1 || port_num > device->phys_port_cnt)
|
|
|
|
+ return -EINVAL;
|
|
|
|
+
|
|
return device->modify_port(device, port_num, port_modify_mask,
|
|
return device->modify_port(device, port_num, port_modify_mask,
|
|
port_modify);
|
|
port_modify);
|
|
}
|
|
}
|